From 2a98b31d84feeb23783cc9f5c559416d04acd16a Mon Sep 17 00:00:00 2001 From: Brummel Date: Sun, 10 May 2026 20:03:21 +0200 Subject: [PATCH] iter architect-iron-law.3: JOURNAL entry + close roadmap todo --- docs/JOURNAL.md | 43 +++++++++++++++++++++++++++++++++++++++++++ docs/roadmap.md | 16 ---------------- 2 files changed, 43 insertions(+), 16 deletions(-) diff --git a/docs/JOURNAL.md b/docs/JOURNAL.md index 76041f1..1020e26 100644 --- a/docs/JOURNAL.md +++ b/docs/JOURNAL.md @@ -13817,3 +13817,46 @@ count may be 406 — verify post-commit), 0 failed. closed. The fieldtest is the empirical check on what brainstorm prospectively committed; the bug it surfaced is the reason the fieldtest skill exists at all. + +## 2026-05-10 — Architect iron-law extension: sweep script + lockstep-checklist + +`ailang-architect`'s drift-review iron law extended with two +standing checks, both motivated by failure modes that shipped in +the closing milestones of the typeclass-and-floats arc: + +1. **DESIGN.md history-anchor regrowth.** The four sweep regexes + from the design-md-consolidation milestone (history anchors, + REVERTED + migration, schema SoT, workflow + stale cross- + references) are now packaged as `bench/architect_sweeps.sh` and + run as Step 2.5 of the architect's process. Today's DESIGN.md + is clean against all four; the script's job is to keep it that + way against future commits. Non-zero exit is advisory: the + architect reads each match and decides legitimate-quote vs. fresh + drift. +2. **Lockstep invariants across files.** Two cross-file pairings + are pinned in the agent's "What you check" section as standing + walks: `Pattern::Lit::*` typecheck-rejects ↔ + `pre_desugar_validation.rs` walkers (the B1 lockstep — the + typecheck reject is unreachable through `check_module` if a + desugar pass rewrites the shape first), and `lower_app` arms ↔ + `is_static_callee` recognition (the iter-4.2 / 4.4 lockstep — + a direct lowering arm without `is_static_callee` recognition + falls through to indirect-call with `UnknownVar`). For each + milestone-scope commit-range arm landed in these files, the + architect now opens both files in the pair. + +Both pairings are real, both shipped silently broken at least once, +and both were caught only by post-hoc means (B1 by fieldtest, the +iter-4 ones by mid-iter implementer review). The architect was the +right role to catch them prospectively; the standing checklist is +how that role catches them in future. + +Per-task commits: + +- `67223c8` iter architect-iron-law.1: bench/architect_sweeps.sh runs the four design-md-consolidation sweeps against DESIGN.md +- `6047b38` iter architect-iron-law.2: extend ailang-architect with sweep-script invocation + lockstep-checklist for two known cross-file pairings + +The roadmap entry "Architect-iron-law standing-grep extension" +under P2 is closed by this iteration. Future lockstep pairings, as +they surface in JOURNAL entries, can extend the table inline +without further iteration ceremony. diff --git a/docs/roadmap.md b/docs/roadmap.md index a4ce64c..6fa779d 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -106,22 +106,6 @@ work progresses. intra-crate links). All predate the design-md-consolidation milestone; treat as a one-off sweep. - context: JOURNAL 2026-05-10 ("Audit close: design-md-consolidation"). -- [ ] **\[todo\]** Architect-iron-law standing-grep extension — - the architect agent's drift review should run the four sweep - invariant greps on every milestone-close so DESIGN.md cannot - silently regrow history anchors / REVERTED narratives / - workflow detail / stale cross-references. Path-anchored - exceptions (`docs/specs/2026-05-09-*`) need an allowlist. - Same extension should add the **lockstep-checklist** the - Floats fieldtest exposed: for every new typecheck reject arm - on a pattern shape, verify the corresponding desugar pass does - not eat that shape first; for every new lowering arm in - `lower_app`, verify `is_static_callee` recognises it. Both - shipped silently-broken in the Floats milestone (B1 and the - iter-4.2/4.4 pull-forwards) and the architect missed them. - - context: JOURNAL 2026-05-10 ("Milestone close: - design-md-consolidation"); 2026-05-10 ("Fieldtest close: - Floats milestone") — B1 + architect-checklist follow-up. - [ ] **\[todo\]** `design_schema_drift.rs` fidelity widening — current test checks anchor *presence* anywhere in DESIGN.md; the audit found that `[high]` schema gaps in §"Data model"