docs(mission,skills): iter-134 Gate-4 record + Gate-5 skill edit — a case-sensitive grep is an instrument too - #570
Merged
Conversation
…case-sensitive grep is an instrument too Gate 4 record for iteration 134: dev CI was RED on a docs-only HEAD because cmd/ailang re-linked the same 93 MB binary ~16x inside a 300s budget. Fixed in PR #564 -> 3c28cc3; on the windows-latest runner that package went FAIL 300.527s (timeout) -> ok 83.177s. Evaluator sonnet PASS 91/100 r1. Gate 5 — ONE skill edit, backed by TWO frictions from this iteration that are the same gap: 1. `grep -E "^\s*(--- FAIL|FAIL|panic:)"` over the 99 KB CI job log returned NOTHING for a log that contained `panic: test timed out after 5m0s`. The anchors were wrong. Caught only because rule 3a's known-positive control (`grep -c "ok "` -> 105) proved the log was intact. 2. Gate 4's own cheap tell — "grep the file for the PREVIOUS iteration's stamp" — was transcribed as `grep -c "Iteration 133"` and returned 0 for a charter byte-identical to origin. The charter writes stamps UPPERCASE. Both are rule 3a's shape (an empty result indistinguishable from a true absence), but (2) is worse than a generic instance: it is the skill's own prescribed check, on the one gate whose job is deciding whether your base is real, and its failure output is identical to a genuinely stale charter. So it can route a healthy iteration down the stale-copy path, or teach the reader to distrust a tell they will need for real. The edit fixes that check where it lives (Gate 4, beside the tell) rather than adding another general clause to 3a: spell it in the charter's own case, and pair it with a known-present control (ITERATION N-2) and a known-absent one (ITERATION 999) in the same breath. Saved in the MAIN checkout first — verified same inode through the ~/.claude symlink, so it is live for both missions now — and mirrored here so it lands on origin too, leaving no worktree/main drift (the failure mode iter-128 recorded). STATUS rotation done by script with the line-count assertion: before=1688 after=1688 expected=1688 moved=1 (ITERATION 131 -> archive top). Post-edit checks: 3 stamps remain (134/133/132), queue rows present with a control at 0, charter diff net +2/-2 = exactly +stamp -archived. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
sunholo-voight-kampff
enabled auto-merge (squash)
August 3, 2026 13:20
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Gate-4 record for mission-control iteration 134, plus the Gate-5 retro skill edit.
What the iteration did
dev CI was RED on
773894d87— a docs-only commit.test-windowshitpanic: test timed out after 5m0sincmd/ailang, becausebuildAilang's doc comment claimed it built the binary "once per test run" and had no memoization: ~16 full links of the same 93 MB binary inside a 300s budget. Fixed in #564 →3c28cc322.On the windows-latest runner:
FAIL 300.527s→ok 83.177s. Evaluator sonnet PASS 91/100 r1, zero blocking; its one NB (missing changelog entry) was actioned, not waved through.Gate 5 — one skill edit, two frictions, same gap
grep -E "^\s*(--- FAIL|FAIL|panic:)"over the 99 KB CI job log returned nothing for a log that contained the panic. Wrong anchors. Caught only by rule 3a's known-positive control.grep -c "Iteration 133"returned 0 for a charter byte-identical to origin. The charter writes stamps UPPERCASE.(2) is worse than a generic rule-3a instance: it is the skill's own prescribed check, on the gate whose whole job is deciding whether your base is real, and its failure output is identical to a genuinely stale charter. The edit fixes it where it lives — spell the tell in the charter's own case and pair it with a known-present control (
ITERATION N-2) and a known-absent one (ITERATION 999).Saved in the main checkout first (same inode verified through the
~/.claudesymlink, so it is live now) and mirrored here so it lands on origin too — no worktree/main drift.STATUS rotation
Scripted with the line-count assertion:
before=1688 after=1688 expected=1688 moved=1(ITERATION 131 → archive top). Post-edit: 3 stamps remain (134/133/132), queue rows present with a control at 0, charter diff net+2/-2= exactly+stamp -archived.🤖 Generated with Claude Code