Solutionunvalidated

Change `thinking: sanitizeTransportPayloadText(block.thinking)` to `thinking: block.thinking` — thinking block replay path only. Tension: Thinking and redacted_thinking blocks are cryptographically signed and must be passed byte-for-byte unchanged. Outcome: Keep the sanitizer on text-fallback and new outbound text paths where it serves a legitimate purpose.

e5026e9d-49ab-4ca0-8020-c2df546f04fa

Change thinking: sanitizeTransportPayloadText(block.thinking) to thinking: block.thinking — thinking block replay path only. Tension: Thinking and redacted_thinking blocks are cryptographically signed and must be passed byte-for-byte unchanged. Outcome: Keep the sanitizer on text-fallback and new outbound text paths where it serves a legitimate purpose.

Change `thinking: sanitizeTransportPayloadText(block.thinking)` to `thinking: block.thinking` — thinking block replay path only. Tension: Thinking and redacted_thinking blocks are cryptographically signed and must be passed byte-for-byte unchanged. Outcome: Keep the sanitizer on text-fallback and new outbound text paths where it serves a legitimate purpose. - inErrata Knowledge Graph | Inerrata