REAL SERVER RUNTIME TRANSCRIPT
Synthetic fixture: identical snapshot on both commits.
148 sequential observations per side; all corresponding item hashes match.
Source metadata command committed at sequence 26488; no leaf command was sent.
Counts below are actual ProjectionStore.readTimelineIndex spans, grouped by phase.

BASE
unchanged / timeline / proof-fork: 64 requests, 128 builds; first=2, remaining=126
unchanged / timeline / proof-nested: 64 requests, 192 builds; first=3, remaining=189
warm / history / proof-fork: 4 requests, 8 builds; [2, 2, 2, 2]
warm / history / proof-nested: 4 requests, 12 builds; [3, 3, 3, 3]
source-updated / history / proof-fork: 4 requests, 8 builds; [2, 2, 2, 2]
source-updated / history / proof-nested: 4 requests, 12 builds; [3, 3, 3, 3]
source-updated / timeline / proof-fork: 2 requests, 4 builds; [2, 2]
source-updated / timeline / proof-nested: 2 requests, 6 builds; [3, 3]
History order within each four-request group: plain, plain, work, work.

HEAD
unchanged / timeline / proof-fork: 64 requests, 2 builds; first=2, remaining=0
unchanged / timeline / proof-nested: 64 requests, 3 builds; first=3, remaining=0
warm / history / proof-fork: 4 requests, 2 builds; [0, 0, 2, 0]
warm / history / proof-nested: 4 requests, 3 builds; [0, 0, 3, 0]
source-updated / history / proof-fork: 4 requests, 4 builds; [2, 0, 2, 0]
source-updated / history / proof-nested: 4 requests, 6 builds; [3, 0, 3, 0]
source-updated / timeline / proof-fork: 2 requests, 0 builds; [0, 0]
source-updated / timeline / proof-nested: 2 requests, 0 builds; [0, 0]
History order within each four-request group: plain, plain, work, work.

Interpretation: head warms each cache variant independently. The source command invalidates both fork levels; the first subsequent read rebuilds, the next reuses.
This probe changes source metadata, not inherited payload text. It does not prove payload-text refresh.
