STATE.a2ml (and sibling 6a2 files) describe a project state that two things have since overtaken: the migration's CI fixes, and the Stage-0 spike outcome in #39. Because the migration direction is actively contested/maintainer-owned, this is filed for reconciliation rather than auto-edited.
1. Stale CI reality
STATE.a2ml [ci-reality] / [blockers-and-issues] (≈L37, L41) state:
"CI main red on pre-existing ReScript breakage (Type Check / Lint / Format / Spec / Schema / Doctor) … do NOT fix in ReScript"
But post-migration those jobs are green (verified on PRs #54/#55: Type Check ✅ Lint ✅ Format ✅ Test ✅ Extended Tests ✅). The only reds were:
→ Update ci-reality to reflect green ReScript-era jobs and the two real items (one fixed, one upstream).
2. Superseded migration framing (Ephapax → AffineScript)
STATE.a2ml still encodes D3 = "svalinn → Ephapax" as the live decision (L14 purpose "migrating to Ephapax (Decision D3)"; L22–26 route-to-MVP "Ephapax port"; L32–34 blockers; L36 "PR #32 contradicts D3"; L41 "superseded by D3"). Per #39, the Stage-0 spike concluded Ephapax is not application-ready and the live direction is ReScript → AffineScript, with Ephapax deferred to a future linear security-core substrate.
So STATE.a2ml (decisions D3, route-to-mvp, blockers) and docs/ephapax-migration/HANDOFF.adoc are out of step with #39. Note PR #52 (merged) added the Ephapax charter after #39's reframe — the repo currently contradicts itself.
→ Align the 6a2 decision record + route-to-MVP with the AffineScript direction (or supersede D3 explicitly), and mark HANDOFF.adoc historical re: target language (its migration-map methodology still applies with AffineScript substituted — the charter itself already says so).
3. Record the open follow-ups
Add to decisions/debt/next-actions: SonarCloud toggle (#56), Hypatia/standards (#57), dev-tooling repoint (#58), doc-accuracy (#59).
Acceptance
Found via the wrap-up audit of the #54 session.
STATE.a2ml(and sibling 6a2 files) describe a project state that two things have since overtaken: the migration's CI fixes, and the Stage-0 spike outcome in #39. Because the migration direction is actively contested/maintainer-owned, this is filed for reconciliation rather than auto-edited.1. Stale CI reality
STATE.a2ml[ci-reality]/[blockers-and-issues](≈L37, L41) state:But post-migration those jobs are green (verified on PRs #54/#55: Type Check ✅ Lint ✅ Format ✅ Test ✅ Extended Tests ✅). The only reds were:
Build Binaries— fixed (fix(ci): build the real gateway entrypoint, not the never-created src/main.ts #55, then fix(ci): build svalinn binary from the real entrypoint (MVP gateway) #54 refactor todeno task build)scan / Hypatia— upstreamstandardsbug, tracked in scan / Hypatia red on every PR: undefined variablereal_subdirscrashes the shared standards scanner (fix lives in hyperpolymath/standards) #57→ Update
ci-realityto reflect green ReScript-era jobs and the two real items (one fixed, one upstream).2. Superseded migration framing (Ephapax → AffineScript)
STATE.a2mlstill encodes D3 = "svalinn → Ephapax" as the live decision (L14 purpose "migrating to Ephapax (Decision D3)"; L22–26 route-to-MVP "Ephapax port"; L32–34 blockers; L36 "PR #32 contradicts D3"; L41 "superseded by D3"). Per #39, the Stage-0 spike concluded Ephapax is not application-ready and the live direction is ReScript → AffineScript, with Ephapax deferred to a future linear security-core substrate.So
STATE.a2ml(decisions D3, route-to-mvp, blockers) anddocs/ephapax-migration/HANDOFF.adocare out of step with #39. Note PR #52 (merged) added the Ephapax charter after #39's reframe — the repo currently contradicts itself.→ Align the 6a2 decision record + route-to-MVP with the AffineScript direction (or supersede D3 explicitly), and mark
HANDOFF.adochistorical re: target language (its migration-map methodology still applies with AffineScript substituted — the charter itself already says so).3. Record the open follow-ups
Add to decisions/debt/next-actions: SonarCloud toggle (#56), Hypatia/standards (#57), dev-tooling repoint (#58), doc-accuracy (#59).
Acceptance
STATE.a2mlCI section matches actual green/red statusFound via the wrap-up audit of the #54 session.