Issue 297: two open decisions always conflict #177

Merged
mesh-admin merged 1 commits from issues/297-two-open-decisions-always-conflict into main 2026-10-07 19:21:56 +00:00
Contributor

Every decision PR adds a line to the generated index in 02-DECISIONS/README.md, at the end of its topic. So any two decision PRs open at the same time edit the same lines.

Evidence (2026-10-07). The build seat checked #168 at 5 heads, #171 at 3 and #173 at 5 in about two hours. Replaying the old heads with git merge-tree shows conflicts in 02-DECISIONS/README.md:

  • #171 and #168, after #172 (ADR 0243) merged;
  • #168, after #171 (ADR 0242) merged. 0241 had to go above 0242.

The report also names the rebases that had other causes: the words check after #174 merged, and #173 being renumbered.

Diagnosis. The diagnosis weighs four fixes:

  • A. Generate the index on read, through the hq-status skill or the records module, and stop storing it.
  • B. One index file per decision.
  • C. Run index.py --write after each merge, through a follow-up PR, because main is protected.
  • D. A union merge for the README.

It recommends A. No shared file is left for decision PRs to edit. A also ends ADR 0019's disagreement with itself: that record says a decision index is never written to disk, and also that this one is. A needs a decision that supersedes ADR 0019's "the index is written" paragraph, which is not written in this PR.

The issue's status is located.

Checks: records, index, cycle and words pass, and so does sh merge-check.sh. The text is also clean under the plural-aware words.py from #176.

Every decision PR adds a line to the generated index in `02-DECISIONS/README.md`, at the end of its topic. So any two decision PRs open at the same time edit the same lines. **Evidence (2026-10-07).** The build seat checked #168 at 5 heads, #171 at 3 and #173 at 5 in about two hours. Replaying the old heads with `git merge-tree` shows conflicts in `02-DECISIONS/README.md`: - #171 and #168, after #172 (ADR 0243) merged; - #168, after #171 (ADR 0242) merged. 0241 had to go above 0242. The report also names the rebases that had other causes: the words check after #174 merged, and #173 being renumbered. **Diagnosis.** The diagnosis weighs four fixes: - **A.** Generate the index on read, through the hq-status skill or the records module, and stop storing it. - **B.** One index file per decision. - **C.** Run `index.py --write` after each merge, through a follow-up PR, because main is protected. - **D.** A union merge for the README. **It recommends A.** No shared file is left for decision PRs to edit. A also ends ADR 0019's disagreement with itself: that record says a decision index is never written to disk, and also that this one is. A needs a decision that supersedes ADR 0019's "the index is written" paragraph, which is not written in this PR. The issue's status is `located`. Checks: records, index, cycle and words pass, and so does `sh merge-check.sh`. The text is also clean under the plural-aware words.py from #176.
mesh-admin added 1 commit 2026-10-07 19:11:52 +00:00
Issue 297: every open decision conflicts with the next one to merge
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
57f95fc6bb
The written decision index is the one file every decision PR edits, at the
end of its topic, so on 2026-10-07 each merge forced the others to rebase
and be checked again. The diagnosis weighs four fixes and recommends
generating the index on read.
Author
Contributor

Delivery novox/hq@57f95fc6bb28 — delivered since 2026-10-07T19:22:15Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-07 19:12 (new) → proposed (announced): novox/hq#177's head announced
  • 2026-10-07 19:13 proposed → checked (checked): the verdict names this commit
  • 2026-10-07 19:13 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-07 19:22 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-07 19:22 published → delivered (done): nothing for a walk to move

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@57f95fc6bb28` — **delivered** since 2026-10-07T19:22:15Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-07 19:12 (new) → proposed (announced): novox/hq#177's head announced - 2026-10-07 19:13 proposed → checked (checked): the verdict names this commit - 2026-10-07 19:13 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-07 19:22 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-07 19:22 published → delivered (done): nothing for a walk to move The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
mesh-admin merged commit 9b6479f78f into main 2026-10-07 19:21:56 +00:00
mesh-admin deleted branch issues/297-two-open-decisions-always-conflict 2026-10-07 19:21:56 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#177