Repository navigation
fix: learn corrections from the visible reading origin - #25
Merged
helloiamnotth3devnicetomeetyou merged 1 commit intoOct 24, 2026
Conversation
Retain the first displayed language only while input and context remain valid. Preserve final scoring for edited or restored forced words and the existing digit-boundary policy. Add persistent and lifecycle regressions without changing learning delivery or storage. Fixes iamallyouneed#22 Signed-off-by: snowykr <snowykr22@gmail.com>
This was referenced Oct 24, 2026
helloiamnotth3devnicetomeetyou
merged commit Oct 24, 2026
869768b
into
iamallyouneed:main
5 checks passed
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.
Closes #22.
What changes
Retain the language actually shown immediately before the first explicit correction, while that word's input and context remain valid. This repairs missed English learning for Japanese-visible
siasia/ozzyand false learning when cycling back to the original display.Option<Language>inWordState; unchanged cycles retain the first origin. No shadow classifier or per-keystroke key snapshots.Most production callsite changes are mechanical key-access encapsulation. The old deterministic
rrtest's forced-final/no-learning expectation is deliberately replaced: visible Korean → explicit English is a correction. Its ordinaryㄱㄱconfirmation/no-learning assertions remain.Verification
Baseline: upstream/main and v0.10.10,
9a7a219a65414dc8f7ff69bee010e5828e24f2e4. Revision comparisons use separate source/build targets. All learning fixtures are public/synthetic and use fresh persistent stores where persistence is asserted.tacit-tipon this host-D warnings--checkgit diff --checkPersistent tests verify pending → learned → genuinely reopened engine behavior, full cycles, edits including identical-byte retyping, pins, activation/pause/reset, weak/strong digit boundaries, Japanese Space, cancellation/restoration/dedup, and n-marker normalization. The postboundary control explicitly checks composition closure and UTF-16 caret behavior.
A separate C ABI replay with embedded Japanese and isolated homes/profiles checks two tokens × known/unknown context × three fresh-handle rounds: baseline 0/12 expected English-learning observations, patched 12/12. It selects the actually displayed English reading rather than assuming one Esc for every configured language order. This is synthetic C ABI replay, not installed-IME or physical-key validation.
Accuracy and performance
Identical existing public data, separate baseline/patched lab binaries:
--corpus 3000: all 127 enko / 156 enkoja non-timing metrics unchanged, including reported accuracy and allocation/heap metrics.--switching --fold 0/3 --corpus 3000: 7,050 lines, all six buckets' non-timing metrics unchanged. English sentence accuracy remains 100%; Korean sentence accuracy remains 97.867%. Existing errors are not described as fixed, and unchanged aggregate metrics are not a claim of universal correctness.NoopClientpreview/completion, not commit/disk writes or end-to-end typing latency.Disclosed verification limits
prettier@3.3.3; historical content is intentionally unchanged. This is not reported as a clean full-file Prettier result..phrase continuation and language-cycle ordering) were corrected and rerun; those failed attempts are not counted as product regressions.Separate follow-ups
Neither is bundled into this repair. No learning reset, new token exceptions, model retuning, store migration, version bump, installation, release or merge is included. The installed app remains unchanged.
Planner/architect/critic unanimously approved the bounded plan; independent source and test reviews approved the implementation. Runtime checks above were executed by the integrating parent, not claimed as independent reviewer executions.