Remove the submodule-era residue: dead foundry.lock annotation in REUSE.toml - #263
Conversation
foundry.lock is Foundry's git submodule lockfile. This repo resolves dependencies through soldeer (foundry.toml libs = ["dependencies"], soldeer.lock pins 17 packages), has no lib/ directory, no .gitmodules and zero gitlinks, so the file was deleted in the submodule -> soldeer migration. Its REUSE.toml annotation was left behind and named a path that does not exist. reuse lint tolerates annotations for missing paths, which is why this survived; it still reports 58/58 files covered with the line gone. Closes #262 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
WalkthroughThe change removes the deleted ChangesREUSE annotation cleanup
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This change removes an obsolete REUSE annotation for a lockfile that is no longer present and does not alter runtime or product behavior. No actionable merge-blocking risk remains after normal checks and review. Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
🤖 ai:vetter |
Closes #262
What changed
One line deleted from
REUSE.toml, and nothing else:"flake.nix", - "foundry.lock", "foundry.toml",Why
foundry.lockis Foundry's git submodule lockfile — it pins the commit of each dependency vendored underlib/. This repo resolves dependencies through soldeer instead, so the annotation names a path that does not exist in the tree.Verified on this branch that the submodule world is genuinely gone, not merely unreferenced:
foundry.tomlsetslibs = ["dependencies"];soldeer.lockpins 17 packageslib/directory, no.gitmodules, nofoundry.lockgit ls-files --stage | grep -c ^160000→0(zero gitlinks), so theno-submodulesstatic check passes by constructiongit grep -E 'foundry\.lock|\.gitmodules'outsidedependencies/returns nothing; every remaininglib/hit issrc/lib/,test/lib/, or a soldeer dependency's ownsrc/lib/import pathScope is rain.erc4626.words only, per the issue. The same residue in sibling repos, and the repos that legitimately still use git submodules (
flow,rain.tier.interface), are untouched.Verification
Full rainix suite run locally against the pinned CI toolchain (
github:rainlanguage/rainix/53e96a7d0a97d7c7c75c3b2412521324776fdac6#sol-shell), matching each job inrainix-sol.yamlandgit-clean.yaml:legalreuse lintstaticslither .staticforge fmt --checkstaticrainix-sol-single-contractstaticno-submodules.gitmodulestestforge test -vvvcopy-artifactsscript/Build.sol→forge build→script/build.sh→forge fmt→git statusREUSE.tomlis the only modified pathQA
reuse lintwith and without the line, becauselegalis the only job this diff can touch. Both were run in the pinned shell:origin/main(annotation present) reports 58/58 files covered and compliant; this branch (annotation removed) reports 58/58 files covered and compliant. Identical. That is the point — the annotation matched zero files, so removing it takes nothing's coverage away, and no check can distinguish the two trees.reuse linttolerates annotation paths that do not exist, which is exactly why this line survived unnoticed and why the issue states it does not block its own deletion. There is no mutant here that any check kills; claiming otherwise would be inventing a signal that does not exist.foundry.lockis Foundry's git-submodule lockfile, meaningful only where dependencies are vendored underlib/. Checked against the repo itself rather than against the issue:git log --all -- foundry.lockreturns no commits,git cat-file -e HEAD~1:foundry.lockfails,ls lib .gitmodulesfinds neither, andgit ls-files --stage | grep ^160000is empty. So the annotation is unambiguously dead, not a pin for something present.REUSE.tomlline 11 removed, (b) no.gitmodules/lib//foundry.lockreference anywhere outsidedependencies/, (c) CI green on test / static / legal. All three covered, evidenced above. The issue's explicit out-of-scope — sibling repos carrying the same residue, andflow/rain.tier.interfacewhich genuinely still use submodules — is untouched.🤖 Generated with Claude Code