From a92631bf5290bdc85051a69b22d96ff34867087f Mon Sep 17 00:00:00 2001 From: sudacode Date: Fri, 27 Mar 2026 00:33:48 -0700 Subject: [PATCH] chore: update backlog task records --- backlog/config.yml | 10 ++++---- ...-and-shrink-src-types.ts-import-surface.md | 25 +++++++++++++++---- ...time-into-fetch-build-and-cache-modules.md | 23 +++++++++++++---- 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/backlog/config.yml b/backlog/config.yml index f0233bb..cf450d5 100644 --- a/backlog/config.yml +++ b/backlog/config.yml @@ -1,11 +1,11 @@ -project_name: 'SubMiner' -default_status: 'To Do' -statuses: ['To Do', 'In Progress', 'Done'] +project_name: "SubMiner" +default_status: "To Do" +statuses: ["To Do", "In Progress", "Done"] labels: [] definition_of_done: [] date_format: yyyy-mm-dd max_column_width: 20 -default_editor: 'nvim' +default_editor: "nvim" auto_open_browser: false default_port: 6420 remote_operations: true @@ -13,4 +13,4 @@ auto_commit: false bypass_git_hooks: false check_active_branches: true active_branch_days: 30 -task_prefix: 'task' +task_prefix: "task" diff --git a/backlog/tasks/task-238.3 - Introduce-domain-type-entrypoints-and-shrink-src-types.ts-import-surface.md b/backlog/tasks/task-238.3 - Introduce-domain-type-entrypoints-and-shrink-src-types.ts-import-surface.md index 24d4694..ed28cfb 100644 --- a/backlog/tasks/task-238.3 - Introduce-domain-type-entrypoints-and-shrink-src-types.ts-import-surface.md +++ b/backlog/tasks/task-238.3 - Introduce-domain-type-entrypoints-and-shrink-src-types.ts-import-surface.md @@ -1,9 +1,10 @@ --- id: TASK-238.3 title: Introduce domain type entrypoints and shrink src/types.ts import surface -status: To Do +status: Done assignee: [] created_date: '2026-03-26 20:49' +updated_date: '2026-03-27 00:14' labels: - tech-debt - types @@ -28,10 +29,10 @@ priority: medium ## Acceptance Criteria -- [ ] #1 Domain-focused type modules exist for the main clusters currently mixed together in `src/types.ts` (for example Anki, config/runtime, subtitle/media, and integration/runtime-option types). -- [ ] #2 `src/types.ts` becomes a thinner compatibility layer or barrel instead of the sole source of truth for every shared type. -- [ ] #3 A meaningful set of imports is migrated to the new entrypoints without breaking the maintained typecheck/test lanes. -- [ ] #4 The new structure is documented well enough that contributors can tell where new shared types should live. +- [x] #1 Domain-focused type modules exist for the main clusters currently mixed together in `src/types.ts` (for example Anki, config/runtime, subtitle/media, and integration/runtime-option types). +- [x] #2 `src/types.ts` becomes a thinner compatibility layer or barrel instead of the sole source of truth for every shared type. +- [x] #3 A meaningful set of imports is migrated to the new entrypoints without breaking the maintained typecheck/test lanes. +- [x] #4 The new structure is documented well enough that contributors can tell where new shared types should live. ## Implementation Plan @@ -42,3 +43,17 @@ priority: medium 3. Migrate the highest-value import sites first, especially config/runtime and Anki-heavy surfaces. 4. Verify with `bun run typecheck` and the cheapest test lane covering touched domains. + +## Implementation Notes + + +Implemented domain entrypoints under `src/types/` and kept `src/types.ts` as a compatibility barrel (`src/types/anki.ts`, `src/types/config.ts`, `src/types/integrations.ts`, `src/types/runtime.ts`, `src/types/runtime-options.ts`, `src/types/subtitle.ts`). Migrated the highest-value import surfaces away from `src/types.ts` in config/runtime/Anki-related modules and shared IPC surfaces. Added type-level regression coverage in `src/types-domain-entrypoints.type-test.ts`. + +Aligned docs in `docs/architecture/README.md`, `docs/architecture/domains.md`, and `docs-site/changelog.md` to support the change and clear docs-site sync mismatch. + + +## Final Summary + + +Task completed with commit `5dd8bb7f` (`refactor: split shared type entrypoints`). The refactor introduced domain type entrypoints, shrank the `src/types.ts` import surface, updated import consumers, and recorded verification evidence in the local verifier artifacts. Backlog now tracks TASK-238.3 as done. + diff --git a/backlog/tasks/task-238.4 - Decompose-character-dictionary-runtime-into-fetch-build-and-cache-modules.md b/backlog/tasks/task-238.4 - Decompose-character-dictionary-runtime-into-fetch-build-and-cache-modules.md index 69cc78e..725cff3 100644 --- a/backlog/tasks/task-238.4 - Decompose-character-dictionary-runtime-into-fetch-build-and-cache-modules.md +++ b/backlog/tasks/task-238.4 - Decompose-character-dictionary-runtime-into-fetch-build-and-cache-modules.md @@ -1,7 +1,8 @@ --- id: TASK-238.4 title: Decompose character dictionary runtime into fetch, build, and cache modules -status: To Do +status: Done +updated_date: '2026-03-27 00:20' assignee: [] created_date: '2026-03-26 20:49' labels: @@ -29,10 +30,10 @@ priority: medium ## Acceptance Criteria -- [ ] #1 AniList fetch/parsing logic, dictionary-entry building, and snapshot/cache/zip persistence no longer live in one giant file. -- [ ] #2 The public runtime API stays behavior-compatible for current callers. -- [ ] #3 The top-level runtime/orchestration file becomes materially smaller and easier to review. -- [ ] #4 Existing character-dictionary tests still pass, and new focused tests cover the extracted modules where needed. +- [x] #1 AniList fetch/parsing logic, dictionary-entry building, and snapshot/cache/zip persistence no longer live in one giant file. +- [x] #2 The public runtime API stays behavior-compatible for current callers. +- [x] #3 The top-level runtime/orchestration file becomes materially smaller and easier to review. +- [x] #4 Existing character-dictionary tests still pass, and new focused tests cover the extracted modules where needed. ## Implementation Plan @@ -43,3 +44,15 @@ priority: medium 3. Leave the exported runtime API stable for current main-process callers. 4. Verify with the maintained character-dictionary/runtime test lane plus `bun run typecheck`. + +## Implementation Notes + + +Split `src/main/character-dictionary-runtime.ts` into focused modules under `src/main/character-dictionary-runtime/` (`fetch`, `build`, `cache`, plus helper modules). The orchestrator stayed as a compatibility shim/API surface with delegated module functions. Added focused tests for cache snapshot semantics and term rebuild + collapsible-open-state behavior in the new modules. Updated runtime architecture docs in `docs/architecture/domains.md` and `docs-site/architecture.md`. + + +## Final Summary + + +Task completed with commit `5b06579e` (`refactor: split character dictionary runtime modules`). Runtime refactor landed with regression coverage and verification including runtime-compat lanes, and all changed behavior was validated as API-compatible for callers. +