Repository navigation
Omit native thinking blocks from peek history reads - #11
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Peek currently replays native assistant thinking blocks and opaque signatures as ordinary text inside a tool result. This change verifies the original messages first, removes
thinkingandredacted_thinkingblocks from the history view, then serializes and paginates it. Visible text, tool calls and results stay verbatim. Pi's saved messages, Fold's source references and exact expand/recovery remain unchanged.The result identifies the view and counts omitted blocks. README and tool guidance explain the behavior and Anthropic compatibility limits. This addresses a confirmed exposure in #10; the reported Claude Opus 5.5 refusal through 9router has not been reproduced against a provider, so this PR does not claim to resolve the classifier behavior or close the issue.
Validation: lint passed; all 82 runtime gates passed with 9,794 assertions; the full experiment verifier passed all 118 gates. New gate 187 fails on the previous implementation and covers nested reads, pagination, thinking-only messages, exact restoration, unchanged originals and rejection of source drift. Six disposable offline SDK scenarios on Pi 1.0.0 and 1.0.4 cover simulated refusals, durable reads and reload. No paid provider calls or private sessions were used.
The benchmark digest was genuinely re-extracted from the authenticated campaign. Only
sourceHashes.runtimeTreeSha256andextractSha256changed; all findings and all 102 evidence rows are identical. Package dry-run includes only the expected 25 files.