PR #343 (closing #341) removes the snapshot-generate-cmd input from rainix-tag-release entirely. Every caller passing it must drop that line, or its release workflow fails with an unexpected-input error the moment #343 merges.
The five callers, and the ordering hazard
Today's rainix default for the input is the freezing form, forge script ./script/Build.sol --sig "cutRelease()" && forge fmt.
| repo |
passes |
dropping the line today |
rain.factory.deploy |
the freezing form |
no-op (matches default) |
rain.metadata.deploy |
the freezing form |
no-op |
rain.deploy |
the freezing form |
no-op |
rain.extrospection.deploy |
the freezing form |
no-op |
rain.math.float.deploy |
forge script ./script/Build.sol && forge fmt (NON-freezing) |
changes behaviour — it would fall back to the freezing default |
So the first four can drop the line now, safely, ahead of #343. rain.math.float.deploy must not drop it until #343 has merged, after which the workflow runs the non-freezing Build.sol run() itself and the line is redundant rather than the thing selecting that form.
Also required after #343 merges
RAINIX_SHA must be bumped, or the new byte-comparison and monotonicity checks stay inert: the workflow runs release-guard from the pinned SHA, whose guard predates them. The #341 crash is fixed by the merge; the added guarantees are not live until the pin moves.
Done when
🤖 Generated with Claude Code
PR #343 (closing #341) removes the
snapshot-generate-cmdinput fromrainix-tag-releaseentirely. Every caller passing it must drop that line, or its release workflow fails with an unexpected-input error the moment #343 merges.The five callers, and the ordering hazard
Today's rainix default for the input is the freezing form,
forge script ./script/Build.sol --sig "cutRelease()" && forge fmt.rain.factory.deployrain.metadata.deployrain.deployrain.extrospection.deployrain.math.float.deployforge script ./script/Build.sol && forge fmt(NON-freezing)So the first four can drop the line now, safely, ahead of #343.
rain.math.float.deploymust not drop it until #343 has merged, after which the workflow runs the non-freezingBuild.sol run()itself and the line is redundant rather than the thing selecting that form.Also required after #343 merges
RAINIX_SHAmust be bumped, or the new byte-comparison and monotonicity checks stay inert: the workflow runsrelease-guardfrom the pinned SHA, whose guard predates them. The #341 crash is fixed by the merge; the added guarantees are not live until the pin moves.Done when
rain.factory.deploydrops the linerain.metadata.deploydrops the linerain.deploydrops the linerain.extrospection.deploydrops the linerain.math.float.deploydrops the line (after fix(tag-release): determinism check that never removes the frozen record #343)RAINIX_SHAbumped past fix(tag-release): determinism check that never removes the frozen record #343🤖 Generated with Claude Code