diff --git a/docs/JOURNAL.md b/docs/JOURNAL.md index 964048b..6ea3ed7 100644 --- a/docs/JOURNAL.md +++ b/docs/JOURNAL.md @@ -11755,3 +11755,58 @@ already populate the env correctly. No collateral is implied. **Bench gates:** all three exited 0/0/0. **Next step:** dispatch `audit` skill to close milestone 22. + +## 2026-05-09 — Iteration 22-tidy: DESIGN.md and spec drift after milestone-22 close + +Audit (architect drift review) flagged three doc-drift sites +where DESIGN.md and the spec described an as-originally-planned +milestone 22 (Prelude shipping, `print` rewired through Show.show, +`Float` type, Form-B class/instance render in 22b.4) instead of +what actually shipped (no Prelude, primitive print primitives, +no Float, prose render queued post-22). The fix is mechanical +across three files; no code logic changes. + +**Per-task subjects:** + +- 22-tidy.1: DESIGN.md — reconcile Decision 11 with milestone-22 outcome (no Prelude, '__' separator) +- 22-tidy.2: spec — components table reflects 22b.4a/b split + 22c shipped +- 22-tidy.3: prose-lib — drop 22b.4 reference from class/instance placeholder + +**Milestone-22 status: CLOSED.** The four acceptance criteria from +the spec are all satisfied: + +1. JOURNAL entries committed: 22b.1, 22b.2, 22b.3, 22b.4a, 22c. +2. Audit suite green — drift report addressed (this iter); bench + gates 0/0/0 at 22c close (rerun confirmed at milestone-22 audit + on 2026-05-09). +3. 22c user-class fixture compiles, runs, prints `42`. +4. Round-trip skip-list retired in 22b.4a; all 106 fixtures in + `examples/*.ail.json` pass round-trip. + +**Carried debt (not gating, not in this iter's scope):** + +- Primitive-name set duplicated across 4 sites + (`crates/ailang-check/src/mono.rs:316-327`, `linearity.rs:143`, + `lib.rs:1240`, `lib.rs:2222`). Flagged in 22b.3 JOURNAL, + re-flagged by milestone-22 audit. Consolidation is a real + refactor (one helper, four call sites) and benefits from being + its own iter. Queued. +- Strict duplicate-clause detection in `parse_fn` / `parse_data` + / `parse_const` (sibling parsers to the 22b.4a additions). The + asymmetry is documented; promoting siblings to the strict + pattern is queued. +- Form-B (prose) printer arms for ClassDef / InstanceDef. One-way, + not gating. +- Lib.rs gap-related sites at lib.rs:1266 / 1853-1856 / 1978 / + 2314-2316 — reachable only through paths that already populate + the env correctly, but the same discipline that was applied in + mono.rs (workspace-wide flat tables) could be hardened + defensively. Not currently broken. + +**What's next:** orchestrator's call. The JOURNAL queue's +substantive items per recent entries are: post-22 Prelude +milestone (gated on user-author demand for primitive +`Show`/`Eq`/`Ord`), operator routing through `Eq`/`Ord` (gated on +bench re-baselining), the primitive-name-set consolidation, or +unrelated work. The milestone-cycle dictates `brainstorm` for +whichever lands next.