Uh oh!
There was an error while loading. Please reload this page.
docs: correct six stale README claims, one of which reds a consumer's CI - #51
Conversation
The README named script/BuildPointers.sol, which rainix's rainix-copy-artifacts.yaml rejects, plus workflow filenames, a shell task set, a publish trigger and a test-suite claim that no longer match the tree. The four interface NatSpecs carried the same dangling git-clean.yaml path. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Warning Review limit reached
Next review available in:59 minutes Limit details: You’ve used all 1 included review currently available under your plan. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
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 |
thedavidmeister
commented
Aug 16, 2026
Reviewed 9bc140e: ready — Closes #42. The issue named four false claims. The sweep found six, and two are worse than a stale filename:
The original four stand: Two decisions I agree with. Checks are listed as the tools that actually run — That correction also lands on me. I told this agent the suite was 102 tests across 13 suites. It is 84 across 15, which I have since confirmed by running Also fixed: All four checks green, and the diff is disjoint from #50 which landed since. CodeRabbit reports |
Uh oh!
There was an error while loading. Please reload this page.
Closes#42
Docs-only. Every claim in
README.mdwas checked against the tree ataf4e5a9, not just the four the issue named, and two more were wrong.The one that costs a consumer
The README told consumers to name their codegen script
script/BuildPointers.sol. rainix'srainix-copy-artifacts.yamlregenerates fromscript/Build.solmatched by that exact path, and hard-errors whensrc/generated/is committed without it. This repo's own script is correctlyBuild.sol, so nothing here goes red and the whole cost lands on whoever copies the instruction.The rewrite does not just swap the filename — it says the name is not a free choice and why, so the next reader does not "improve" it back.
Everything corrected
script/BuildPointers.solscript/Build.sol.github/workflows/git-clean.yaml.github/workflows/build-pointers.yaml.github/workflows/publish-soldeer.yaml, namedPublish to Soldeer.github/workflows/package-release.yaml, namedPackage Releaseforge testsuite"rainix-sol-static,rainix-sol-legalPATHin the pinned shell, and not a package in rainixmain's flake eitherv<x.y.z>onmain" to publishmainautopublish; tags aresol-v<x.y.z>and are cut by the workflowpackage-release.yamlpassessoldeer-package: rain-sol-codegenexplicitlyreuse lintin this repo's own shell reports 3.3IIntegrityToolingV1,IOpcodeToolingV1,IParserToolingV1,ISubParserToolingV1— "externs" is an implementer, not an interfaceThe last four are the two the issue did not have, plus the two the issue framed only as a filename swap but which were wrong about the mechanism as well.
nix develop -c rainix-sol-legal, the command the License section told a reader to run to verify compliance, was one of the non-existent tasks — it fails outright.The five dangling
git-clean.yamlreferences across the four interface NatSpecs are repointed atbuild-pointers.yaml. Those ship to Soldeer consumers, so a dead path there travels further than the README's.build-pointers.yaml's own comment claimed the reusable "runs BuildPointers.sol"; it runsscript/Build.sol. Corrected, and the two sentences of history in it dropped, per comments describing current behaviour only.Decisions
No test count in the README. The false claim was "no
forge testsuite"; the fix is that there is one and here is how to run it. A number would be stale by the next PR — the claim this issue exists to kill was itself a count-shaped assertion that rotted.Checks are listed as the tools, not as wrappers.
forge test,forge fmt --check,slither .,reuse lintare exactly what rainix'srainix-sol-{test,static,legal}reusables run, and all four work in the shell today. The oldrainix-sol-*task names were the failure mode being fixed, so the replacement points at the workflow file for the org-wide checks rather than re-enumerating names that can be renamed again.The Publish section states the next-version invariant.
[package].versionis0.1.7while Soldeer holds0.1.6; a reader who assumes the manifest is the last publish will bump it by hand and break the gate. This is current behaviour ofrainix-autopublish.yamlas wired here — it does not pre-empt #24, which is about whether that lifecycle should live here at all.No sibling files touched. The stale-reference grep is clean of
LibFs.sol,LibCodeGen.sol,LibHexString.solandfoundry.lock; nothing here needs to land in another agent's PR.Verified
All four run against this branch, in the repo's own pinned shell:
forge test— 84 passed, 0 failed, 0 skipped, 15 suitesforge fmt --check— cleanslither .— 9 contracts, 98 detectors, 0 resultsreuse lint— 43/43 files, compliant with REUSE 3.3pre-commit run --all-files— all hooks passforge script script/Build.sol— runs clean and leavessrc/generated/CodeGennable.solbyte-identical, so the currency check the README now describes is the one that actually holdsQA
command -vfor the two task names are run above, and every filename in the diff is a path that exists in the tree.rainix-sol-*tasks, the tag-vs-merge publish trigger, the derived-package-name claim and REUSE 3.2.af4e5a9and rainixmain—rainix-copy-artifacts.yaml's exact-match error,rainix-autopublish.yaml'ssoldeer-packageinput andsol-vtag, rainix'sflake.nixpackage list for the task names,git ls-remote --tagsfor the tag shape, and each tool's own output for the counts. Not any prior statement of the counts: the issue body's "4 suites, 9 tests" predates the coverage work, and audit: record the adversarial mutation-test scan of sol-v0.1.6 #49's body puts the post-coverage suite at 102 tests, butforge testonmainreports 84 across 15 suites andgrep -c 'function test'overtest/independently agrees at 84. Flagging that separately; nothing in this diff rests on it, since the README now carries no count.grepforgit-clean,BuildPointersandpublish-soldeeracross the repo returns nothing.