feat(dictation): reliability pass and My Words and Phrases window (QUILL Lite 1.1, shared with QUILL) - #1606
Merged
Merged
Conversation
…QUILL Lite 1.1, shared with QUILL) Nine sections of dict.md, in the shared Live Dictation stack so both editors have each on the same keys: Escape cancels the phrase being heard (2.2), the microphone watchdog with a paused state that resumes when the device is back (2.3), one Ctrl+Z per phrase through replace_as_one_undo (2.5), the read-only refusal before the microphone opens (2.6), one silent engine restart before a named failure (2.7), one session at a time that moves to the document you pressed Ctrl+F11 in (2.8), Ctrl+F11 into Find, Replace and the AI pad's question box (3.1), Recent Phrases with Insert Again and Copy (3.3, Shift+F11), and My Words and Phrases -- a window with Add Word, Add Phrase, Add Correction, Edit and Remove over dictation.md, corrections being a new heading the profile parser already folds into replacements (5, Alt+Shift+F10). New modules keep every touched one under GATE-11: core/windows_dictation/ resilience.py and words_file.py, ui/windows_dictation_tools.py, ui/dictation_words_dialog.py, core/keymap_darwin.py (the macOS chord helpers, out of keymap.py). Found on the way: the starter dictation.md's explanatory sentences were parsed as vocabulary words (looks_like_prose). Tests: core behaviours against a fake recogniser, the words model round trip, every Lite handler through its window; coverage snapshot at zero shape_only; strict mypy clean. Docs: Lite changelog, release notes, user guide and PRD, the QUILL guide, the keyboard reference and the root changelog; dict.md trimmed of the shipped sections. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ame inventory regenerated The one-line field test subclassed the fixture's control through a `from conftest import` that resolves to a different conftest under CI's rootdir; it now subclasses the control the fixture hands it. The accessible-name inventory registers the words window's list and fields and the Recent Phrases list (modal-hook), and follows the volume slider into quill/ui/radio/volume_row.py, where PR #1601 moved it without regenerating. Co-Authored-By: Claude Fable 5.1 <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.
What
Nine sections of QUILL Lite's dictation plan, implemented in the shared Live Dictation stack so QUILL has each on the same keys:
replace_as_one_undo).dictation.md; corrections are a new heading the profile parser already folds into replacements.Also: the starter
dictation.md's explanatory sentences were parsed as vocabulary words; the macOS chord helpers moved out ofkeymap.pyintokeymap_darwin.py(GATE-11).Checks
Core, Lite and QUILL dictation suites, command-table, keymap, menu, coverage (0 shape_only), dialog inventory, reachability, access keys, over-announce, banned patterns, listbox activation, docs chords, DOCKEY, site links, keyboard and F1 references, strict mypy on core and io. Full parallel suite: 14674 passed; the 16 failures were the Find, Replace and AI pad stand-ins meeting the new field binding, fixed, plus xdist worker crashes that pass serially.
🤖 Generated with Claude Code