2.4 KiB
2.4 KiB
iter ctt.1 — Env-overlay shape ratification
Date: 2026-05-12
Started from: 0a36294e61
Status: DONE
Tasks completed: 3 of 3
Summary
Ratifies the two-overlay shape of the check environment (env.types
env.ctor_index) and pins its load-bearing consumer. The split decision now has a DESIGN.md anchor (§"Env construction") explaining the owning-index / reverse-index roles, the rationale for not collapsing into one variant-keyed map, and the intentional asymmetry with the mono side (narrowed to types-only at ct.3.2, because its runtime-ctor-lookup consumer story differs from the check side's in-bandDuplicateCtordiagnostic). A new behavioural-pin test (crates/ailang-check/tests/duplicate_ctor_pin.rs) assertscode == "duplicate-ctor"plus message-substring coverage for a two-ADT-same-ctor fixture, going red if the per-module rebuild atcrates/ailang-check/src/lib.rs:1342-1384is ever silently removed. Two P2 roadmap todos struck[x]with one-line forward-references to this iter. No production-code edits.cargo test --workspacegreen.
Per-task notes
- iter ctt.1.1: New pinning test
crates/ailang-check/tests/duplicate_ctor_pin.rs— builds aWorkspaceinline with one module declaringtype Cat = Twinsandtype Dog = Twins, callscheck_workspace, asserts aDiagnosticwithcode == "duplicate-ctor"plus message substring forTwins/Cat/Dog. PASS on first run, as the plan predicted (behaviour pre-exists). - iter ctt.1.2: Inserted new top-level section
## Env constructionindocs/DESIGN.mdbetween## Convention: qualified cross-module references(line 1941) and## Data model(now line 1988, was 1959 pre-edit). Three paragraphs: split definition, rationale, check-side / mono-side asymmetry. Cross-references the pinning test. - iter ctt.1.3: Two
[ ]→[x]strikes indocs/roadmap.mdat lines 79 (overlay shape question) and 183 (per-module overlay narrowing). Each gains a one-line forward-reference suffix on itscontext:line pointing at iter ctt.1 and the closing artefact.
Concerns
(none)
Known debt
(none)
Files touched
crates/ailang-check/tests/duplicate_ctor_pin.rs(new)docs/DESIGN.md(modified —## Env constructionsection inserted)docs/roadmap.md(modified — two strikes)
Stats
bench/orchestrator-stats/2026-05-12-iter-ctt.1.json