You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add an explicit pinned column to chords.csv, keeping manual chord
reservations independent from source frequency. Legacy blank-frequency
pins remain compatible and migrate to explicit values on the next write.
Recover orphaned alt forms when their base receives no chord; retain
alt definitions across reruns and report only actual reachable coverage.
Correct the standard keyboard's sixth column to the left hand so scissor
scoring agrees with finger assignments and the displayed hand split.
Measure learn timing from prompt activation, add isolated learn --recall
practice with separate unassisted latency/speed histories, and migrate
legacy progress without losing cards or daily quotas.
Track learned mapping identity, preview generation with --dry-run, reserve
learned mappings with --preserve-learned, and confirm intentional changes
before retiring affected cards. Legacy cards bind once to current mappings.
Weight chord assignments by uniquely served word families, summing each
represented form's existing utility without changing source frequencies.
Teach alt forms after their bases with independent FSRS cards and explicit
modifier hints; drill/book now require each form's own demonstrated mastery.
Add local, read-only analyze reports for personal-text coverage, family-aware
learning recommendations, and observed recall versus an optional typing-speed
estimate; document a separate manual mixed-typing passage comparison.
Add read-only check diagnostics for dictionary/layout conflicts, configured
export coverage and bindings, stale learning identities, and chord comfort.
Add read-only difficult reports for lapses, longest unassisted recalls,
and alt-slot evidence on verified current mappings. Diagnostic config
validation no longer creates a missing dictionary directory.
Removed dead find_all_combinations helper from utils.py and
corrected the find_combinations docstring (results are ordered
longest-first, not shortest-first).
Cleaned up a variable-shadowing bug and an unused loop index in the
Kanata output emitter.
Added unit tests for find_combinations, validate_chords, TrainingOutput, the QMK/Kanata key-translation error paths, and the
assigner's _split_into_tiers / _parse_freq helpers.
Added gen.ignore_words config option. Words in this list stay in chords.csv but are skipped during chordgen gen scoring and chord
assignment, so they won't consume chord keys or produce "unable to
find options" warnings. Matching is case-insensitive.