mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
1.9 KiB
1.9 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
| id | title | status | assignee | created_date | updated_date | labels | dependencies | priority | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-105 | Eliminate unsafe non-test runtime casts in main boundaries | To Do | 2026-02-22 07:13 | 2026-02-22 07:13 |
|
|
medium |
Description
Production runtime wiring still relies on many unsafe type escapes (as never, as unknown as) across src/main.ts and src/main/runtime/* non-test files.
Current scan shows repeated casts in dependency builders and runtime adapters, which hides contract drift and allowed current Jellyfin compile break to persist until full build.
Action Steps
- Build a baseline list of non-test unsafe casts in
src/main.tsandsrc/main/runtime. - Group casts by ownership domain (Jellyfin, overlay, startup, IPC, tokenization, tray).
- For each domain, introduce explicit interface types/adapters so casts are removed at boundary creation.
- Keep test-only casts allowed where practical, but remove production-path
as neverusage. - Add compile-time contract assertions for critical dependency builders to catch drift early.
- Validate with
bun run buildand affected source test suites.
Acceptance Criteria
- #1 Non-test
as neveroccurrences insrc/main.tsandsrc/main/runtimeare reduced to zero or documented narrow exceptions. - #2 Runtime dependency builders compile without unsafe production-path cast escapes.
- #3 Contract regressions are caught by compile/test checks rather than runtime behavior.
Definition of Done
- #1 Cast reduction report attached in task notes (before/after counts).
- #2
bun run buildandbun run test:core:srcpass. - #3 Any remaining exceptions have explicit rationale in code comments or task notes.