Skip to content

backlog: file #1315 -- prose path:line citations carry no token, so nothing can verify them - #513

Merged
wshallwshall merged 3 commits into
mainfrom
claude/1315-on-current-main
Aug 22, 2026
Merged

backlog: file #1315 -- prose path:line citations carry no token, so nothing can verify them#513
wshallwshall merged 3 commits into
mainfrom
claude/1315-on-current-main

Conversation

@wshallwshall

Copy link
Copy Markdown
Collaborator

Replaces #509, whose head had no path forward. Same item, re-applied cleanly onto current main by its author.

Why the branch changed rather than the PR merging

#509 needed main merged in after #1314 landed at the BACKLOG tail. That merge turned out to be closed from every tree, by two gates that each behave correctly and together leave no route:

  • the worktree gate refused to switch the allocating tree onto the branch — it saw that tree busy on another branch and read the swap as a hijack
  • a fresh worktree would then have failed the ledger gate, which keys ownership on the allocating path

Closed in opposite directions. COMMON names the way through and the author took it: git switch -c <new> origin/main from the allocating worktree — same worktree, so the ledger claim still holds; new branch, so nothing looks like a hijack.

That deadlock is worth knowing independently of this item. Neither gate is wrong; the interaction is what has no exit, and the escape is non-obvious from inside either one.

The item

  • 2,090 scorecard anchors carry an expect token the tree confirms.
  • 3,543 occurrences / 2,871 distinct prose citations carry a bare path:line and nothing else.

Not rot: measured decay in the 1107-1199 half is 16 of 1,196 distinct pairs. Nothing can tell whether a citation has gone stale, because a bare line number makes no claim anything could check. A detector built for rot returns zero and the zero means nothing.

The clause at its centre grades rather than fails: not "is there a line number" but "can something else in the sentence find the line again" — which turned raw counts of 68 / 8 / 3 across five seats into naked counts of 24 / 1 / 1.

Verification

Author's numbers, independently re-checked here against origin/main at 664443f8:

  • 1 file, 15 insertions, 0 deletions; 2 commits; zero behind main
  • 328 items on main, 329 here; #1315 added, nothing removed
  • zero banner-set changes on any existing item; zero items carrying both an open and a closed banner
  • SHIPPED-BUT-OPEN count unchanged at 8, so main's own notes survived
  • author resolved on \r\n boundaries and asserted bare LF 0 before and after, rather than asserting a line count — the line count legitimately drops by the marker lines
  • the prose-quoted conflict marker at ~11258 was used as the positive control and confirmed still present

The author verified the ledger gate fires on this branch rather than assuming a silent pass: cherry-pick --continue printed no hook output, so they ran ledger_check.py directly (exit 0) and then made an empty probe commit to confirm the hook actually runs, dropping it with reset --soft.

wshallwshall and others added 2 commits August 22, 2026 07:24
…othing can verify them

Written against engine origin/main a869dc6, and cited by base rather than by line per the convention
this item records.

Four seats converged on the finding tonight and two of them own the surface: the ASVS Tracker owns
the security-record half, this seat wrote all 1,313 occurrences in #1107-#1199. Filed as one item
because both halves share one cause and one fix. The Tracker declined to file -- their engine tree is
fifteen commits behind with docs/BACKLOG.md touched in five of them -- and COMMON's rule is that
filing routes to whoever will commit it. Number allocated with alloc.ps1, not grepped.

THE FINDING: 3,543 bare path:line citations by occurrence (2,871 distinct) that assert nothing an
independent reference could check, against 2,090 scorecard anchors that carry an expect token the
tree confirms. Roughly 1.7 uncheckable prose citations per checkable anchor.

NOT ROT, WHICH DECIDES THE SCOPE. Measured decay in this seat's half is 16 of 1,196 distinct, and 15
of those cite files outside the tree. The problem is that nothing can tell whether a citation has
gone stale, because a bare line number makes no claim to check.

THE FIGURE IN THE PREPARED CONTENT WAS 3,426 AND I DID NOT FILE IT. That is 2,230 occurrences plus
1,196 distinct -- the exact unit-mixing the Tracker had corrected in my own report twenty minutes
earlier, reproduced in their filing content. Corrected to 3,543 occurrences and 2,871 distinct, kept
apart, and the item now carries the rule that produced it.

Ledger safety: 327 items before, 328 after, no existing banner set changed, #1315 parses OPEN under
parse_items.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ed artifact, not four episode notes

Written against engine origin/main a869dc6.

#1315 as filed carried four of the convention's seven clauses. Measured that against the clause list
rather than assuming, and three were missing: the locating-token criterion, the positive-control
rule, and the same-corpus rule. Added.

WHY THIS MATTERS BEYOND COMPLETENESS. The convention was adopted by five seats in mail. Mail ages
out. Two seats have since written it into their own episode notes, which survive that -- but an
episode note binds nobody and a successor finds it only by reading that seat's handoff. The liaison's
COMMON.md change request is the route that makes it a RULE, and it is queued to a folder no seat
declares a goal for: 27 declarations across 11 seat labels and none names roles/.

A ledger item is not governance either, and this does not pretend to be. What it is: versioned,
reviewed at merge, permanently indexed, and found by anyone reading the ledger rather than by anyone
who happens to open one seat's handoff. That is a strictly better home than mail or a note, and it
costs one edit.

THE CLAUSE MOST WORTH HAVING is the one that grades rather than fails: the criterion is not whether a
line number appears but whether something else in the sentence can find the line again. Applied
across five seats it turned raw counts of 68, 8 and 3 into naked counts of 24, 1 and 1. One seat
measured zero of seven commit messages token-bearing against mostly-compliant prose and diagnosed it
exactly -- in prose they were quoting the token to make an argument, so compliance was a side effect;
in a message it had to stand on its own and did not.

Ledger safety: 328 items before and after, no banner set changed, zero glyph delta. Checked against
three live session branches carrying BACKLOG.md edits, each with a non-empty diff as the control;
none touches #1315, and the dispatcher's concurrently-filed #1314 confirms alloc.ps1 partitioned
correctly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@wshallwshall
wshallwshall enabled auto-merge (squash) August 22, 2026 12:37
@wshallwshall
wshallwshall merged commit 9f0323a into main Aug 22, 2026
38 of 39 checks passed
@wshallwshall
wshallwshall deleted the claude/1315-on-current-main branch August 22, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant