ADR-0046 — integrated VS Code Query Lab and application-owned capture¶
Accepted 12 October 2026. VSC-01–05 complete the approved follow-on.
Use one optional TypeScript/React VS Code extension for Query Lab, Doctor and Verify. The .NET compiler, EF finalized model/state, Neo4j.Driver and existing evidence APIs retain authority. React consumes validated projections of v1 evidence. Typed compiler snapshots drive graph/scopes; there is no second Cypher parser. Statement/plan fingerprints detect inconsistent saved content, not author authenticity. C# excerpts are declared text, never executable paths or inferred source maps.
Application-host capture is a one-shot versioned stdin/stdout protocol. The sample owns context/catalog/configuration and reuses existing read-only inspection/rollback verification; no generic assembly loader or provider package API was added. The extension validates workspace trust, canonical DLL containment, operation/disclosure consent, request identity and bounded output/lifetime. Cancellation terminates the owned process tree; this is not an OS sandbox or detached-service containment guarantee. No background server or implicit DB/AI call is introduced.
Acceptance: 28 parser/render/integrity cases; 10 host/process cases; trust/consent/message adapter checks; actual installed VSIX in light/trusted and dark/restricted VS Code 1.106.2; browser keyboard/narrow/forced-color/CSP checks; one Community live bridge fact with three V1 plans and independent V2 comparisons, rejected wrong run and graph/schema preservation. Windows only; other platforms and larger graph/resource behavior remain unqualified. Resource guard deferred starts below headroom and all owned fixtures/editors were removed. GitHub CI remains manual, no publication.
The standalone assessment recommends deferring an Avalonia Workbench until real recurring editor-independent demand exists. Reuse .NET services/evidence if promoted, but budget a separate AXAML/graph/accessibility/platform implementation. MCP Apps remains a future adapter. The foundation candidate 2c4c3f5 and its four package files remain immutable.