HUD: DevOverlay hollow shell — DevSnapshotEmitter never built, broadcaster drained to /dev/null #42
Closed
opened 2026-05-12 19:08:09 +00:00 by KofTwentyTwo
·
1 comment
No Branch/Tag Specified
develop
ci/secrets-historical-baseline
feature/security-findings-2026-10
dependabot/npm_and_yarn/webview/npm_and_yarn-3ac77625be
dependabot/npm_and_yarn/webview/packages/bus/npm_and_yarn-c86b58a346
dependabot/npm_and_yarn/webview/vitejs/plugin-react-6.0.2
dependabot/npm_and_yarn/webview/vite-8.0.13
dependabot/npm_and_yarn/webview/zustand-5.0.13
dependabot/npm_and_yarn/webview/types/node-25.9.1
dependabot/npm_and_yarn/webview/vitest-4.1.6
dependabot/github_actions/actions/setup-node-6
dependabot/github_actions/github/codeql-action-4
dependabot/github_actions/actions/checkout-6
dependabot/github_actions/actions/cache-5
dependabot/github_actions/pnpm/action-setup-6
feat/local-first-llm-routing
docs/local-first-llm-routing-spec
fix/v0.2-wave-1-code-fixes
docs/v0.2-wave-1-doc-drift
docs/handoff-2026-05-14
docs/multi-runner-inventory
docs/ollama-baseline-58
fix/ci-env-harness-sqlite-voice-warmup
fix/ci-xcode-26-and-batcher-timing
chore/typecheck-blocking
fix/hud-typecheck-strict-undefined
wip/voice-log-menu-stash4
v0.1.0-dev.71
v0.1.0-dev.68
v0.1.0-dev.64
v0.1.0-dev.50
Labels
Clear labels
area:agent
area:build
area:bus
area:devtool
area:hud
area:logging
area:mcp
area:memory
area:vision
area:voice
audit-finding
bug
carry-forward
comment-cleanup
dependencies
documentation
duplicate
enhancement
epic
good first issue
help wanted
invalid
javascript
migration
question
severity:critical
severity:high
severity:low
severity:medium
wontfix
Something isn't working
Comment / docstring cleanup per .planning/code-commenting-guide.md
Dependency updates
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Pull requests that update javascript code
Further information is requested
This will not be worked on
Milestone
No items
No Milestone
v0.1 — It actually works (basic capabilities)
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: KofTwentyTwo/Jarvis#42
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
DevOverlay is a hollow shell.
DevOverlayWindowopens with a defaultDevOverlayViewModelholdingDevSnapshot.initial. The.devOverlaybroadcaster subscription onAppDelegate.swift:1808-1813drains events into_with a comment "reserved for the DevOverlay emitter wiring in a follow-on plan."DevOverlayBridgeis never instantiated.DevSnapshotEmitterexists in AgentCore but is never constructed. Opening the overlay shows static initial values (state=idle, 0 tokens, empty turn id) forever.Evidence
App/AppDelegate.swift:2652-2659(toggleDevOverlay())App/AppDelegate.swift:1803-1813:packages/DevOverlay/Sources/DevOverlay/DevOverlayBridge.swift— exists, never instantiatedpackages/AgentCore/Sources/AgentOrchestrator/DevSnapshotEmitter.swift— exists, fully implemented, has tests;grep -rn DevSnapshotEmitter App/returns zero hits except a stale comment atAppDelegate.swift:381Root cause / hypothesis
Three independent breaks: emitter never built, broadcaster subscriber drains to
_, bridge never attached. Same calibration-bug shape as the rest of the audit.Designed flow:
Built flow:
Recommended fix
In
installAgent(where broadcaster exists):DevSnapshotEmittersubscribing to orchestrator eventsDevOverlayBridge.attach(channel: emitter.snapshotChannel)DevOverlayWindowso it gets the liveDevOverlayViewModelreferenceThe intended flow from the audit's "as designed" diagram should land verbatim.
User intent (per devoverlay-diagnosis.md): state / last-5 tools / token counters / latency. PLUS missing-but-wanted: subsystem health (BootHealth), HUD/voice/presence state fields, live log stream from every part of system (no broadcast handler exists for swift-log yet).
Test
lastFiveToolCalls,tokenCount,currentTurnIdpopulated within 1stool_useevent → DevOverlayViewModel'sapply()is called with that tool callSource
.planning/audit-2026-05-12/bus-hud-audit.md(2026-05-12) — finding S1 (DevOverlay).planning/audit-2026-05-12/devoverlay-diagnosis.md(2026-05-12) — detailed diagnosisCross-references
Confirmed wired on develop: DevSnapshotEmitter built end-to-end in
50c2783(4-tab AppKit NSPanel), live log stream wired in6ea2852. Verified by AppDelegate import + tests in App/Tests/AppTests. Closing — was already done at the time of yesterday's handoff but never formally closed.