5.4 KiB
id, title, status, assignee, created_date, updated_date, labels, milestone, dependencies, references, documentation, parent_task_id, priority
| id | title | status | assignee | created_date | updated_date | labels | milestone | dependencies | references | documentation | parent_task_id | priority | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-87.2 | Subtitle sync verification: replace the no-op subtitle lane with real automated coverage | Done |
|
2026-03-06 03:19 | 2026-03-06 08:06 |
|
m-0 |
|
|
TASK-87 | high |
Description
SubMiner advertises subtitle syncing with alass and ffsubsync, but the dedicated test:subtitle command currently does not run any tests. There is already lower-level coverage in src/core/services/subsync.test.ts, but the test matrix and contributor-facing commands do not reflect that reality. This task should replace the no-op lane with real verification, align scripts with the existing subsync test surface, and make the user-facing docs honest about how subtitle sync is verified.
Acceptance Criteria
- #1 The test:subtitle entrypoint runs real automated verification instead of echoing a placeholder message.
- #2 The subtitle verification lane covers both alass and ffsubsync behavior, including at least one non-happy-path scenario relevant to current functionality.
- #3 Contributor-facing documentation points to the real subtitle verification command and no longer implies a dedicated test lane exists when it does not.
- #4 The resulting verification strategy integrates cleanly with the repository-wide test matrix without duplicating or hiding existing subsync coverage.
Implementation Plan
Plan of record:
- Replace the placeholder package-script lane with a real
test:subtitle:srccommand that runs the maintained subtitle-sync tests directly (src/core/services/subsync.test.tsandsrc/subsync/utils.test.ts), and pointtest:subtitleat that lane instead of build+echo behavior. - Add one focused ffsubsync non-happy-path test in
src/core/services/subsync.test.tsso the dedicated lane explicitly covers both engines plus failure propagation relevant to current functionality. - Update
README.mdcontributor guidance to namebun run test:subtitleas the subtitle verification command and explain that it reuses the maintained subsync tests already included in broader core coverage. - Verify the final strategy by running
bun run test:subtitleandbun run test:core:srcso the dedicated lane stays aligned with the repository-wide matrix instead of creating a divergent hidden suite.
Detailed execution plan saved at docs/plans/2026-03-06-subtitle-sync-verification.md.
Implementation Notes
Reviewed task references and current subtitle verification surface. Existing coverage already lives in src/core/services/subsync.test.ts and src/subsync/utils.test.ts; test:subtitle is still a placeholder build+echo wrapper. The referenced report docs/reports/2026-02-22-task-100-dead-code-report.md is not present in the workspace, so planning used the task body plus repository state instead.
Implementation plan written and saved to docs/plans/2026-03-06-subtitle-sync-verification.md. Proceeding with execution per the task request.
Replaced the placeholder subtitle lane with test:subtitle:src in package.json, pointing test:subtitle directly at src/core/services/subsync.test.ts and src/subsync/utils.test.ts instead of build+echo behavior.
Added explicit ffsubsync failure-path coverage in src/core/services/subsync.test.ts, asserting non-zero command failures surface detailed ffsubsync synchronization failed messaging alongside existing alass coverage.
Updated README.md verification guidance to point contributors at bun run test:subtitle and explain that the lane reuses the maintained subsync tests already included in bun run test:core.
Verification: bun run test:subtitle passed (15 tests across 2 files). bun run test:core:src also passed (373 pass, 6 skip, 0 fail), confirming the dedicated subtitle lane stays aligned with the broader matrix.
Final Summary
Implemented a real subtitle verification lane by replacing the placeholder test:subtitle build+echo flow with a source-level test:subtitle:src command that runs the maintained subtitle-sync tests directly from src/core/services/subsync.test.ts and src/subsync/utils.test.ts. This keeps subtitle verification explicit for contributors while still reusing the same maintained test surface already covered by test:core.
Expanded subtitle-sync coverage with an explicit ffsubsync failure-path test so the dedicated lane now exercises both engines plus a user-visible non-happy path. Updated README.md to document bun run test:subtitle as the contributor-facing subtitle verification command and to explain its relationship to the broader core suite.
Verification run:
bun run test:subtitlebun run test:core:src
Notes:
- The task reference
docs/reports/2026-02-22-task-100-dead-code-report.mdwas not present in the workspace during execution, so implementation used the task body and live repository state as the source of truth.