Skip to content

CLAUDE.md: name the two path lists a new non-source file must join - #243

Open
thedavidmeister wants to merge 1 commit into
mainfrom
2026-09-21-issue-114-non-source-license-lists
Open

thedavidmeister wants to merge 1 commit into
mainfrom
2026-09-21-issue-114-non-source-license-lists

Conversation

@thedavidmeister

Copy link
Copy Markdown
Contributor

Closes #114

"All source files must include SPDX headers" was the whole licensing
instruction, and it covers only the files that carry a header. reuse lint is a
required gate — .github/workflows/rainix-sol.yaml calls rainix's
rainix-sol.yaml, whose legal job runs it — and it covers every tracked file,
not just source.

The repo licenses its non-source files through a hand-maintained path list in
REUSE.toml (16 entries: .gas-snapshot, .github/workflows/**/, CLAUDE.md,
foundry.toml, flake.nix, …). A session adding a new root-level or config
file gets a red reuse lint and nothing told it where the fix goes.

The same file also has to be listed in .soldeerignore or it ships inside the
published rain-factory package. Nothing gates that at all, so it fails
silently. #52 previously removed stale entries from exactly these two lists,
which is the evidence that they are maintained by hand and drift.

CLAUDE.md is 3906 bytes on this branch against the 4096 agent-context-cap
(3807 on main). With all seven CLAUDE.md fixes from this audit batch landed it
comes to 4048.

Textual overlap with the PR closing #164. That one rewrites the second
sentence of this same paragraph (the SPDX header content); this one appends a
third. Both branch off main and each stands alone; I merge main into
whichever lands second and resolve.

QA

  • Discriminating tests: n/a — CLAUDE.md is process documentation, and tests
    never assert doc text.
  • Mutations applied: n/a — no src/ or test/ code changed.
  • Oracle: REUSE.toml and .soldeerignore as they stand in the tree, and
    rainlanguage/rainix/.github/workflows/rainix-sol-legal.yaml for the gate.
  • Category check: the instruction appears once. README.md carries no
    licensing or packaging instruction, so there is no second copy to correct. The
    inverse defect — entries in these lists naming paths that no longer exist —
    was Remove the submodule-era residue — REUSE.toml and .soldeerignore still name foundry.lock and .gitmodules, neither of which exists #52 and is already closed.

🤖 Generated with Claude Code

A non-source file carries no SPDX header. It is licensed by a path entry in
`REUSE.toml`, which `reuse lint` gates, and kept out of the published package by
`.soldeerignore`, which nothing gates.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@thedavidmeister thedavidmeister self-assigned this Sep 21, 2026
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 41 minutes.

Check out review usage here.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: f5c5ec34-5df7-4da5-9e2a-8f952fe4bec0

📥 Commits

Reviewing files that changed from the base of the PR and between 710dff5 and 5a0bc5d.

📒 Files selected for processing (1)
  • CLAUDE.md

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
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.

[F10] [LOW] "All source files must include SPDX headers" omits the two path lists a new non-source file must also be added to

1 participant