Skip to content

Cut release 0.1.10: version bump + frozen snapshot in lockstep - #26

Merged
thedavidmeister merged 1 commit into
mainfrom
2026-08-21-cut-0.1.10
Aug 21, 2026
Merged

Cut release 0.1.10: version bump + frozen snapshot in lockstep#26
thedavidmeister merged 1 commit into
mainfrom
2026-08-21-cut-0.1.10

Conversation

@thedavidmeister

@thedavidmeister thedavidmeister commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Cuts release 0.1.10 on the same two-field contract PR #24 established for 0.1.9: the tagged commit must carry [external.package].version == the tag version AND the frozen src/generated/<tag>/ snapshot it names. Both move here, in one cutRelease() + forge fmt run, with the released-suites lib regenerated alongside.

Why 0.1.10 and not a retag of 0.1.9

sol-v0.1.9 was tagged yesterday and its Package Release run (32399215966) died at Regenerate the release snapshot (read-only determinism check) — the crash rainlanguage/rainix#343 fixed (that step used to rm -rf src/generated/<version>/ first, and this repo's LibCloneFactoryReleased.sol imports every frozen record, so removing the directory made the tree uncompilable). Nothing published: Soldeer has zero revisions for rain-factory-deploy, so 0.1.10 is the first. sol-v0.1.6/0.1.7/0.1.8/0.1.9 all stay as dead markers; no tag is deleted.

No content change, so no new broadcast

src/generated/0_1_10/CloneFactory.sol is byte-identical to 0_1_9/ and to the rolling candidate/ — all three sha256 c71e54c84144abe41487a72a549c8bc8bfe88f13fe56d5c2139789523714d819. Same creation code, same BYTECODE_HASH, same DEPLOYED_ADDRESS 0xAb9741E6f843452D649FCa35899d8F9A36e7DcA8. The address is a pure function of the bytecode under the deterministic Zoltu deployer, so the contracts deployed for 0.1.9 already satisfy the chain attestation and no Manual sol artifacts dispatch is needed for this release.

QA

  • Discriminating tests: testSuitesLiveOnEverySupportedNetwork now carries two released subjects instead of one and fork-verifies both against all seven live networks in CI (locally env-gated: the only failure in 28 is its missing ARBITRUM_RPC_URL). testEveryFrozenSnapshotIsReleased is the one that fails on a freeze landing without its releasedSuites() entry, or the reverse — it is why the generated lib is regenerated in this same commit rather than after.

  • Mutations applied: n/a - generated freeze plus one version line, no hand-written logic to mutate. The standing gates already discriminate: a hand edit inside src/generated/0_1_9/ fails the frozen-snapshots-append-only gate, and drift between the freeze and source fails CloneFactoryDeploySnapshotTest.

  • Oracle: the release path's own two gates, run locally against this commit at the RAINIX_SHA the release will use (3d1c85e), not restated from the workflow:

    • determinism check — forge script ./script/Build.sol && forge fmt (the non-freezing run(), post-#343) leaves git status --porcelain empty;
    • publish guard — rainix-static release-guard --version 0.1.10 reports clean — foundry.toml version, src/generated/0_1_10/ present and newest, tree regenerates unchanged, frozen release matches src/generated/candidate/.

    That is the exact step pair that rejected 0.1.9, passing here.

  • Category check: completes the ruled "release"; covered: version bump + snapshot freeze + released-suites regeneration, the fields the guard names.

Blocker this PR does not resolve

Merging this is necessary but not sufficient to release. .github/workflows/package-release.yaml still passes snapshot-generate-cmd: to rainix-tag-release@main, and rainlanguage/rainix#343 deleted that input — so a sol-v0.1.10 push today fails at workflow load with Invalid input, snapshot-generate-cmd is not defined in the referenced workflow, before the guard job starts, and burns the tag for nothing. #25 removes that line and is the prerequisite; see rainlanguage/rainix#344. The tag must go on a commit that carries both this snapshot and that deletion.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added support for the Soldeer 0.1.10 release artifact.
    • Updated the available release suite to include versions 0.1.9 and 0.1.10.
  • Maintenance

    • Updated the project’s Soldeer release version to 0.1.10.

…ckstep

Same two-field release-guard contract PR #24 established: the tagged commit
must carry `[external.package].version` == the tag version AND the frozen
`src/generated/<tag>/` snapshot it names. Both move here, cut in one
`cutRelease()` + `forge fmt` run, with the released-suites lib regenerated
alongside.

No content change. `src/generated/0_1_10/CloneFactory.sol` is byte-identical
to `0_1_9/` and to the rolling `candidate/` (sha256
c71e54c84144abe41487a72a549c8bc8bfe88f13fe56d5c2139789523714d819), so the
already-deployed contracts satisfy the chain attestation and no new broadcast
is needed. 0.1.9 was never published: its release run (32399215966) died in
the determinism check, the crash rainlanguage/rainix#343 fixed.

sol-v0.1.6/0.1.7/0.1.8/0.1.9 stay as dead markers.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8344b035-66e1-4ec0-a6b6-44ff9fde7bc1

📥 Commits

Reviewing files that changed from the base of the PR and between 5af49cb and 11de225.

⛔ Files ignored due to path filters (1)
  • src/generated/0_1_10/CloneFactory.sol is excluded by !**/generated/**
📒 Files selected for processing (2)
  • foundry.toml
  • src/lib/LibCloneFactoryReleased.sol

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The Soldeer release version changes from 0.1.9 to 0.1.10. LibCloneFactoryReleased imports the frozen 0.1.10 deployment data and adds its suite to releasedSuites().

Changes

CloneFactory release registration

Layer / File(s) Summary
Register CloneFactory 0.1.10
foundry.toml, src/lib/LibCloneFactoryReleased.sol
Updates the Soldeer version, imports the frozen 0.1.10 artifact data, and expands releasedSuites() with the clone-factory@0_1_10 suite.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 11de2

The PR updates the release version and adds the matching frozen generated snapshot and release index; no concrete correctness or runtime risk is identified at this head, so no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the 0.1.10 release and accurately summarizes the version bump and frozen snapshot changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-08-21-cut-0.1.10

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.

@thedavidmeister
thedavidmeister merged commit cd5490b into main Aug 21, 2026
5 checks passed
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.

1 participant