From 2968c7a0cb07f5120bc29137c79a26e0b79a5a0c Mon Sep 17 00:00:00 2001 From: David Meister Date: Sat, 15 Aug 2026 07:40:41 +0000 Subject: [PATCH 1/2] chore: remove submodule-era residue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This repo has no submodules: no .gitmodules, no lib/, and `git ls-files --stage` reports zero gitlinks. Dependencies come from soldeer (`libs = ["dependencies"]`, `soldeer.lock`). - Delete `foundry.lock`. It is Foundry's git-submodule lockfile and its 2 pins are both for `lib/` paths that do not exist. Both contradict the live build: `fcbae539` is openzeppelin-contracts v5.5.0 while soldeer resolves 5.6.1, and `2e47e41` is no tagged rain.solmem release while soldeer resolves rain-solmem 0.1.3. It also has no `forge-std` entry. `forge build` emitted one `Dependency '...' not found at expected path` warning per entry; it now emits none. - REUSE.toml: drop the `foundry.lock`, `.gitmodules` and `.vscode/**/` annotation entries. None of those paths exist in the tree. - .soldeerignore: drop `/foundry.lock`, `.gitmodules`, `/lib` and `CLAUDE.md`, none of which exist; correct `.coderabbitai.yaml` to `.coderabbit.yaml`, the real CodeRabbit config filename, so a config added later is actually ignored rather than published. Submodules cannot return here: rainix CI's `no-submodules` check fails on a root `.gitmodules` or any committed gitlink. The `.soldeerignore` entries for `.DS_Store`, `.vscode`, `.pre-commit-config.yaml` and the build/publish outputs are left alone — those are absent from a clean checkout by design and present when `soldeer push` runs. Closes #29 Co-Authored-By: Claude Opus 5 (1M context) --- .soldeerignore | 6 +----- REUSE.toml | 3 --- foundry.lock | 8 -------- 3 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 foundry.lock diff --git a/.soldeerignore b/.soldeerignore index b51fd62..308e2d0 100644 --- a/.soldeerignore +++ b/.soldeerignore @@ -1,14 +1,12 @@ .DS_Store -.coderabbitai.yaml +.coderabbit.yaml .gas-snapshot .git .github .gitignore -.gitmodules .pre-commit-config.yaml .soldeerignore .vscode -CLAUDE.md /audit /cache /dependencies @@ -16,9 +14,7 @@ CLAUDE.md /docs /flake.lock /flake.nix -/foundry.lock /foundry.toml -/lib /meta /out /remappings.txt diff --git a/REUSE.toml b/REUSE.toml index 9367466..d1db1d6 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -4,9 +4,7 @@ version = 1 path = [ ".gas-snapshot", ".github/workflows/**/", - ".vscode/**/", ".gitignore", - ".gitmodules", ".soldeerignore", "audit/**/", "README.md", @@ -16,7 +14,6 @@ path = [ "remappings.txt", "slither.config.json", "REUSE.toml", - "foundry.lock", "soldeer.lock", ] SPDX-FileCopyrightText = "Copyright (c) 2020 Rain Open Source Software Ltd" diff --git a/foundry.lock b/foundry.lock deleted file mode 100644 index b6ef1d9..0000000 --- a/foundry.lock +++ /dev/null @@ -1,8 +0,0 @@ -{ - "lib/openzeppelin-contracts": { - "rev": "fcbae5394ae8ad52d8e580a3477db99814b9d565" - }, - "lib/rain.solmem": { - "rev": "2e47e41af85a711d837b2518656db0efdae814c2" - } -} \ No newline at end of file From d07c2dde7f9fc45c39f41c267239f10a3935a2cb Mon Sep 17 00:00:00 2001 From: David Meister Date: Sat, 15 Aug 2026 07:45:42 +0000 Subject: [PATCH 2/2] chore: restore CLAUDE.md to .soldeerignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `.soldeerignore` is a publish filter, not a description of the tree. An entry naming a file that is absent today is a forward-looking rule, not residue: dropping it publishes that file into the soldeer package if anyone adds it later. The previous commit wrongly removed `CLAUDE.md` on the grounds that no such file exists here, which is precisely the case the filter is for. Only entries tied to the dead submodule era go, because submodules cannot return — rainix CI's `no-submodules` check fails on a root `.gitmodules` or any committed gitlink. That is `.gitmodules`, `/lib` and `/foundry.lock`, and nothing else. Every remaining entry stays whether or not its path exists today. The misspelled `.coderabbitai.yaml` stays corrected in place to `.coderabbit.yaml` rather than dropped, for the same reason: dropping it would remove the protection. `REUSE.toml` is the opposite case and is unaffected. Its annotations describe files that exist, so a path absent from the tree there is residue and still goes. Co-Authored-By: Claude Opus 5 (1M context) --- .soldeerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.soldeerignore b/.soldeerignore index 308e2d0..6654099 100644 --- a/.soldeerignore +++ b/.soldeerignore @@ -7,6 +7,7 @@ .pre-commit-config.yaml .soldeerignore .vscode +CLAUDE.md /audit /cache /dependencies