Network Graph
What actually connects to what.
Every file in this repo — code, docs, screenshots, roadmap sections — run through graphify, which extracted a real knowledge graph: AST analysis for code, an LLM read for docs and images, then community detection to find the clusters. Nothing here is hand-drawn.
Last rebuilt 2026-08-03 against 142 changed files. That pass re-extracted code structure only — every module, class and function is current, including the audio bridge, the hop/window analysis layer and the latency instrumentation. Document and image nodes are carried over from the previous full extraction and have not been re-read since, so prose-level relationships lag the code by a few rounds. Saying so is cheaper than letting you assume otherwise.
Drag to pan, scroll to zoom, click a node for its details and neighbors, search the sidebar for anything by name. Best on a larger screen — use "Open fullscreen" on mobile.
God nodes (the real core abstractions)
Highest-degree nodes in the graph — the things everything else routes through:
BulbController— 47 edges. Every device action in the backend funnels through this one class.get_controller_or_404()— 36 edges. The lookup guard every route handler calls before touching a bulb.make_bands()— 29 edges. The test-suite helper that fabricates band energies; nearly every audio test starts here.trust()— 29 edges. Reverse-proxy trust resolution, exercised across the whole security surface.make_ctx()— 28 edges. Builds the per-session audio context every mode reads and mutates._load()— 26 edges. Auth state read on every request — which is why a half-written state file once bricked the dashboard.
Surprising connections
Edges the extractor found that weren't obvious from reading any single file:
- The iteration write-up template and the roadmap's "scale and honesty" notes are semantically similar — both independently landed on "this is optionality, not a delivery promise." iterations/README.md → roadmap/README.md
network_mode: hostin docker-compose.yml is conceptually tied to the discovery skill — the UDP broadcast discovery literally cannot work without it. docker-compose.yml → .claude/skills/bulb-dashboard-discovery/SKILL.md- Discovery's
_scan_lockconcurrency guard and audio'sBulbSenderdwell-rate thread are the same non-blocking pattern, invented independently in two unrelated subsystems. iterations/001-network-auto-discovery/README.md → iterations/003-audio-engine-v2/README.md
All 240 communities
The 136 clusters with five or more members, largest first — search for any of them by name in the graph above. A further 104 clusters are smaller than that and are omitted here rather than padding the list.
- Frontend Dashboard App (95)
- Backend API Routes (93)
- Audio Mode Tests (65)
- PIN Hardening Tests (48)
- API Schemas & Scheduling Routes (46)
- Security Audit Log (46)
- Audio Presets & Schedule Engine (45)
- Backup & Restore (44)
- Orchestration & Observability Tests (44)
- In-App Docs Library (43)
- Audio Bridge Protocol Tests (43)
- Audio Session Routes (40)
- bulbctl CLI (39)
- CLI Tests (39)
- Host Audio Bridge Tool (39)
- Scene & Preset Routes (38)
- Reverse Proxy Handling (38)
- Photosensitivity Safety Cap (36)
- Audio Test Fixtures (36)
- Light Show Capture & Replay (35)
- Audio Analysis Core (33)
- Observability Tests (32)
- Reverse Proxy Tests (32)
- Music Reactive Lighting (32)
- Api Rate Limit Tests (29)
- Audio Signal Tests (29)
- Remote Access Status Tests (29)
- System Observability Routes Tests (29)
- Audio Input Tests (28)
- Network Health Tests (28)
- Smoke Test (28)
- Audio Bridge (27)
- Config (27)
- Security Audit Tests (27)
- Network Health (25)
- Remote Access Status (25)
- Remote Auth (25)
- Audio Latency Instrumentation Tests (25)
- Backup Restore Tests (25)
- Observability (24)
- Audio Session Management Tests (24)
- Remote Auth Tests (24)
- Discovery (23)
- Control (23)
- Main (22)
- Api Rate Limit (21)
- Audio Reactive (21)
- Bulb Manager (21)
- Audio Modes Regression Tests (21)
- Observability (20)
- Remote Auth (20)
- Audio Fuzz (19)
- Main Audio Routes Tests (19)
- Audio Reactive (18)
- Live Stream (18)
- Conftest (18)
- Audio Api Tests (18)
- Audio Watchdog Tests (18)
- Reverse Proxy Tests (18)
- FEATURE PROPOSAL V2 (18)
- Secrets Env (17)
- Audio Latency Instrumentation Tests (17)
- Live Min Dwell Tests (17)
- Secrets Tests (17)
- Bulb Manager (16)
- Bulb Manager (16)
- Audio Hop Window Tests (16)
- Audio Perf And Tempo Tests (16)
- Audio Reactive (15)
- Audio Signal (15)
- Auth State Durability Tests (15)
- SKILL (15)
- Audio Reactive (14)
- Audio Reactive (14)
- Capture Sources (14)
- Main (14)
- Genre Presets Tests (14)
- Per Bulb Overrides Tests (14)
- Common (14)
- Audio Latency (13)
- Audio Latency (13)
- Audio Reactive (13)
- Audio Reactive (13)
- Remote Auth (13)
- Remote Auth (13)
- Audio Hop Window Tests (13)
- Live Min Dwell Tests (13)
- Week 2 Remote Access And Security (13)
- SKILL (12)
- Audio Session Wiring Tests (12)
- Security Audit Tests (12)
- Sbd Native Audio (12)
- Conftest (11)
- Analytics Tests (11)
- Audio Golden Tests (11)
- Roadmap Archive (11)
- README (11)
- Week 1 Audio And Orchestration (11)
- SKILL (10)
- Audio Latency (10)
- Capture Sources (10)
- Auth Tests (10)
- Orchestration Presets Tests (10)
- Zones Tests (10)
- README (10)
- CHANGELOG (9)
- SKILL (9)
- Analytics (9)
- Observability (9)
- Remote Auth (9)
- Reverse Proxy Tests (9)
- README (9)
- AGENTS (8)
- Audio Hop (8)
- Audio Signal (8)
- Audio Latency Tests (8)
- Color Tests (8)
- Power Tests (8)
- Reverse Proxy Tests (8)
- Roadmap Active (8)
- README (8)
- README (8)
- Audio Hop (7)
- Bulb Manager (7)
- Main (7)
- Scenes Tests (7)
- Secrets Tests (7)
- Roadmap Data (7)
- Scan Secrets (7)
- Sync Roadmap Status (7)
- Variants (7)
- Audio Reactive (6)
- Bulb Manager (5)
- Observability (5)
- Backup Restore Tests (5)
- README (5)
This graph is a point-in-time snapshot — regenerating it (/graphify .) after major changes will pick up new files and refresh the clusters. It isn't wired to auto-rebuild on push.