Context
Spec reconciliation after #222/#223 found that openspec/specs/ has no adt-mcp domain at all — every implemented change's delta still lives under openspec/changes/ unarchived. Several changes are fully implemented but were never verified and archived:
Tasks all checked, spec delta needs verify-then-archive:
add-delegated-assistant-read-scope (5/5) — spot-checked consistent with code
add-flow-index-only (8/8)
arc-1-feature-parity (41/41)
add-aclass-parser (all [x], numbered format)
classify-atc-as-read-analysis (3/3) — spec drift fixed in follow-up PR
Feature shipped but tasks never ticked:
add-mcp-http-transport (0/35 unchecked, but src/lib/http/ fully exists — auth modes, sessions, changesets all present; packages/adt-mcp/AGENTS.md already references its spec as canonical)
Work
For each: verify spec delta against code (fix delta where it drifted, like the ATC reclassification revert in #173), tick completed tasks, then archive via the /opsx:archive flow so requirements land in openspec/specs/<domain>/.
Risk of not doing this
openspec/specs/ is supposed to be the source of truth; with deltas unarchived, spec-vs-code drift is invisible — the ATC read vs safe_execute contradiction survived for weeks.
Context
Spec reconciliation after #222/#223 found that
openspec/specs/has noadt-mcpdomain at all — every implemented change's delta still lives underopenspec/changes/unarchived. Several changes are fully implemented but were never verified and archived:Tasks all checked, spec delta needs verify-then-archive:
add-delegated-assistant-read-scope(5/5) — spot-checked consistent with codeadd-flow-index-only(8/8)arc-1-feature-parity(41/41)add-aclass-parser(all[x], numbered format)classify-atc-as-read-analysis(3/3) — spec drift fixed in follow-up PRFeature shipped but tasks never ticked:
add-mcp-http-transport(0/35 unchecked, butsrc/lib/http/fully exists — auth modes, sessions, changesets all present;packages/adt-mcp/AGENTS.mdalready references its spec as canonical)Work
For each: verify spec delta against code (fix delta where it drifted, like the ATC reclassification revert in #173), tick completed tasks, then archive via the
/opsx:archiveflow so requirements land inopenspec/specs/<domain>/.Risk of not doing this
openspec/specs/is supposed to be the source of truth; with deltas unarchived, spec-vs-code drift is invisible — the ATCreadvssafe_executecontradiction survived for weeks.