iter architect-iron-law.3: JOURNAL entry + close roadmap todo
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user