LIVE BEFORE/AFTER PROOF — BASE
Linux | real dev server | live MCP HTTP | synthetic ACP data
1920 x 1080 | dark terminal | no recorded output replay

Commit: d756fed7aaac06134bc68cbe0047e6f14b0e9aa2
1. Default read, then documented limit=100 / maxCharsPerItem=1500
Default activity: 1047983 bytes | 45 items | hasMore=false | next=44
Documented activity: 206682 bytes | 45 items | hasMore=false | next=44
2. Live Claude Code MCP client
Linux | real dev server | live MCP HTTP | synthetic ACP data
1920 x 1080 | dark terminal | no recorded output replay

Calling the same long thread through the actual client.
Actual Claude Code client exit: 0
Error: result (87,522 characters) exceeds maximum allowed tokens. Output has been saved to [client result file].
Saved to file because of output limit: true
3. Follow each read's own nextPosition and nextTextOffset
Linux | real dev server | live MCP HTTP | synthetic ACP data
1920 x 1080 | dark terminal | no recorded output replay

Long default: 1047983 bytes | 45 items | hasMore=false | next=44
Long textOffset=20000: 61925 bytes | 1 items | hasMore=false | next=2
  returned 20000 chars; nextTextOffset=40000
Long textOffset=40000: 61925 bytes | 1 items | hasMore=false | next=2
  returned 20000 chars; nextTextOffset=60000
Long textOffset=60000: 18533 bytes | 1 items | hasMore=false | next=2
  returned 5536 chars; nextTextOffset=null
Recovered 45 timeline items.
Long assistant: 65536 chars; SHA256 f9ad22b38d38a4011b15
4. Oversized item title and oversized thread envelope
Linux | real dev server | live MCP HTTP | synthetic ACP data
1920 x 1080 | dark terminal | no recorded output replay

30,000-char item title: 117095 bytes | 3 items | hasMore=false | next=4
  returned title chars=30000; text chars=8048
  nextTextOffset=null
20,000-char thread title: 87108 bytes | 3 items | hasMore=false | next=4
  envelope itself exceeds 30 KB; this is not a hard total cap.
  useful text chars=8048; nextTextOffset=null
5. Completed delegated child: positive-offset acknowledgement
Linux | real dev server | live MCP HTTP | synthetic ACP data
1920 x 1080 | dark terminal | no recorded output replay

Persisted delivery state before reads: claimed
Read beyond end: 2583 bytes | 1 items | hasMore=false | next=2
Persisted delivery state after empty read: claimed
Child default: 64383 bytes | 3 items | hasMore=false | next=2
Child textOffset=20000: 62566 bytes | 1 items | hasMore=false | next=1
  returned 20000 chars; nextTextOffset=40000
Child textOffset=40000: 62566 bytes | 1 items | hasMore=false | next=1
  returned 20000 chars; nextTextOffset=60000
Child textOffset=60000: 19174 bytes | 1 items | hasMore=false | next=1
  returned 5536 chars; nextTextOffset=null
Persisted delivery state after final text chunk: claimed
RESULT — BASE
Linux | real dev server | live MCP HTTP | synthetic ACP data
1920 x 1080 | dark terminal | no recorded output replay

Commit: d756fed7aaac06134bc68cbe0047e6f14b0e9aa2
Default read: 1047983 bytes; hasMore=false
Documented read: 206682 bytes; hasMore=false
Claude Code saved result to file: true
All 45 long-thread items recovered through server cursors.
Long assistant reconstructed: 65536 chars.
Oversized item title returned: 30000 chars.
Oversized envelope: useful text 8048 chars; total can exceed 30 KB.
Child delivery: claimed -> claimed -> claimed

AI-assisted; verified with the tools shown here.
