Block a user
Incidents never record resolved_at, blocking history scrub
Incident severity is stamped once at creation and never re-evaluated
Bulk reprocess calls stored without a transcript
Scope grew. The AI-off window of 2026-08-19 23:05 to 2026-08-20 02:14 UTC added roughly 2,322 more calls with audio but no transcript (see CORRELATION_REVIEW.md). These are invisible to the…
Correlation has no non-AI fallback: a full AI outage produces a 100% orphan rate for its whole duration
Correlation has no non-AI fallback: a full AI outage produces a 100% orphan rate for its whole duration
Closing — this is expected behaviour, not a defect.
routers/upload.py:260-285 gates transcription on stt_enabled and correlation on correlation_enabled. Both flags were deliberately set to…
unit-continuity correlation path never writes corr_matched_units, so the debug view can't show why it matched
Correlation has no non-AI fallback: a full AI outage produces a 100% orphan rate for its whole duration
Scene over-splitting: one radio conversation becomes two incidents
New evidence from a rules-only-period debug_correlation() pull (100 incidents / 2322 orphans, 2026-08-18 16:47Z - 2026-08-20 02:22Z, all on the same talkgroup, all pre the 08-19 00:49Z LLM…
Audio regression: Discord voice and call recording pull from Icecast instead of PulseAudio
node-002 dashboard is still on first-boot default credentials
No alerting when an AI provider account runs dry or a model is retired
Firestore rules and indexes are in source control but never deployed
upload.py compares node API keys with != instead of secrets.compare_digest
Unpinned base images: Python major version can change on rebuild
geocode_max_km=40 may be rejecting legitimate MTA locations
10 pre-existing test failures in test_mqtt_handler and test_node_sweeper
Member and node write endpoints are platform-admin-only, blocking org owners
POST /calls/{id}/reprocess is unmetered spend for any authenticated user
Bulk reprocess calls stored without a transcript