Skip to content

spec(ci): derived data -- when a seal or the t27b ledger is valid, and who writes it - #6603

Merged
gHashTag merged 2 commits into
masterfrom
ci-derived-data-6595
Oct 5, 2026
Merged

gHashTag merged 2 commits into
masterfrom
ci-derived-data-6595

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Closes #6601

Part of epic #6595, item B. This PR adds only the spec specs/ci/derived_data.t27: the decision rule for checked-in derived data, meaning the seals (spec_hash, gen_hash_*, tests), the t27b ledger and FROZEN_HASH.

  • A PR is red only for a regression, or for a derived value it wrote that the tool would not write. A hand-written ledger is refused, because CI cannot check it before merge.
  • Lag is PENDING, which is not red. A PR that moves a record's inputs (a compiler fix, a spec edit) gets a REPORT.
  • On master, one refresh bot recomputes every lagging record and opens one PR that touches only derived files. If master moves, the bot regenerates that PR from the tip; it never rebases or force-pushes. The bot never writes FROZEN_HASH, and it blesses the ledger only when the cap holds or falls.
  • The t27b ratchet codes UNEXPECTED PASS, MOVED, STALE and UNLISTED become PENDING. UNEXPECTED FAILURE, OVER CAP and BAD REASON stay red.

Findings, the Bazel/Chromium comparison and the wiring list are on #6601. The wiring is an owner decision because own-language denies .yml and .py.

Verification (Railway t27c lab, t27c built from master a4e68ba)

t27c check       Typecheck OK (0 errors, 0 warnings)
t27c test-report tests 18, pass 18, FAIL 0, invariants 1 proved (comptime)

Negative controls:

  • If UNEXPECTED_PASS is mutated to V_RED, a_t27b_improvement_is_not_red fails (17/18).
  • If lag is mutated to red, the comptime invariant fails and the spec does not compile.

🤖 Generated with Claude Code

…d who writes it (Closes #6601)

The decision rule for checked-in derived data (epic #6595, item B): a PR is
red only for a regression or for a derived value it wrote that the tool would
not write; lag is PENDING, a PR that moves inputs gets a REPORT, and one
refresh bot rewrites lagging records on master in a derived-only PR.
FROZEN_HASH stays owner-only; the bot blesses the ledger only when the cap
holds or falls. 18 tests + 1 invariant, test-report FAIL 0 on the Railway
lab (t27c at a4e68ba); a planted mutation fails a_t27b_improvement_is_not_red.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-05 19:14:18 UTC

Summary

Status Count
Total Open PRs 46
PRs with Failing Checks 33
PRs with All Checks Green 13
READY 11
FAILING 33
PENDING 0
NO CHECKS YET 0

These columns do not partition: 11 + 33 + 0 + 0 = 44, and there are 46 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=ab873301be9c != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag

gHashTag commented Oct 5, 2026

Copy link
Copy Markdown
Owner Author

Status: not merged. Corpus ratchet is one of the required-green checks for this PR, and it is red. All four red checks come from master at 13e212a; none comes from this PR, which adds one spec and no put, GateScarab or seal. They are live examples of what #6601 describes:

Green here: validate, check-linked-issue, parse-ratchet, own-language.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-05 22:29:44 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 39
PRs with All Checks Green 11
READY 11
FAILING 39
PENDING 0
NO CHECKS YET 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=3c78f3c7ffb7 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 56814bf into master Oct 5, 2026
25 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: derived data (seals, t27b ledger) -- the decision rule as specs/ci/derived_data.t27

1 participant