Skip to content

docs: scope the live-CloneFactory claims to the revision it pins - #194

Merged
thedavidmeister merged 4 commits into
mainfrom
2026-09-20-issue-110-live-factory-revision
Sep 21, 2026
Merged

thedavidmeister merged 4 commits into
mainfrom
2026-09-20-issue-110-live-factory-revision

Conversation

@thedavidmeister

@thedavidmeister thedavidmeister commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Closes #110

Problem

The deployed CloneFactory is not this repo's code. It lives in
rain.factory.deploy,
which inlines rain-factory by versioned import prefix and moves that pin only
on a manual sol-v* tag, while this repo autopublishes a patch bump on every
content-changing merge. README.md:20-22, CLAUDE.md:19-20 and
src/lib/LibICloneableFactoryV4.sol:50-51 asserted the equivalence with no
qualifier, so a reader could take a guard documented at this head as present on
chain.

The gap is live today. rain.factory.deploy main pins rain-factory = "0.1.9"
— sol-v0.1.9 is c1c2afd3d88405d3228cb3b21e55c9d63ba8f5be (2026-08-20),
against this head's 0.1.23. The runtime code at
0xAb9741E6f843452D649FCa35899d8F9A36e7DcA8 contains neither
DelegatedImplementation() (0xe6f6d6de, the EIP-7702 / 0xef rejection, #73)
nor CloneAddressOccupied(address) (0x134a0bbc, #74), both of which this head
documents and implements, along with the InitializationFailed widening for
non-conforming initialize answers (#61).

Not affected: the salt derivations, domain tags and predicted clone addresses.
git diff sol-v0.1.9 origin/main -- src/interface/ICloneableFactoryV4.sol is
NatSpec plus an import-path move, so an address predicted against the live
factory is still correct.

Fix

Three short scopings — each claim now names the revision it is about, rather
than being dropped or backed by a guard, per the owner rulings. No behaviour
change.

What this repo cannot fix

QA

  • Discriminating tests: n/a — documentation only; tests never assert comment or
    README text, so there is no test this diff could make fail on base.
  • Mutations applied: n/a — no executable change. The only src/ edit is NatSpec
    above the library keyword; the compiled library is byte-identical.
  • Oracle: live chain state, independent of this repo. cast code 0xAb9741E6f843452D649FCa35899d8F9A36e7DcA8 on Ethereum mainnet, Base and
    Arbitrum One, compared byte for byte against rain.factory.deploy's frozen
    src/generated/0_1_10/CloneFactory.sol RUNTIME_CODE and against this head's
    error selectors.
  • Category check: the issue names three claim sites; grepped for the whole
    category (grep -in deploy README.md CLAUDE.md, plus
    deployed|live|on-chain|rain-factory-deploy across src/) and those three
    are the complete set. The issue's fourth part — the structural drift detector
    — is covered by rainix-autopublish cannot see that a downstream repo pins a many-revisions-old copy of what it just published rainix#393 rather than here, per the shared-CI
    ruling.

🤖 Generated with Claude Code

The deployed `CloneFactory` lives in `rain.factory.deploy` and embeds the
`rain-factory` revision that repo pins, which can lag this head. The README,
CLAUDE.md and the `LibICloneableFactoryV4` NatSpec each asserted the
equivalence unconditionally, so a reader could take a guard documented here as
present on chain.

Closes #110

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

coderabbitai Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 3 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: 0c7466fc-99de-4341-add7-d64ea12f8ff9

📥 Commits

Reviewing files that changed from the base of the PR and between 7a6cba0 and 0fe661a.

📒 Files selected for processing (3)
  • CLAUDE.md
  • README.md
  • src/lib/LibICloneableFactoryV4.sol

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 and others added 3 commits September 21, 2026 11:13
The library header carried its split's issue number, a claim about the test
suite, and two paragraphs arguing why the derivations live in one place and
what `msg.sender` is read for — all visible in the code below it or stated on
`ICloneableFactoryV4`. The README and CLAUDE.md paragraphs restated the
interface spec and named the deployed pins twice.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@thedavidmeister
thedavidmeister merged commit 1919d99 into main Sep 21, 2026
4 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.

[F06] [MEDIUM] The live CloneFactory embeds rain-factory 0.1.9 while this repo publishes 0.1.23, and nothing here detects the gap

2 participants