Files
SubMiner/backlog/tasks/task-57 - Evaluate-anki-integration.ts-for-further-decomposition.md
2026-02-17 22:54:09 -08:00

1.8 KiB

id, title, status, assignee, created_date, labels, dependencies, references, priority
id title status assignee created_date labels dependencies references priority
TASK-57 Evaluate anki-integration.ts for further decomposition To Do
2026-02-16 04:47
/home/sudacode/projects/japanese/SubMiner/src/anki-integration.ts
/home/sudacode/projects/japanese/SubMiner/src/anki-integration/
low

Description

anki-integration.ts remains the largest file at 1930 lines despite having domain modules extracted to src/anki-integration/ directory.

Current state:

  • Main file: src/anki-integration.ts (1930 lines)
  • Extracted modules:
    • card-creation.ts (727 lines)
    • known-word-cache.ts (398 lines)
    • field-grouping.ts (79 lines)
    • polling.ts (36 lines)
    • duplicate.ts (30 lines)
    • ui-feedback.ts (29 lines)
    • ai.ts (4.2k)

This task is to evaluate whether the main anki-integration.ts file can be further decomposed or if 1930 lines is acceptable for a main integration class.

Evaluation criteria:

  1. Are there remaining cohesive units that could be extracted?
  2. Is the remaining code primarily orchestration logic (which is acceptable to be longer)?
  3. Would further splitting improve or hurt readability?
  4. Are there internal classes or helpers that could be standalone?

Deliverable: A decision document with recommendations - either proceed with further decomposition or document why the current state is acceptable.

Acceptance Criteria

  • #1 Review anki-integration.ts structure and identify remaining cohesive units
  • #2 Evaluate if extraction would improve or hurt maintainability
  • #3 Document decision with rationale
  • #4 If proceeding: create extraction plan with specific modules to create
  • #5 If not proceeding: document architectural justification for keeping as-is