Skip to the content.

LexiShift TODOs

Status: Active backlog Role: Planning / WIP Last updated: 2026-09-02 Last verified: 2026-08-27 beta integration, Python/build-install health tooling, and full typecheck-gate restoration; older backlog content not globally re-audited Purpose: consolidated product and architecture backlog retained after root README cleanup Source-of-truth: backlog planning only; current implementation truth lives in source code, tests, and docs/developer/feature_state_matrix.md.

This file is the consolidated TODO source of truth. It replaces the large TODO and plan sections that previously lived in the root README.md.

Related decision context:

Architecture Diagram Rollout

Use docs/architecture/design_diagram_workplan.md and docs/architecture/diagrams/README.md as the execution tracker.

Detailed Product Improvements (From 2026-02-18 Discussion)

1) Helper dependency UX: strong warning plus graceful degraded mode

Product intent:

Implementation TODO:

Open questions:

Acceptance criteria:

2) Sensitive sentence history hardening (planned default OFF; current default ON)

Current-state note (verified 2026-09-02): the encounter-history popup module is enabled by default and may retain a short latest sentence excerpt for a practiced word. Those encounter records do not retain the page URL. Separate local replacement-exposure and feedback records may retain page URLs and are disclosed in the public privacy policy.

Product intent:

Implementation TODO:

Open questions:

Completed for the 0.1.1 beta:

Acceptance criteria:

3) Helper-unavailable reliability policy (fail-fast SRS actions plus eventual feedback retry)

Product intent:

Implementation TODO:

Open questions:

Acceptance criteria:

Post-Current-Workstream Beta Infrastructure And Dictionary Follow-Ups

Captured on 2026-08-26 after implementing local Yomitan dictionary import, per-language-pair ordered lookup stacks, acquisition guidance, and packaged GUI validation. The dictionary branch was integrated with the SRS beta checkpoint on 2026-08-27; the remaining tasks can now resume from the combined beta branch.

Highest-priority infrastructure

INFRA-01: Make the Python development and hook environment reproducible — completed 2026-08-27

Problem:

Completed work:

Acceptance criteria:

INFRA-02: Finish packaged GUI startup diagnosis and remove blocking work — completed 2026-08-27

Owning plan:

Resolved problem:

Completed work:

Acceptance criteria:

Verification evidence:

INFRA-03: Add one-command macOS build, install, verify, and relaunch — completed 2026-08-27

Problem:

Implemented work:

Acceptance criteria:

Completed verification:

INFRA-04: Restore a fully green repository typecheck gate — completed 2026-08-27

Problem:

Completed work:

Acceptance criteria:

Dictionary resilience and maintainability

DICT-01: Add a redistributable large-dictionary performance fixture — completed 2026-08-27

Implementation TODO:

Completed work:

DICT-02: Add dictionary health, recovery, and source visibility — completed 2026-08-27

Implementation TODO:

Completed work:

Completed integration checkpoint

INTEGRATION-01: Merge the dictionary work into the beta line while fresh — completed 2026-08-27

Completed work:

Recorded outcome:

Deliberately deferred dictionary expansion

Do not treat the following as beta blockers unless testing reveals a concrete need:

Backlog Migrated From README

GUI app UI overhaul

Guide completion

Ruleset display/highlight settings

CJK / no-space languages

Replacement pacing/sensitivity controls

S-set visibility/review UX

Japanese script quality

Rule generation quality

Pair-specific morphology expansion

Embeddings scoring integration

Planned Milestones (Migrated From README)

  1. Persist all GUI knowledge inside profiles/rulesets:
    • Store per-profile dictionary selection (mono vs cross-lingual) and language choices.
    • Store synonym settings (thresholds, embeddings) per profile or ruleset where appropriate (currently global).
  2. Sync profiles/rulesets into clients:
    • Export active profile + ruleset list + language pack selection to Chrome/BD.
    • Add profile/ruleset switcher in extension/plugin settings.
    • Allow enabling/disabling multiple manual rulesets under a selected profile (not only one active manual ruleset).
    • Persist per-ruleset display settings:
      • Display
      • Highlight replaced words (click to toggle original)
      • Highlight color
  3. Finish language pack UX polish:
    • Pack-specific validators for edge layouts.
    • Clear handling for external/manual paths vs. app-managed files.
    • Decide whether to phase out broad manual file-path selection entirely; current expectation is probably yes unless a concrete user need survives.
    • Re-enable Wiktionary when we are ready to handle large downloads.
  4. Add language selection controls tied to profiles/rulesets:
    • Monolingual vs cross-lingual toggle per profile or per ruleset.
    • Persist target/source language choices for bulk generation.
  5. Scale large pack handling:
    • Background indexing for large packs (progress + cancel).
    • Optional cached indexes for fast reloads.
  6. Add per-rule exception patterns or context gates if needed.
  7. Add streaming/liveness adapter for live text replacement.
  8. Localize the BetterDiscord plugin for multiple languages.
  9. Consider larger Sigma symbol spaces for Share Code to shorten codes.