Repository navigation
TTP 3.2.4: check that the text arrived whole, and repair it - #6
Merged
Merged
Conversation
…raps 2026-09-26 (0024-8368): 156 characters typed into the Claude desktop composer, 21 arrived — the last character of each 16-char chunk, then the whole last chunk — and paste.verify said `observed` because the field had grown. The message was sent like that. - landing.rs compares the field's text with what we typed. Scraps of our text (a subsequence, under 90%) are `Partial`; anything the app itself rewrote or drew is not. - When scraps sit still for 80 ms, the verifier selects them over AX (read back to confirm) and retypes the text over them, once, unless the user moved app, started a recording, or touched the field. `paste.repair` records what it did. - If it cannot, the verdict is `partial`, the full text goes on the clipboard, and the pill says ⌘V (`paste_partial`). - paste.verify now counts hardware and foreign key-downs during the injection and when the user hit Return, to test the interleaving theory next time it happens. - TTP_FAULT_GARBLE=<n> reproduces the incident on a real build. - scripts/inject-bench: the bench that measured injection in the Claude composer (everything lands with focus settled; typing 0 ms after the app regains focus loses the first chunks). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
First live test on 0a37392 (0000-1f28): the partial landing was detected ("u dicte ?", 9 of 39) and the clipboard got the text, but the repair stopped at `skipped_no_selection`. The selection was read back straight after being set, and Chromium applies it asynchronously in the renderer, so the read still answered the old caret. Poll the read-back for up to 150 ms, off the async runtime, and say which step failed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…id not Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Released as v3.2.4.
Verified live on a signed build with TTP_FAULT_GARBLE=1: 14 of 104 characters landed, repaired in 247 ms.
🤖 Generated with Claude Code