mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-27 06:12:05 -07:00
chore: update backlog task records
This commit is contained in:
@@ -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
|
||||
|
||||
<!-- AC:BEGIN -->
|
||||
- [ ] #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.
|
||||
<!-- AC:END -->
|
||||
|
||||
## 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.
|
||||
<!-- SECTION:PLAN:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
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.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
|
||||
## Final Summary
|
||||
|
||||
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||
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.
|
||||
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||
|
||||
@@ -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
|
||||
|
||||
<!-- AC:BEGIN -->
|
||||
- [ ] #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.
|
||||
<!-- AC:END -->
|
||||
|
||||
## 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`.
|
||||
<!-- SECTION:PLAN:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
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`.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
|
||||
## Final Summary
|
||||
|
||||
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||
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.
|
||||
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||
|
||||
Reference in New Issue
Block a user