iter gc.1: per-iter journal

This commit is contained in:
2026-05-11 19:48:31 +02:00
parent f6d4ba3c58
commit 4a9673259c
+79
View File
@@ -0,0 +1,79 @@
# iter gc.1 — Grounding-Check Agent, brainstorm Step 7.5 hard-gate
**Date:** 2026-05-11
**Branch:** iter/gc.1
**Status:** DONE
**Tasks completed:** 5 of 5
## Summary
This iter ships `ailang-grounding-check`, a read-only spec reviewer
dispatched between brainstorm Step 7 (self-review) and Step 8
(user-approval). The agent reads a freshly-written spec with no
sunk-cost bias, extracts the spec's load-bearing assumptions about
current compiler / checker / codegen / schema behaviour, and for
each one searches the workspace for a currently-green test that
ratifies it. PASS or BLOCK; no PARTIAL credit. The output is the
hybrid format the agent template prescribes: a ratified-assumptions
table for fast Boss scanning plus a per-assumption prose block for
the unratified set.
Wiring is markdown-only. `skills/brainstorm/SKILL.md` gets a new
Step 7.5 hard-gate section, two new Handoff-Contract rows
(brainstorm → grounding-check, brainstorm → roadmap on no-override
BLOCK), and a Cross-references rewrite that splits the old "No
private agents" bullet into "Private agent" (the new grounding-check
dispatch) plus "Ad-hoc dispatch" (the existing plan-recon
opt-in). `skills/README.md` gets one new agent-roster row and one
new symlink-discovery line. `.claude/agents/brainstorm` is the
matching symlink. Spec-23 (Eq/Ord prelude) is retired because the
session that produced gc.1's spec is the same session that
discovered Spec-23's polymorphic-free-fn-monomorphisation assumption
was unratified — a fact gc.1's whole machinery exists to catch from
now on. The roadmap P1 Post-22 Prelude entry is amended to record
the retirement, name the unratified mechanism, and point forward to
the re-brainstorm.
The bootstrap irony stands: the spec for `ailang-grounding-check`
did not itself run through `ailang-grounding-check`. The agent did
not exist when its own spec was written, so per Spec §Architecture's
bootstrap-exclusion the gc.1 plan was implemented without the
gating mechanism it introduces. The first real run of the new
pipeline is the re-brainstormed Spec-23 in a separate session, not
this iter.
## Per-task subjects
- iter gc.1.1: agent — ailang-grounding-check definition
- iter gc.1.2: brainstorm SKILL — insert Step 7.5 (grounding-check hard-gate)
- iter gc.1.3: skills README — roster + symlink for ailang-grounding-check
- iter gc.1.4: symlink .claude/agents/brainstorm -> skills/brainstorm/agents
- iter gc.1.5: retire Spec-23, roadmap forward-pointer to re-brainstorm
## Concerns
- Plan §Step 2.4 and §F.2 expect `grep -c "^### Step " == 9` after
the 7.5 splice, but the brainstorm SKILL has nine *original* step
headings (Step 1 through Step 9), so adding 7.5 lands at 10. The
plan's parenthetical comment in §F.2 enumerates ten labels (1, 2,
3, 4, 5, 6, 7, 7.5, 8, 9) while asserting `wc -l = 9` — internally
inconsistent. Substantive intent (Step 7.5 between 7 and 8, leave
Step 9 in place) is unambiguous and honored; the off-by-one is a
plan-template miscount, not an implementation bug. Surfaced as a
cadence-flow signal to the Boss in the end-report.
## Known debt
None.
## Blocked detail
N/A — DONE.
## Commits
`606a2eb..HEAD` (5 task commits, no review-loop fixups).
## Stats
bench/orchestrator-stats/2026-05-11-iter-gc.1.json