Repository navigation
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.
This experimental branch uses native predictions first in the scanning keyboard and the existing database when native generation fails, times out or returns no usable candidates. The existing prediction setting controls it; no saved schema, BLE, provider selector or cloud service is added.
Stacked on #796 (
codex/word-prediction-795) so the review contains only spike changes. Keep draft until the findings are reviewed. Retarget to main after #796 merges; merging, releasing or choosing the shipping default require separate instructions.Changes
Results and recommendation
Reproduction, raw synthetic measurements and qualification report.
The exact helper path completed 120 online/offline requests across both ARM VMs with no native errors, empty usable lists or database fallback. Median native latency was 53–54 ms on Mac and 148–149 ms on Windows; maximum was below 180 ms. Offline runs used disconnected VM adapters and failed external connectivity checks, with local host transfer still reachable.
Neither provider is qualified for production. Mac is the stronger candidate for a later trial, but the corpus is small and zero-length completion behaviour needs testing across supported OS versions. Windows needs broader locale/language-pack coverage.
Interactive qualification remains blocked: a Mac follow-up using J/K/L switch bindings verified keyboard opening, row/key navigation, exactly-once h insertion, Space insertion and switch-accessible Close, with TextEdit focus retained. The suggestion row remained empty for
heland at a word boundary despite useful standalone native results; the integrated context/worker/provider path needs investigation before suggestion acceptance can be qualified. Windows computer control did not reliably deliver unrelated input even with Switchify stopped. Suggestion insertion, repeated switch typing, focus/selection/protected-field cases and stable live row timing are not marked passed.Validation and restoration
97f45136a1ad9d9569ba38ae51297d01f1f6b128found no actionable issues. The Mac orphan-at-startup cleanup guard passed its subprocess regression test and the full Rust suite. All final-head CI checks passed: frontend, dependency audit, Mac native build and Windows native/UIAccess packaging. CI run.Closes #797