# Evidence index for [#21046](https://git.cafe/pingdotgg/t3code/pull/21046)

48/48 matrix rows captured: 43 paired and 5 matrix-permitted head-only rows. Unverified rows: none. All 14 real-server rows repeated on head with stable Diff0; 58 stream/reconnect events per run. Production reducer replay: 447 states, zero mismatches. All 174 head service/reader assertions PASS. No old-SHA runtime captures were reused. Bundle: [evidence-bundle.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9ddf9ed5f1fdb0f/evidence-bundle.tar.gz)

Node v26.12.1 / git 2.43.0 / Linux 6.1.102 x86_64 GNU/Linux / fs-35; typed Effect WsRpcGroup over loopback WebSocket (JSON), loopback GitHub GraphQL mock; no renderer, viewport/theme/DPR/font scaling/emulation n/a.

Scope note for Julius: the captured protocol also changes branch cache invalidation, split publications, missing-PR eligibility and auto-pull gating. See the complete list below.

Before [5211acfe95](https://git.cafe/pingdotgg/t3code/commit/5211acfe95a0c6d82a60e2524b5e46b47fe67a3e); After [bb35b94111](https://git.cafe/pingdotgg/t3code/commit/bb35b941115a0a9f818e8512eebe67c29ee68355). Fresh timestamped home per dev run with T3CODE_DEV_SEED=0 and explicit --home-dir; seed Git/PR dates frozen, real UTC gate windows exactly 1200ms (not a latency benchmark); harness TestClock starts at epoch. No browser, mobile, desktop, provider-agent or renderer variant applies to this server-only diff.

Reading sheets:

[real-server-sheet.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/802fa3f0084a216e/real-server-sheet.md)
[service-harness-sheet.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a5321f1459e92626/service-harness-sheet.md)
[head-only-sheet.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0539670f551bfb45/head-only-sheet.md)

Rebuild scripts (all scratch, none committed):

[driver.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7649a89d5d3f623c/driver.mjs)
[seed.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2f9ebd2aadda6d6/seed.mjs)
[mock.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6882a73835c2722d/mock.mjs)
[preload.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/25777c588d562b6b/preload.mjs)
[harness-r2.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7025c05c34b5acef/harness-r2.mjs)
[harness-extra.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb70af398f35c9ce/harness-extra.mjs)
[branch-reader-r2.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f409e08994ede674/branch-reader-r2.mjs)
[finalization.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fd487aa643c301c9/finalization.mjs)
[build-r2.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7eb870b549a83213/build-r2.py)
[validate-real.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66a8ebaabc801d0e/validate-real.py)
[replay.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3851cb1e6540827f/replay.mjs)
[publish.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/424ab8532903b6a2/publish.py)

Validation and exact values:

[manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8173ee1037a55bc8/manifest.json)
[validation.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35660c28191b42f6/validation.json)
[real-server-oracle.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d3631224157b2a06/real-server-oracle.json)
[reducer-replay.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ebfbb07393788f37/reducer-replay.json)
[comparator-metamorphic.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0441f46014fd9475/comparator-metamorphic.json)
[head-repeat.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/979d00da0f6f27af/head-repeat.json)
[head-repeat.Diff0.diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8715f62afa21e0c9/head-repeat.Diff0.diff)
[comparison-inventory.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/687ca50426bfc957/comparison-inventory.json)
[delta-inventory.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d8617db2b957afde/delta-inventory.json)
[matrix.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0654c9dbb595877c/matrix.md)

What else changed:

- Full-refresh combined snapshots become split localUpdated/remoteUpdated publications. Cold localOnly can add remoteUpdated:null, and branch switches publish remote null before local B; intermediate old-local/null-remote states and repeated nulls remain recorded.
- Held A responses can produce B + PR613/count1 at base. Head discards them to B/null/zero counts, then recovers B/PR614/aheadOfDefault2 on the next permitted lookup. Probe spelling preserves heads/release.
- Local reads, remote invalidations, probes and rereads change. Head publishes before upstream completion and rereads post-fetch/post-pull totals; typed failures retain the last valid published local state and only compatible remote state.
- Missing-PR reads become eligible when local exists and remote is absent. Cached-null remains a skip; object PR-null/present still uses exact no-fetch/missing-PR options. Policy deny skips, allow recovers B.
- The new auto-pull branch gate changes one wrong-branch pull to zero. P17.a head intentionally can still return cached A/behind2 until a later local refresh; no claim that this gate publishes B.
- Head-only new reader and scheduler observations are compared with their declared matrix oracles. There is no base-method substitute and no trigger timeout represented as before evidence.

Head-only reasons:

- P10.d: The pre/post branch probes and mismatch reconciliation are new stages absent from the base. Each head stage is independently injected; no base trigger or timeout is represented.
- P18.a-d: The targeted updateCachedRemoteStatus tracer span is not reached by the base full-cache writers. These are four head scheduler captures, with acknowledged trigger and completed local refresh, against the matrix oracle.
- P20.a: GitWorkflowService.currentBranch is a new method absent from the base. Real Git plus explicitly labelled command/registry adapters exercise the head method.
- P20.b: GitWorkflowService.currentBranch is a new method absent from the base. Real Git plus explicitly labelled command/registry adapters exercise the head method.
- P20.c: GitWorkflowService.currentBranch is a new method absent from the base. Real Git plus explicitly labelled command/registry adapters exercise the head method.

The source scripts import the selected checkout’s production services and reducer. Fetch/pull mutations in service harnesses are controlled fakes; the real-server recordings use actual synthetic Git repositories and a held loopback provider HTTP mock. P05/P19 affected race rows retain shared session context; their checkpoints and independent subvariants remain named in the recordings. Canonical files exclude provenance; full diagnostics and superseded iterations are in all-run-logs and are not substituted for the selected runs.

Rebuild: install the pinned revisions, run driver.mjs once on base and twice sequentially on head; run harness-r2.mjs and harness-extra.mjs on both, finalization.mjs on both, branch-reader-r2.mjs on head. The manifest gives exact source runs; build-r2.py names the selected console logs. Run validate-real.py and replay.mjs after build-r2.py. publish.py uploads synthetic-only artifacts and generates these sheets.

FRICTION: none
