Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .claude/skills/ci-gates/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8914,3 +8914,28 @@ build". The number is not wrong. Its population is.
refuse rather than answering when they cannot: a lakefile with `globs`, a root
that reaches only itself, a stale crate list. Zero stranded files has to mean the
tree, never the parser.

## 355. The second ledger

A fix made `specs/pins/emitter_xdc.t27` typecheck. I updated
`tools/specs_generate_baseline.txt`, ran every gate I knew, shipped, and left
the corpus ratchet **red on master for three consecutive runs** -- because
`docs/reports/suite_expectations.json` still listed the spec as
expected-to-fail, and an UNEXPECTED PASS is a ratchet failure by design.

This repository has at least four ledgers naming specs by path:

```
tools/specs_generate_baseline.txt does it generate
docs/reports/suite_expectations.json corpus ratchet, per phase
scripts/ci/test-baseline.txt bootstrap tests
tools/conflict_markers_baseline.txt files carrying markers
```

**When a repair makes a spec pass, grep every file that NAMES that spec.** Not
the ledger you know about -- all of them. `git grep -l <spec-path>` is the whole
check and it takes a second.

It is the same shape as the fix that did not travel from one command to its
neighbouring function, one level up: there the sibling was a function, here it
is a file. Both were invisible because the gate I ran was green.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# NOW -- A second ledger I did not know about, left stale by my own fix (2026-08-30)

## A second ledger I did not know about, left stale by my own fix (Refs #2864)

- The corpus ratchet has been RED on master for at least three runs, and the reason is mine: #2897 made specs/pins/emitter_xdc.t27 typecheck, I updated tools/specs_generate_baseline.txt, and docs/reports/suite_expectations.json still listed it as expected-to-fail. UNEXPECTED PASS is a ratchet failure by design.
- Entry removed and max_entries lowered 151 -> 150, which is the direction the cap is allowed to move. RATCHET: CLEAN.
- Control both ways: putting the entry back reproduces 'UNEXPECTED PASSES: 1' and exit 1; removing it gives exit 0.
- This is the same lesson as #2892 -- a fix that does not travel -- one level up: I checked the sibling FUNCTION that day and not the sibling LEDGER. When a repair makes a spec pass, grep every file that names it, not just the one you know.
Loading