The deployment half of rain.factory: the concrete CloneFactory contract,
its deployed address + codehash pins (LibCloneFactoryDeploy), the frozen
per-tag deploy-pin snapshots under src/generated/<tag>/, and the deploy
script.
The library half — the ICloneable* interfaces — lives in
rain.factory and is imported
here as the rain-factory Soldeer package. Consumers that need only the
interfaces depend on rain-factory; consumers that need the deployed
address/codehash pins depend on rain-factory-deploy.
This is a deploy repo: releases are manual sol-v* tags, not merges.
The on-chain deploy is a separate, human-dispatched step, run before
tagging: the Manual sol artifacts workflow runs script/Deploy.sol for the
clone-factory suite. Tagging then runs rainix-tag-release, which regenerates
the snapshot for the tagged version, verifies the live chains match those fresh
pins, publishes rain-factory-deploy to Soldeer, and commits the frozen
snapshot back to main. It never broadcasts a deploy itself.
Nothing publishes on merge, so [package].version and the frozen
src/generated/<tag>/ snapshot it names only ever move together.
See rainlanguage/rain.factory#46 for the split rationale.