fix(ledger): count the T3 header as agent, control-board sender as board (#1506)
messageKind knew only the tmux preamble, so a prompt opening with the T3 header [from: role (id) -> to: role (id)] counted as human in Table 2. The first line now matches either form; anything short of the full header stays human. Filbert approved R1 against the frozen hashes. Proof: packages/ledger/tests/ledger.test.mjs, 22/22; against HEAD's ledger.mjs it fails exactly the two new tests. No suite runs it. Eight suites green on the staged tree. The fix changes zero current counts: no Pi log under .pi/state contains a T3 header, and the ledger does not read T3 transcripts. Gate F waits on a T3 thread source. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -2921,3 +2921,26 @@ passes, `agents/sage/launch.sh --check` passes, eight suites green. Records:
|
||||
`agents/dewey/work/sage-launch-review-2026-09-26.md`,
|
||||
`agents/dewey/work/n6-lead-text/`. Running seats keep their injected
|
||||
snapshots until they relaunch. Not pushed.
|
||||
|
||||
## 2026-09-26: ledger reads the T3 header as agent (#1506)
|
||||
|
||||
Before: `messageKind` knew only the tmux preamble `[host:session ->
|
||||
host:session]`. A prompt opening with the T3 header `[from: role (id) -> to:
|
||||
role (id)]` counted as human in Table 2. After: the first line can match
|
||||
either form. A `control-board` sender is board, any other valid sender is
|
||||
agent, and anything short of the full header stays human. The tmux branch is
|
||||
unchanged. Darkwing wrote it on Sage's assignment; Filbert approved R1 against
|
||||
the frozen hashes (`README.md` e0d411ca, `src/ledger.mjs` e24b065c,
|
||||
`tests/ledger.test.mjs` a9da013e).
|
||||
|
||||
Evidence: no suite runs the ledger tests. The proof is
|
||||
`packages/ledger/tests/ledger.test.mjs`: `node --test packages/ledger/tests/`
|
||||
passes 22/22, and the same file against HEAD's `ledger.mjs` passes 20/22,
|
||||
failing exactly the two new tests. Eight suites green on the staged tree.
|
||||
Record: `agents/darkwing/work/ledger-t3-header/`.
|
||||
|
||||
Limit: the fix changes zero current counts. Table 2 reads only
|
||||
`.pi/state/<seat>/sessions/*.jsonl`, and Filbert found no T3 header in any of
|
||||
those files. T3 traffic lives in harness transcripts the ledger doesn't read,
|
||||
so a T3-routed prompt counts nowhere, as agent or as human. Gate F must not
|
||||
use Table 2 until a T3 thread source exists (brief to follow). Not pushed.
|
||||
|
||||
Reference in New Issue
Block a user