docs: supervision tree ownership map, naming issues documented
Some checks failed
Build and Push / Build and Push Docker Image (push) Failing after 2s

- Mapped 18 top-level children + 2 nested supervisors in application.ex
- Ownership: Is->PacketPipelineSupervisor (ingestion), PartitionManager (retention),
  SpatialPubSub (broadcast), CleanupScheduler+PacketCleanupWorker (bad-packet cleanup)
- Removed Exq comment fossil from application.ex:72
- Known naming issues: PacketCleanupWorker only handles bad_packets,
  PostgresNotifier scope narrower than name, PacketConsumer is 776-line multi-concern
- Handoff document: marked maintainability #2 as done
This commit is contained in:
Graham McIntire 2026-07-26 14:59:55 -05:00
parent a4991c1401
commit 4e92bbfc9f
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59
2 changed files with 2 additions and 3 deletions

View file

@ -132,8 +132,8 @@ MIX_ENV=prod mix assets.deploy
1. Split `AprsmeWeb.MapLive.Index` into focused state, event, subscription, and
rendering modules. Preserve LiveView behavior with integration tests first.
2. Review the now-smaller supervision tree for naming and ownership consistency;
document which process owns ingestion, retention, broadcast, and cleanup.
2. ~~Review the now-smaller supervision tree for naming and ownership consistency;
document which process owns ingestion, retention, broadcast, and cleanup.~~ **DONE** — supervision tree mapped (18 top-level children + 2 nested supervisors). Ownership documented: `Is``PacketPipelineSupervisor` (ingestion), `PartitionManager` (retention), `SpatialPubSub` (broadcast), `CleanupScheduler` + `PacketCleanupWorker` (bad-packet cleanup). Known naming issues documented but not changed: `PacketCleanupWorker` only handles bad_packets (not packets), `PostgresNotifier` is narrower than name implies, `PacketConsumer` is 776 lines of multi-concern logic, `Workers` sub-namespace has one module.
3. ~~Continue deleting obsolete configuration keys, telemetry names, docs, mocks,
and aliases uncovered by the removed modules.~~ **DONE** — removed stale `.dialyzer_ignore.exs` entry, orphaned `:initialize_replay_delay` config key, updated `CLAUDE.md` StreamingPacketsPubSub → SpatialPubSub reference. No stale telemetry/metric or mock references remain.
4. ~~Review callsign naming. Ingestion currently accepts safe APRS transport

View file

@ -69,7 +69,6 @@ defmodule Aprsme.Application do
children = maybe_add_cluster_components(children)
children = maybe_add_is_supervisor(children, Application.get_env(:aprsme, :env))
# Exq is now started automatically via config, not in supervision tree
# See https://hexdocs.pm/elixir/Supervisor.html
# for other strategies and supported options