docs: correct the build commands, CI description and release model - #2
Conversation
The rainix-sol-{test,static,legal,prelude} tasks CLAUDE.md told readers to run
do not exist in rainix, at the pinned flake rev or on main; the sol shell
exposes forge, slither and reuse directly. Document the real commands, the real
gates each CI job runs, and the deploy-repo release model (version tracks the
last released snapshot, tag triggers the release, deploy is a separate manual
dispatch). The README claimed the tag release deploys the clone-factory suite
and pins a generated DEPLOY_TAG; it broadcasts nothing and there is no
DEPLOY_TAG in this repo.
|
Warning Review limit reached
Next review available in: 27 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. 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 (2)
✨ 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 |
|
Reviewed 4ab44b0: approve Docs-only, correcting claims the genesis split carried over from rain.factory that were false in THIS repo:
Red check verified and NOT caused by this diff (it touches only two markdown files): rainix-sol/test fails on the single test testProdDeployArbitrum with 'lb.drpc.live … error code -32001: You've reached the usage limit for your current plan', 19/20 passing — the exhausted drpc quota on RPC_URL_ARBITRUM_FORK that is blocking several repos today and needs a human RPC swap. Not rerun, not chased. static + legal green; no unresolved threads. |
Second pass over the genesis split (rainlanguage/rain.factory#46), after #1. Every prose claim in
README.mdandCLAUDE.mdwas checked against what this repo and the rainix reusables it calls actually contain. Docs only — no source, config or CI behaviour changes (those are in a separate PR).What was false
CLAUDE.md— the entire "Build & Test Commands" block named commands that do not exist. It told readers to runnix develop -c rainix-sol-test,rainix-sol-static,rainix-sol-legalandrainix-sol-prelude. rainix defines no such tasks: at the rev this repo'sflake.lockpins (f22d4dc)sol-tasks = [ rainix-sol-artifacts ], and on rainixmainit is[ rainix-sol-artifacts, rainix-sol-single-contract ]. The shell putsforge,slitherandreuseonPATHdirectly, which is what CI invokes. Verified in this repo:nix develop .#sol-shell -c which forge slither reuseresolves all three.Replaced with the commands CI actually runs, plus the
forge soldeer installstep (dependencies/is gitignored, so a fresh clone cannot build without it) and the pin-regeneration command.README.md— "Tagging runsrainix-tag-release, which deploys theclone-factorysuite". It does not, and deliberately:rainix-tag-release"does not broadcast; it ATTESTS that the broadcast already landed", and this repo's ownpackage-release.yamldroppeddeploy-suitesin 685bb2b ("deploy is manual now"). The deploy is aworkflow_dispatchofmanual-sol-artifacts.yaml, run before the tag. The README now says so, and says which order.README.md— "the generatedDEPLOY_TAG". There is noDEPLOY_TAGanywhere in this repo (BuildPointers.solhas adeployTag()helper, but generates no such constant — that is st0x.deploy's shape). Replaced with what actually moves in lockstep with[package].version: the frozensrc/generated/<tag>/snapshot.What was added
CLAUDE.md"Releases and versioning" — the deploy-repo lifecycle was documented nowhere, and it is the repo's defining rule:[package].versionis the last released version, a normal PR must not bump it, the tag moves it, andsrc/generated/<tag>/is append-only. Without this an agent working here treats it like a library repo and bumps the version on merge, which is exactly the drift #46 split the repo to remove.CLAUDE.md"CI" — the old two-line description named the three jobs but nothing they do. Now lists the actual gates in each (slither,forge fmt --check,rainix-sol-single-contract, no-ignored-tests, no-submodules, no-custom-natspec, frozen-snapshots-append-only,reuse lint), and notes that the other two workflows never fire on push.Verified accurate, left alone
script/Deploy.sol's five networks (LibRainDeploy.supportedNetworks()in rain-deploy 0.1.3 returns exactly Arbitrum One, Base, Base Sepolia, Flare, Polygon); the pragma convention claim (=0.8.25for concrete/script/test,^0.8.25for lib/generated — matches every file); the dependency list; the architecture section's file-by-file description; theICloneableV2/ICloneableFactoryV3references (both exist in therain-factorySoldeer dep and are imported).Verification
nix develop github:rainlanguage/rainix/53e96a7d0a97d7c7c75c3b2412521324776fdac6#sol-shell -c bash -c 'forge soldeer install && forge build && forge test'— build clean, 15/20 tests pass; the 5 failures areLibCloneFactoryDeployProdTestfork tests with no local*_RPC_URLenv.forge fmt --checkpasses,reuse lintpasses (28/28 files),deno fmt(the repo's pre-commit md formatter) applied.Known CI red, not caused by this PR:
rainix-sol/testfails ontestProdDeployArbitrumwithvm.createSelectFork ... lb.drpc.live ... error code -32001: You've reached the usage limit for your current plan. The org secretRPC_URL_ARBITRUM_FORKpoints at an exhausted drpc endpoint; it needs a human RPC swap and is red on other org repos today. 19/20 pass.staticandlegalare green.