You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Harden legacy lane rename handoff publication against process crashes #158
Legacy rename-lane still stamps its handoff with a direct redirect after proving the splice (lanes-edit.sh, the Rule 3 RENAMED stamp). Its existing EXIT rollback restores the four-file transaction on handled failures, but a process crash or power loss during that redirect can leave a partial handoff before rollback runs.
This predates PR #121. That PR now shares the writer mutex with restart publication and refuses unfinished/failed restart ownership before rename. It explicitly scopes atomic publication to restart preservation and resume stamps; ordinary rename's crash durability remains separate.
Harden the individual handoff publication with an exclusive same-directory temporary file and atomic replacement of the resolved target while retaining the existing splice proof, symlink behavior, mutex and rollback bookkeeping. Assess broader four-file crash recovery separately rather than claiming that a single atomic stamp makes the entire rename crash atomic.
Validate with sandboxed write/replace faults and interruption tests that preserve the canonical handoff bytes and existing rollback behavior. Do not use real lane data or real GitHub test repositories.
Source: post-cap Copilot discussions on PR #121, recorded under the 2026-09-16 two-round ruling in AGENTS.md. This follow-up does not release #121's existing merge hold.
CLAIMED — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-11T16:37:01Z, for #158
Logged in lanes/log/openRepoTools-4.md at 9e45d40023e7aa6ef727a2f5ef35191eb2cc4df3.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoTools#158:
none
2. `gh pr list --repo opensoft/openRepoTools --state all --search "#158"`, kept where the row or its body names `#158`:
121 Keep supervised manual ctx as legacy compatibility and refuse managed lanes feat/supervised-context-restart MERGED
3. `git ls-remote --heads git@github.com:opensoft/openRepoTools` branches naming `158` as a whole token:
none
RELEASED — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-19T11:58:30Z, for #158 — #158 is closed by PR #212 (2732d59); lane 4's claim ends
Activity
brettheap commentedon Oct 11, 2026
CLAIMED — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-11T16:37:01Z, for #158
Logged in
lanes/log/openRepoTools-4.mdat9e45d40023e7aa6ef727a2f5ef35191eb2cc4df3.The three reads (lane-collision-protocol Rule 1):
Publish rename-lane's Rule 3 handoff stamp through a same-directory t…
Test that an in-place handoff in a read-only directory refuses with e…
Publish rename-lane's Rule 3 handoff stamp through a same-directory t…
brettheap commentedon Oct 19, 2026
RELEASED — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-19T11:58:30Z, for #158 — #158 is closed by PR #212 (2732d59); lane 4's claim ends