This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

2026-10-28 — When another copy's reservation on a shared file keeps being renewed past its expiry while a lane's branch waits at the pull-request step, the lane compares changed hunks instead of whole files. It fetches the other copy's pushed branch or open pull request for that reservation and diffs it against its own branch on each shared file. Where no hunk overlaps and neither side edits the same function or the same entry of a registration list, the lane opens its pull request, names the overlapping reservation in the body and states that the hunks are disjoint, and leaves a real conflict to the merge queue. Two edits in one function count as disjoint when they are separate statements with no data dependency between them (ruled 2026-10-28 for route-runner-model-r2 against #1153 in readDrain). Where hunks overlap, or the other copy's branch is not on origin, the lane keeps waiting and reports to its coordinator only if that still holds at 04:30Z. Where the other machine's hold overlaps only in files, has a different subject and has nothing pushed, the ready change lands and the second lander merges main; wait only when the subject overlaps (the same record or the same behaviour). Grounds: the laptop's holds on cli.go, pending.go, install.md and mentions.go rolled forward at 02:36Z for at least another hour, a whole-file wait would hold the store and sweep change that lane D's peers-cap major depends on for as long as the laptop keeps working, and a reservation guards against overlapping work, not against two disjoint edits to one large file. Applied first to store+sweep and ahoy-remote-refusal, then to pr-title-refs and run-1054. Ruled by the coordinator, abcd-f5, for the crash-recovery lanes on 2026-10-28.

decisiondcn-2610280232264198

2026-10-28 — When another copy's reservation on a shared file keeps being renewed past its expiry while a lane's branch waits at the pull-request step, the lane compares changed hunks instead of whole files. It fetches the other copy's pushed branch or open pull request for that reservation and diffs it against its own branch on each shared file. Where no hunk overlaps and neither side edits the same function or the same entry of a registration list, the lane opens its pull request, names the overlapping reservation in the body and states that the hunks are disjoint, and leaves a real conflict to the merge queue. Two edits in one function count as disjoint when they are separate statements with no data dependency between them (ruled 2026-10-28 for route-runner-model-r2 against #1153 in readDrain). Where hunks overlap, or the other copy's branch is not on origin, the lane keeps waiting and reports to its coordinator only if that still holds at 04:30Z. Where the other machine's hold overlaps only in files, has a different subject and has nothing pushed, the ready change lands and the second lander merges main; wait only when the subject overlaps (the same record or the same behaviour). Grounds: the laptop's holds on cli.go, pending.go, install.md and mentions.go rolled forward at 02:36Z for at least another hour, a whole-file wait would hold the store and sweep change that lane D's peers-cap major depends on for as long as the laptop keeps working, and a reservation guards against overlapping work, not against two disjoint edits to one large file. Applied first to store+sweep and ahoy-remote-refusal, then to pr-title-refs and run-1054. Ruled by the coordinator, abcd-f5, for the crash-recovery lanes on 2026-10-28.

Frontmatter

iddcn-2610280232264198
typedecision
date2026-10-28