diff --git a/graph/insights/insight-voice-channel-cleanup-auto-unpublishes-scorecards-in-fb3355.md b/graph/insights/insight-voice-channel-cleanup-auto-unpublishes-scorecards-in-fb3355.md new file mode 100644 index 00000000000..e76e2f1712a --- /dev/null +++ b/graph/insights/insight-voice-channel-cleanup-auto-unpublishes-scorecards-in-fb3355.md @@ -0,0 +1,32 @@ +--- +id: fb33558f-0419-433d-afcf-8e6edef12957 +type: insight +title: "Insight: Voice channel cleanup auto-unpublishes scorecards — intended behavior" +tags: [major-domo, scorebug, voice-cleanup, scorecard-tracker, discord, insight] +importance: 0.55 +confidence: 0.8 +created: "2026-02-20T20:30:21.058893+00:00" +updated: "2026-02-20T20:30:21.058893+00:00" +--- + +# Voice Channel Cleanup Auto-Unpublishes Scorecards + +## Project +major-domo / discord-app-v2 + +## File +`commands/voice/cleanup_service.py` — `VoiceChannelCleanupService` + +## Behavior +`VoiceChannelCleanupService` automatically calls `scorecard_tracker.unpublish_scorecard()` when a voice channel is: +- Empty for 5+ minutes +- Manually deleted +- Found stale on startup + +This removes the scorecard from `data/scorecards.json`. + +## Downstream Effect +When the live scorebug tracker runs, it sees no published scorecards and hides `#live-sba-scores`. This is **intentional** — game tracking in SBA is tied to voice channel lifecycle. + +## Why This Matters +During testing or debugging, if no voice channel exists, the scorebug tracker will appear to silently do nothing (or hide channels) even if games are active. The channel/scorecard must be published first. This caused confusion when testing the scorebug system in isolation.