A working Jarvis where every basic capability the user described — voice, listening, seeing, camera (live + captured), facts, debugging dialogs, basic UI elements — actually works end-to-end. Closes the CRITICAL audit findings from 2026-05-12 that break basic capabilities via tactical patches (some will be re-fixed during the API migration; v0.1 ships working NOW). Excludes API migration epics and v1.1+ deferred features.
Everything CRITICAL/HIGH from the 2026-05-12 audits that wasn't a basic-capability blocker, plus opportunistic medium/low cleanup. Tightens the observability surface, closes the wired-but-dead gaps that survive v0.1.
API migration phases M-0 through M-3: scaffold JarvisAPI package, harness substrate, behavioral boundary gates, dual-version handshake, then land Self / Settings / Diagnostics typed surfaces. Closes B-08. HUD state moves to Diagnostics.
API migration phases M-4 through M-7: Memory / Vision / Voice / Turn typed surfaces. Closes carry-forward bugs B-03, B-04, B-05, B-06 (partial). Per-turn OutboundBatcher partitioning. Webview retires sessionHistory push. BUS_PROTOCOL_VERSION bumps to 2.4.0 strict after N>=3 day soak.
Code-commenting style applied to load-bearing files (AppDelegate, AgentOrchestrator, WebviewBridge, MCPRuntime, MCPClient, Voice/Memory/Vision actors). Stale plan-id grep gate. Doc reconciliation. First-launch experience polish. Retroactive Nyquist sweep deferred until here.
Explicit v1.1+ deferrals from the migration plan: Orpheus TTS tier 2 activation, WhisperKit STT fallback, Voice Log menu (B-07), Vision T2 sidecar, presence pipeline, multi-client subscription, F-Q-E query cancellation, F-15 / OQ-T2 / OQ-T4 polish, leaf-package commenting.