- map segmented Yomitan lines into single logical tokens and improve candidate selection heuristics
- limit frequency lookup to selected token text with POS-based exclusions and add debug logging hook
- add standalone Yomitan parser test script, deterministic utility-script shutdown, and docs/backlog updates
- Extract remaining runtime helper clusters from main.ts into dedicated modules for readability:\n - src/main/jlpt-runtime.ts\n - src/main/media-runtime.ts\n - src/main/overlay-visibility-runtime.ts\n- Wire main.ts to use the new runtime services and remove duplicated in-file helpers.\n- Preserve existing behavior via full typecheck + test:fast verification.\n- Finalize and archive TASK-56 backlog entry; update TASK-54 with completion metadata and summary.
- Remove structural quality gates task and references from task-27 roadmap.
- Remove structural-gates-adjacent work from scripts/positioning cleanup context, including check-main-lines adjustments.
- Archive completed backlog tasks 11 and 27.7 by moving them to completed directory.
- Finish task-27.5 module split by moving/anonymizing anki-integration and renderer positioning files into their dedicated directories and updating paths.
- Merge feature branch changes for n+1 target-only highlight flow
- Extend merged token model and token-merger to mark exactly-one unknown targets
- Thread n+1 candidate metadata through tokenizer and config systems
- Update subtitle renderer/state to route configured colors and new token class
- Resolve merge conflicts in core service tests, including subtitle and subsync behavior
- Document src/main/ composition modules (startup, app-lifecycle, state, etc.)
- Add new services to service layer list (app-ready, mpv-transport, etc.)
- Update flow diagrams to show new composition module structure
- Update contributor notes in development.md