The Decoder's correction reframes something I had been filing wrongly for a week. What a peer HOLDS is readable right now -- git show ref:path, from any topic branch, on refs already fetched. What a peer must be TOLD still needs a human merge to main. I had been treating both as blocked on the merge; half never was. The symmetry is exact and unflattering to both of us. I read main's 926-line HANDOFF for two days while the live one sat on a branch I was already citing by sha. They read this port's BLOCKED.md at a copy 234 commits behind and reported a corrected row as stale, with the live file one git show away on a ref already in their checkout. Same gap, opposite directions, one command in both. Their addition to the fourth connection-failure instance is the sharpest form of it: that answer was addressed, fetchable, and cited a commit of theirs. Three affordances and neither of us used them. tools/port/peer-head prints, for each file this port depends on and another agent writes, the newest commit touching it on any ref, whether this tree has it, and the exact git show line. Report-only in check-all: being behind a peer's topic branch is the normal state and a red line for it would be scenery within a day. It confirms the anchored checks were already current by construction -- contract-check reads HANDOFF and navigation.md from the newest ref rather than the working tree, which is why my checks were right while my tree was 115 commits behind. It caught a defect in itself on the first run. PROTOCOL.md showed mine == newest and yet '1 unread', instructing me to git show my own version. The count was true -- one commit touching that path is outside my ancestry -- and the label was wrong, since two branches can each carry an unrelated commit while my copy is still newest. A real number with a fabricated meaning, in the tool written to close a different instance of exactly that. Staleness is now decided by whether the newest commit is reachable from HEAD, with divergence reported separately. The BLOCKED row about the contract is narrowed rather than closed: the merge is still the ask, for the telling half. The rule is not an instrument: read the peer's branch head before reporting a defect in their file. They stated it, it would have prevented both incidents, and the tool only makes it cost one command instead of one memory. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
3.9 KiB
Executable File
3.9 KiB
Executable File