Skip to content

Commit db7bb97

Browse files
hyperpolymathclaude
andcommitted
docs: truth CORE-03 / ADR-014 grammar landed (PR #241) (Refs #175 #176 #228)
Module-qualified type/effect paths landed via PR #241 (zero Menhir conflict delta, gate 267/267). Keep the authoritative docs in lockstep: - TECH-DEBT.adoc CORE-03: grammar LANDED (PR #241), supersedes #231; estate re-audit + #229 follow. - CAPABILITY-MATRIX.adoc parser row: qualified paths now parse; dominant estate parse blocker cleared. - STATE.a2ml parser feature line updated (it mirrors). ADR-014 itself is recorded in META.a2ml + SETTLED-DECISIONS.adoc on the #241 branch (those ADR registries are owned by the implementation PR; these ledger/status docs are owned by #239 — single-owner discipline). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ab5c54e commit db7bb97

3 files changed

Lines changed: 13 additions & 8 deletions

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ note = "Session 2026-04-11 final checkpoint. DONE THIS SESSION: (1) JS-face (lib
3333

3434
[components]
3535
lexer = "complete-minus-affine-tokens (ZERO/ONE tokens for quantity literals NOT emitted; blocks QTT surface syntax). float_exponent now correctly named sub-regexp — scientific notation crash fixed 2026-04-11."
36-
parser = "conformance-complete (ADR-009 achieved 2026-04-11). 12/12 valid tests parse. Added: optional SEMICOLON on type aliases/enums, enum leading-pipe syntax, effect op type params, ROW_VAR type params, ty_record_body/expr_record_body recursive rules for row-polymorphic records, field_name contextual keyword rule, struct literal expressions."
36+
parser = "conformance-complete (ADR-009 achieved 2026-04-11). 12/12 valid tests parse. Added: optional SEMICOLON on type aliases/enums, enum leading-pipe syntax, effect op type params, ROW_VAR type params, ty_record_body/expr_record_body recursive rules for row-polymorphic records, field_name contextual keyword rule, struct literal expressions. CORE-03 / ADR-014 (PR #241, Refs #228, 2026-05-19, gate 267/267, ZERO Menhir conflict delta — 21 S/R + 1 R/R unchanged): module-qualified type/effect paths Pkg.Type / Pkg::Type (mixed, deep) parse — folded to one canonical ::-joined ident so resolve/typecheck/codegen/fmt unchanged. Cleared the estate's dominant parse blocker (was 525/1177). Authoritative: docs/CAPABILITY-MATRIX.adoc + docs/TECH-DEBT.adoc CORE-03."
3737
type-checker-rules = "99% (bidirectional inference, Never/bottom, block divergence, variant/constructor/record-spread/mutable bindings all implemented in lib/typecheck.ml)"
3838
type-checker-enforcement-wiring = "wired (Typecheck.check_program is invoked from bin/main.ml on every check/compile/eval path; Quantity.check_program_quantities runs after typecheck at lib/typecheck.ml:1206; the gating IS live for the rules and quantity annotations that exist today)"
3939
borrow-checker = "live-gate (2026-04-11): Borrow.check_program wired into check/compile pipeline at all 4 Typecheck success sites. Emits E0501-E0506 diagnostics. PlaceVar carries variable name for readable errors (file:line:col at both use and move sites). ExprMatch arm state merging fixed. Lexical borrow lifetime clearing in check_block. BUG-004 (lambda capture tracking) still deferred — requires type info propagation. lib/borrow.ml 669 LOC."

docs/CAPABILITY-MATRIX.adoc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,11 @@ Gate baseline at reconstruction: **`opam exec --switch=. -- dune runtest
6262
emitted (QTT numeric surface uses `:1`/`:0`/`:ω` sugar parsed elsewhere).
6363

6464
|Parser |works |Menhir grammar, ADR-009 conformance. Residual grammar
65-
conflicts tracked as the #215 family workstream (Stage B). *No
66-
module-qualified type/effect path* — `Pkg.Type` / `Pkg::Type`
67-
unrepresentable in type/effect position (issue #228 / ADR-014, the dominant
68-
estate port blocker).
65+
conflicts tracked as the #215 family workstream (Stage B). *Module-qualified
66+
type/effect paths now parse* — `Pkg.Type` / `Pkg::Type` (mixed, deep),
67+
`::` canonical (ADR-014, PR #241, Refs #228; zero Menhir conflict delta).
68+
Cleared the dominant estate parse blocker (was 525/1177 `.affine`);
69+
estate re-audit + ReScript residue (#229) follow separately.
6970

7071
|AST |works |All current language constructs represented.
7172

docs/TECH-DEBT.adoc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,13 @@ integration. |S1 |pt1 in PR #240 (open); pt2+ open — issue #177
9494
EH proposal or CPS). The #225 CPS line closes the async slice. |S2 |partial
9595
(PR3a/b/c merged; #234 generalises the recogniser)
9696
|CORE-03 |ADR-014: module-qualified type/effect path. Decision settled
97-
(both `.`/`::` accepted, `Pkg::Type` canonical, `.`→`::` via `fmt`).
98-
Estate's dominant parse blocker (525/1177 .affine). |S1 |open — issue #228,
99-
DRAFT PR #231; decision recorded, implementation pending (after CORE-01)
97+
(both `.`/`::` accepted, `Pkg::Type` canonical, `.`→`::` for free via the
98+
`::`-fold). Was the estate's dominant parse blocker (525/1177 .affine).
99+
*Grammar LANDED* (PR #241, Refs #228, gate 267/267, **zero Menhir
100+
conflict delta** — 21 S/R + 1 R/R unchanged); ADR-014 recorded in
101+
META.a2ml + SETTLED-DECISIONS.adoc. Supersedes DRAFT #231. |S1 |grammar
102+
in PR #241 (open); estate `.affine` re-audit + ReScript residue #229
103+
follow separately
100104
|CORE-04 |Traits: associated-type substitution, where-clause supertraits,
101105
coherence checking. |S2 |partial
102106
|CORE-05 |Dependent/refinement types: predicate reduction / SMT. |S3

0 commit comments

Comments
 (0)