gas: stop committing a snapshot nothing regenerates or checks - #259
Open
thedavidmeister wants to merge 1 commit into
Open
thedavidmeister wants to merge 1 commit into
thedavidmeister wants to merge 1 commit into
Conversation
48 entries against 78 tests, last touched at 9327e9a, with no CI or hook that can ever say so. The one check that would is `forge snapshot --check`, which pins absolute gas figures. Gitignored so a local run cannot re-commit it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 36 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 (3)
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 branch has not been deployed
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.
Closes #115
.gas-snapshotwas a committedforge snapshotoutput that nothing regeneratesand nothing checks, and it was already wrong. Measured at this branch's base:
30 of 78 test functions are missing —
testCheckImplementationCodeSingleByte,testCloneDeterministicNonceOnlyCollisionReverts, the wholecloneAndInitializeandICloneableV2.initializecontracts among them — andnothing is stale in the other direction, so the drift reads as a smaller suite
rather than as an out-of-date file. That is the harm: a reader treats it as the
record of what the suite costs and what it covers, and it is neither.
Nothing produces or verifies it. Read at rainix
@main, which is what thisrepo's workflows call:
rainix-sol-test.yamlends atforge test -vvv;rainix-sol-static.yamlrunsno-ignored-tests,no-submodules,agent-context-cap,frozen-snapshots-append-only(asrc/generated/<tag>/deploy-pin check that no-ops here),
mutation-ledger,no-custom-natspec,slither,
forge fmt --check,forge lint -D warnings, pre-commit andrainix-sol-single-contract. No snapshot step anywhere, and no pre-commit hookfor one.
CLAUDE.mdandREADME.mdnever mentionforge snapshot.The one check that would keep it honest —
forge snapshot --check— pinsabsolute gas figures, which is exactly what this repo's standing ruling rejects,
since a consumer compiles this library at its own optimizer settings. An
artifact whose only possible enforcement is forbidden should not be committed.
So it is deleted, with the annotation that only existed to license it
(
REUSE.tomlline 5)..gas-snapshotmoves to.gitignoreinstead: a localforge snapshotis still useful, it just must not become a committed recordagain. Its
.soldeerignoreline stays, which is how every other generated pathis handled there —
/out,/cache,/dependencies,/remappings.txtare allgitignored and excluded from the package, so a publish from a tree where someone
has run
forge snapshotstill cannot ship it.QA
src/ortest/reads.gas-snapshot.grep -rn gas-snapshotover the treereturns
REUSE.tomland.soldeerignore, both handled here, plus.audit/scope.json:14, which is a stamp of the file list as it stood at theaudited commit and is left as the record it is.
src/ortest/change, so there is no behaviourto mutate.
function test*set arederived independently and compared with
comm, so the staleness figure is nota reading of the file.
REUSE.tomlentry and (C) its.soldeerignoreentry. Covered A,B; C isdeliberately kept rather than removed - with the file gitignored the entry is
no longer a dangling reference to a path that cannot exist, it is the same
belt-and-braces the other four generated paths get, and dropping it would
leave a publish from a dirty tree able to ship the file.
🤖 Generated with Claude Code