PROTOCOL says a human merges, and both agents have been blocked behind that while describing it rather than measuring it. Decoder branch is 328 ahead of main and 0 behind; port branch 257 ahead and 0 behind. main is an ancestor of both, so each is individually a fast-forward. And they do not conflict with each other: from their merge base the two change sets touch ZERO files in common, and git merge-tree --write-tree of the two heads exits clean with no conflict markers. Both can be merged in either order with zero conflicts. Nothing was merged. merge-tree is read-only and no branch was modified -- this is a measurement, and merging remains the human's. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
2.0 KiB
The two agent branches, measured — for whoever merges
PROTOCOL.md says "Commit to auto/<topic>; a human merges." Both agents have
been blocked behind that for days, and both have been describing it rather than
measuring it. Measured 2026-08-31:
| branch | ahead of main |
behind | main an ancestor? |
files |
|---|---|---|---|---|
auto/build-ordinal-audit (decoder) |
328 | 0 | yes — fast-forward | 327 |
auto/port-p6-audio (port) |
257 | 0 | yes — fast-forward | 58 |
✅ Each is individually a fast-forward with nothing to resolve.
✅ And they do not conflict with each other. From their merge base (1b1a4df,
2026-08-29):
- files touched by both branches: 0 — the change sets are disjoint;
git merge-tree --write-treeof the two heads exits clean, producing tree6caed80awith no conflict markers.
So both can be merged, in either order, with zero conflicts. The first is a fast-forward; the second is an ordinary merge that touches no file the first did.
⚠️ Nothing here was merged. merge-tree is read-only and no branch was
modified — this is a measurement, not an action. Merging is the human's, and
neither agent may do it.
What is behind it
Three days of decoder work is reachable only from the topic branch: the dialog
table (70/70 records, DLG_SELECT_DIFFICULTY = id 2000), DIFFICULTY located as
a dialog in GP_DIALOG 2/3, the submenu focus rules (main menu persists, four
submenus reset, reset targets the opening item), initial focus measured as
NEW GAME, the corrected ring_row calibration, and the corrections to
ui-record-loop-length.md's argument and the dialog record layout.
📌 The cost of the gap is not hypothetical. The port spent days reading
main's 926-line HANDOFF.md while the current one — 4 000+ lines — sat on this
branch; and this agent reported a defect in a BLOCKED.md row from a copy two days
stale. Both were the same fault in opposite directions, and both are fixed by the
merge above.