audit: green main - the #76 record as the new ledger gate requires it - #116
Merged
Merged
Conversation
rainix landed `mutation-ledger` between this repo's PR run and the push run that merged #115, so the record went in green and turned main red four minutes later. Two fields, both named by the gate: `tool` is the constant it matches to recognise a record as the skill's own, so the probe identity moves into `notes` where it is still on the record. `testsAfterCommit` was null to say "no tests changed"; the gate validates it when present and treats absence as exactly that, so the key goes rather than acquiring a SHA it does not have. `nix run github:rainlanguage/rainix#rainix-static -- mutation-ledger` is clean on this tree and reproduces both errors without it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V8ViHcKLVk2YoS2joH4HdN
|
Warning Review limit reachedNext included review available in 46 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
mainis red. This is the fix, and it is two fields of one JSON record.What happened
rainix merged #385, which
adds a
mutation-ledgergate to the sharedstaticjob, at 12:02:46Z. #115'slast PR run started at 12:01 and had no such step - its
staticjob ranno-submodules,agent-context-cap,snapshots-append-onlyand the rest, andpassed. The push run on
mainat 12:05 picked the composite up from@main,ran the new gate, and failed on the record #115 had just added. Nothing about
the record changed between the two runs; the gate arrived between them.
Both of its errors are about naming, not about the measurement:
The fix
toolis not free text: the audit skill's Pass-2 gate matches it against oneconstant to decide whether a record is its own evidence, and #115 wrote the
probe binary and its rev in there instead. The field takes the constant, and the
probe identity moves into
notes, where it stays on the record and is read bypeople rather than matched by a gate.
testsAfterCommitwasnullto say "no test changed, so no post-scan test treeexists". The gate's own module doc says the field is "validated WHEN PRESENT and
never required", with a test named
an_omitted_tests_after_commit_is_legal, andits reason for that is exactly this case: the alternative to absence is to
invent a SHA, "which is the fabricated evidence this gate exists to catch". So
the key goes.
nullwas the right meaning in the wrong encoding.Nothing else moves. The 28/28 and 23/28 results, the commit the scan is recorded
against, and its
summaryare untouched.QA
code in this repo reads. Its consumers live elsewhere (the audit skill's
Pass-2 gate,
roh-scan, and now this gate), and the gate is the discriminatingtest: it fails on the tree
mainis on now and passes on this one.equivalent evidence is that the check was run both ways rather than reasoned
about:
nix run github:rainlanguage/rainix#rainix-static -- mutation-ledger(rainix
e8be950, the merge of #385) prints both ERROR lines above onmain's tree andmutation-ledger: cleanon this one.rainix-static/src/mutation_ledger.rsread for what each field means -TOOL, and the module doc on whytestsAfterCommitis optional - rather thanguessing a shape from the error text. The value of every other field is audit: the #76 claims, measured - 23/28 killed, zero new #115's
measurement, unchanged.
main. Both reported errors are fixed, nothird was introduced (
mutation-ledger: clean), the record still says what itmeasured, and
pre-commit run --all-filesrewrites nothing. audit: the #76 claims, measured - 23/28 killed, zero new #115 stays mergedand [RLH-36] [INFO] README/NatSpec claims with no pinning test (residue): the packed-collision motivating example, 'a Foo is ALWAYS 4 words' with populated members, deterministic boundary lengths, pointer non-determinism, bytes1[] as a word list #76 stays closed - this corrects how that record is written, not what it
found.
Suite: unchanged at 77 passed / 0 failed / 0 skipped across 9 suites;
src/andtest/are not touched by this PR.🤖 Generated with Claude Code
https://claude.ai/code/session_01V8ViHcKLVk2YoS2joH4HdN