From 1c3fae0d949d36c62fa4b41b22df93ca182263c4 Mon Sep 17 00:00:00 2001 From: hyperpolymath Date: Tue, 19 May 2026 16:26:31 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20Stage=20B=20properly=20CLOSED=20?= =?UTF-8?q?=E2=80=94=20truth=20the=20#215=20ADR-012=20won't-fix=20(Refs=20?= =?UTF-8?q?#176=20#215)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ledger said Stage B "near-closed (residual #215 families remain, one family per PR)". That is stale and actively misleading: #215 is CLOSED with an owner-ratified ADR-012 disposition that the residual ~68 S/R + state-401 R/R conflicts are an INTENTIONAL WON'T-FIX. Menhir resolves them correctly, the full gate proves every accepted parse is the intended one, and eliminating them is exactly the systemic precedence/left-factoring contortion (estate-wide blast radius, cosmetic-only payoff) ADR-012 forbids. Closure is by disclosure, not surgery: `just build` masks the benign notices but prints the count + correctness proof + ADR pointer; `just build-loud` / `dune build` reveal all (verified present in justfile; policy in docs/specs/SETTLED-DECISIONS.adoc "Parser-Conflict Disclosure"). "near-closed" invited the precise grammar work ADR-012 forbids — a documentation-drift hazard (DOC-01..09 / #176). Corrected: - docs/ECOSYSTEM.adoc Stage B row: near-closed -> CLOSED + the ADR-012 residual-conflict disposition + the disclosure mechanism + an explicit "do not reopen" note. - docs/TECH-DEBT.adoc critical-path: Stage B CLOSED (ADR-012 won't-fix). - docs/CAPABILITY-MATRIX.adoc parser row: Stage B CLOSED, no longer "tracked as the #215 workstream". Docs-only; gate unaffected. Refs #176 #215 (not Closes — #215 already closed; this truths the ledger to match its disposition). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/CAPABILITY-MATRIX.adoc | 8 ++++++-- docs/ECOSYSTEM.adoc | 15 +++++++++++++-- docs/TECH-DEBT.adoc | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/docs/CAPABILITY-MATRIX.adoc b/docs/CAPABILITY-MATRIX.adoc index 1f244abd..9aa1d945 100644 --- a/docs/CAPABILITY-MATRIX.adoc +++ b/docs/CAPABILITY-MATRIX.adoc @@ -61,8 +61,12 @@ Gate baseline at reconstruction: **`opam exec --switch=. -- dune runtest |Lexer |works |Full Unicode. Quantity-literal `ZERO`/`ONE` tokens are *not* emitted (QTT numeric surface uses `:1`/`:0`/`:ω` sugar parsed elsewhere). -|Parser |works |Menhir grammar, ADR-009 conformance. Residual grammar -conflicts tracked as the #215 family workstream (Stage B). *Module-qualified +|Parser |works |Menhir grammar, ADR-009 conformance. Stage B *CLOSED*: +#215 closed with the owner-ratified ADR-012 disposition — the residual +~68 S/R + state-401 R/R conflicts are an *intentional won't-fix* (Menhir +resolves them correctly; the gate proves every parse is intended; +eliminating them is the contortion ADR-012 forbids). `just build` masks ++ proves them, `just build-loud`/`dune build` reveal all. *Module-qualified type/effect paths now parse* — `Pkg.Type` / `Pkg::Type` (mixed, deep), `::` canonical (ADR-014, PR #241, Refs #228; zero Menhir conflict delta). Cleared the dominant estate parse blocker (was 525/1177 `.affine`); diff --git a/docs/ECOSYSTEM.adoc b/docs/ECOSYSTEM.adoc index d72526c9..0d8e57a3 100644 --- a/docs/ECOSYSTEM.adoc +++ b/docs/ECOSYSTEM.adoc @@ -54,8 +54,19 @@ recovery). |*CLOSED* |`affine-types = wired-and-reachable`, |*B* |Grammar conformance + conflict elimination: ADR-009 conformance, the #215 conflict-family workstream, ADR-012 ("grammar changes are correctness -assertions"). |*near-closed* |Family B (`return`/`resume`, PR #224) merged; -residual S/R + state-401 R/R families remain (one family per PR). +assertions"). |*CLOSED* |#215 closed with an owner-ratified *ADR-012 +disposition*: families A/C/D/F + the EXTERN bug fixed on correctness +grounds (#216/#217/#219/#222/#223); family B (`return`/`resume`, #224) +shipped as a *correctness* change, conflict-count-neutral. The residual +~68 S/R + state-401 R/R are *intentional WON'T-FIX*: Menhir resolves them +correctly, the full gate proves every accepted parse is the intended one, +and removing them is the systemic precedence/left-factoring contortion +(estate-wide blast radius, cosmetic-only payoff) ADR-012 *forbids*. +Closure is by *disclosure, not surgery*: `just build` masks the benign +notices but prints the count + correctness proof + ADR pointer; `just +build-loud` / `dune build` reveal all (policy: +`docs/specs/SETTLED-DECISIONS.adoc` "Parser-Conflict Disclosure"). Do +*not* reopen residual-conflict elimination — it is settled won't-fix. |*C* |Standard library AOT: every stdlib file compiles resolve→typecheck→codegen, gated in CI. |*CLOSED 2026-05-18* |19/19 stdlib diff --git a/docs/TECH-DEBT.adoc b/docs/TECH-DEBT.adoc index 2e927a2e..bc7cb2c3 100644 --- a/docs/TECH-DEBT.adoc +++ b/docs/TECH-DEBT.adoc @@ -26,7 +26,7 @@ toc::[] [source] ---- Stage A CLOSED ───────────────────────────────────────────────┐ -Stage B near-closed (#215 residual families) │ +Stage B CLOSED (#215; residual conflicts = ADR-012 won't-fix) │ Stage C CLOSED 2026-05-18 (#128/#135 stdlib AOT) │ ▼ Stage D ACTIVE ── CORE-01 (#177) ─┐ (base lang