This repo commits src/generated/ but has no PR-time currency workflow, so nothing checks that the committed generated files match what script/Build.sol produces until rainix-tag-release regenerates and runs release-guard — which happens after the deploy has already been broadcast.
The check that is missing is rainlanguage/rainix/.github/workflows/rainix-copy-artifacts.yaml@main (re-runs Build.sol, forge build, forge fmt, then git diff --exit-code). rainix-tag-release explicitly relies on it being the PR-time twin of its release-time regen.
Conforming siblings that have it:
- rain.metadata.deploy —
.github/workflows/git-clean.yaml, name: Git is clean (newest, 2026-08-20T18:58Z)
- rain.factory.deploy — same shape
- rain.math.float.deploy —
copy-artifacts.yaml, name: copy-artifacts
Missing in: rain.deploy and rain.extrospection.deploy.
Adopt the newest naming (git-clean.yaml / name: Git is clean / job id copy-artifacts) unless there is a reason to prefer the other, in which case standardise the other way across all of them — the split naming is itself worth resolving.
Found while deriving the current deploy-repo standard from rain.deploy and its four conforming consumers.
This repo commits
src/generated/but has no PR-time currency workflow, so nothing checks that the committed generated files match whatscript/Build.solproduces untilrainix-tag-releaseregenerates and runsrelease-guard— which happens after the deploy has already been broadcast.The check that is missing is
rainlanguage/rainix/.github/workflows/rainix-copy-artifacts.yaml@main(re-runs Build.sol,forge build,forge fmt, thengit diff --exit-code).rainix-tag-releaseexplicitly relies on it being the PR-time twin of its release-time regen.Conforming siblings that have it:
.github/workflows/git-clean.yaml,name: Git is clean(newest, 2026-08-20T18:58Z)copy-artifacts.yaml,name: copy-artifactsMissing in: rain.deploy and rain.extrospection.deploy.
Adopt the newest naming (
git-clean.yaml/name: Git is clean/ job idcopy-artifacts) unless there is a reason to prefer the other, in which case standardise the other way across all of them — the split naming is itself worth resolving.Found while deriving the current deploy-repo standard from rain.deploy and its four conforming consumers.