Context
release_txn.RegistrySim/IssueSim define the exactly-once contract. Wire real npm/cargo/PyPI/crates publish + gh release create + issue close, with a per-registry 'version already exists' => SUCCESS mapping.
Acceptance
Merging a release PR publishes once, tags once (nonce mutex), closes issues once; idempotent under retry/crash.
Seam
tools/conductor/release_txn.py.
Context
release_txn.RegistrySim/IssueSimdefine the exactly-once contract. Wire real npm/cargo/PyPI/crates publish +gh release create+ issue close, with a per-registry 'version already exists' => SUCCESS mapping.Acceptance
Merging a release PR publishes once, tags once (nonce mutex), closes issues once; idempotent under retry/crash.
Seam
tools/conductor/release_txn.py.