d90c3b8b9e
Read-tool outputs were compacted at a 4000-byte gate before being stored in metadata.parts, which is re-sent to the model every later turn. Whole-page reads (tens of KB) got shrunk to a 500-char preview plus a "[truncated N chars]" marker; on the next turn the model read that marker as a source truncation and re-read the page, wasting tokens and producing wrong behavior. - Raise MAX_TOOL_OUTPUT_BYTES 4000 -> 200_000 so normal reads are stored and replayed verbatim; only a single >200 KB output is compacted as a backstop. - Reword the inline string marker so it reads as a replay-history elision, not a source truncation, and tells the model it can re-call the tool. - Update doc comments and enlarge the compactToolOutput unit-test inputs above the new 200 KB gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>