Development record
A release cut in progress is invisible to every other session, so a change landing on main during a cut is discovered in the changelog rather than chosen. abcd should let launch declare a cut lease that peer sessions, merges and record closes can see: a session about to merge or close a record during a lease is told which cut it would join and who is cutting, and the cutting session rules on the ordering. The convention is in AGENTS.md (concurrent sessions); this seeds the mechanical form, alongside session presence (iss-2608220750029993) and itd-33.
issueresolvedminoriss-2609091037191879
A release cut in progress is invisible to every other session, so a change landing on main during a cut is discovered in the changelog rather than chosen. abcd should let launch declare a cut lease that peer sessions, merges and record closes can see: a session about to merge or close a record during a lease is told which cut it would join and who is cutting, and the cutting session rules on the ordering. The convention is in AGENTS.md (concurrent sessions); this seeds the mechanical form, alongside session presence (iss-2608220750029993) and itd-33.
Remedy grounds (2026-09-29)
- SOTA check: the Kubernetes release phases (https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md, read 2026-09-29) announce code freeze ahead through the release calendar, let only release-blocking changes proceed past it, and leave exceptions to the owning SIG: an announced window plus an owner's ruling, the shape of the AGENTS.md convention.
- The implement run already refuses a second session's release step (
commands/implement.md), so the lease generalises a shipped primitive to sessions outside a run. - Rejected: a forge branch lock for the cut, which blocks the prose fixes a cut needs and is a remote mutation adr-44 keeps behind an explicit verb.
Grounds
- pursued: a session cutting a release holds every other session's merge until its tag; shown wrong if a land step arms a merge while another session's release reservation is live
Resolution (2026-10-15)
- The remedy above predates the ruling it waited on and is kept as written. It was replaced by decision 11 on itd-2609151838312703: the hold is a reservation of the release,
rel-vX.Y.Z, read by every other session's land step, not a cut lease taken bylaunch ship. The deferral it carried no longer applies and was removed.
Frontmatter
| id | iss-2609091037191879 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609091037191879-a-release-cut-in-progress-is-invisible.md
open on GitHub ↗ · commit history ↗
References1
- itd-2609151838312703Sessions under any account, on any machine or in the cloud announce what they are doing through short fixed-form announcements on the shared remote, a person reads everyone's status with one command, and what is really a hold stays a reservationrelated
mentions4
- adr-44abcd never mutates a remote uninvited, and identity derives from caller-local facts
- iss-2608220750029993Session-presence detection for shared checkouts: each live session leases a marker (session id, intended branch, started-at) in the checkout, and the pre-commit gate warns when another live session's lease is present — the armed-detector rung of the AGENTS.md concurrent-session conventions, which are vigilance-only until this ships. Lease home needs thought: the local tier is per-worktree by design, and the hazard is precisely two sessions in ONE worktree, so the lease belongs to the checkout, not the branch.
- itd-33Multiple Agents Coordinate On Intent And Spec Work Without Duplicating Effort Or Producing Competing Artefacts
- spc-2610150728396006sessions-announce-what-they-are-doing