subx-cli 2.0.0

AI subtitle processing CLI tool, which automatically matches, renames, and converts subtitle files.
Documentation
#!/bin/zsh
set -e
R=/var/home/jim60105/repos/subx-cli/.worktrees/split-mixed-capabilities-across-repos/local_scratch/replace.zsh
T=/var/home/jim60105/repos/subx-cli/.worktrees/split-mixed-capabilities-across-repos/openspec/changes/split-mixed-capabilities-across-repos/tasks.md

zsh $R $T 'and correct `design.md` Decision 2 for any that has moved: `execute_parallel_match` at `src/commands/match_command.rs:682`, the `println!("No video files found to process")` at `:718`, `monitor_batch_execution` at `:765`, the archive-origin branch at `:459` and `apply_unique_target_paths` at `:470`, `apply_unique_target_paths`'"'"'s definition at `src/core/matcher/engine.rs:134`' 'and correct `design.md` Decision 2 for any that has moved (done at apply time; the corrected citations are): `execute_parallel_match` at `src/commands/match_command.rs:702`, the `println!("No video files found to process")` at `:738`, `monitor_batch_execution` at `:781`, the archive-origin branch at `:486` and `apply_unique_target_paths` at `:490`, `apply_unique_target_paths`'"'"'s definition at `src/core/matcher/engine.rs:139`'

zsh $R $T '1.6 Re-verify the two cache-path resolvers still disagree by construction: `src/core/matcher/engine.rs:2244` and `src/commands/cache_command.rs:224` (over `get_config_dir()` at `:218`).' '1.6 Re-verify the two cache-path resolvers still disagree by construction: `src/core/matcher/engine.rs:2541-2544` (via `dirs::config_dir()`) and `src/commands/cache_command.rs:226-227` (over `get_config_dir()` at `:217`, manual `XDG_CONFIG_HOME`).'

zsh $R $T 'that the provenance of these 89 requirements must be readable from this repository' 'that the provenance of these 91 requirements must be readable from this repository'

zsh $R $T 'the 82 `### Requirement:` titles under `## REMOVED Requirements` across the thirteen delta files, plus the seven new core-half titles — *Tolerant Configuration Load Path*, *Detector Tolerates Empty and Binary Input*, *Display Is the Library'"'"'s Error Rendering*, *Library Code Surfaces Recoverable Failures as Errors*, *Target Format Conversion Semantics*, *Sensitive Value Masking Helper*, *Translation Prompt Guidance Inputs* — for **89** titles' 'the 84 `### Requirement:` titles under `## REMOVED Requirements` across the thirteen delta files (82 as drafted plus the two late arrivals *Archive-Aware Output Location Resolution* and *VAD-Independent Manual Offset Application*), plus the seven new core-half titles — *Tolerant Configuration Load Path*, *Detector Tolerates Empty and Binary Input*, *Display Is the Library'"'"'s Error Rendering*, *Library Code Surfaces Recoverable Failures as Errors*, *Target Format Conversion Semantics*, *Sensitive Value Masking Helper*, *Translation Prompt Guidance Inputs* — for **91** arriving titles. Rename map: the removed *Library and Binary Error Surface Split* arrives as the new-half title *Library Error Surface Holds Only Machine Contracts* (already in the seven); the other 83 removed titles arrive verbatim, incl. *Task Scheduler Entry Point* and *Sync Method Selection*, which keep their own titles on the core half'

zsh $R $T '3.9 `specs/input-path-handling/spec.md` — twelve requirements, of which six are composed because a CLI clause was lifted out (*Core-Owned Input Collection*, *Unified Path Merging*, *Extension Filtering*, *Recursive vs Flat Traversal*, *No-Extract Collection Switch*, *CollectedFiles Additional APIs*) and six are verbatim (*Direct File Inputs Pass Through*, *Mixed File And Directory Inputs*, *Directory Deduplication*, *Invalid Path Surfacing*, *CollectedFiles Return Type*, *Archive Origin Mapping*)' '3.9 `specs/input-path-handling/spec.md` — thirteen requirements, of which six are composed because a CLI clause was lifted out (*Core-Owned Input Collection*, *Unified Path Merging*, *Extension Filtering*, *Recursive vs Flat Traversal*, *No-Extract Collection Switch*, *CollectedFiles Additional APIs*) and seven are verbatim modulo the de-qualifications in their `**Migration**` notes (*Direct File Inputs Pass Through*, *Mixed File And Directory Inputs*, *Directory Deduplication*, *Invalid Path Surfacing*, *CollectedFiles Return Type*, *Archive Origin Mapping*, and the late *Archive-Aware Output Location Resolution* — root-relative `src/core/input/mod.rs`, `subx-cli` named for the command loops)'

zsh $R $T '3.14 `specs/timeline-sync/spec.md` — six verbatim (*Offset Clamping Against Maximum*, *Subtitle Timing Application*, *VAD Audio Processing*, *VAD Detector Behavior*, *First-Sentence Offset Annotation*, *VAD Padding Chunks Configuration*) plus three composed' '3.14 `specs/timeline-sync/spec.md` — seven verbatim (*Offset Clamping Against Maximum*, *Subtitle Timing Application*, *VAD Audio Processing*, *VAD Detector Behavior*, *First-Sentence Offset Annotation*, *VAD Padding Chunks Configuration*, and the late *VAD-Independent Manual Offset Application* with its two de-qualifications) plus three composed'

zsh $R $T 'and the totals are **89 requirements** across the twelve plus **3 restated** in `local-llm-provider`' 'and the totals are **91 requirements** across the twelve plus **3 restated** in `local-llm-provider`'

zsh $R $T '5.9 Commit in `subx-core`. **From here the 89 core-half requirements exist in both trees**' '5.9 Commit in `subx-core` and push `origin main` (normal non-force push after verifying `origin/main` has not diverged from the local parent; NO tags). **From here the 91 core-half requirements exist in both trees**'

zsh $R $T '6.2 Hand-apply the 82 `## REMOVED Requirements` entries by deleting each named requirement, with its scenarios, from `openspec/specs/<capability>/spec.md`: 6 from `cache-management`, 6 from `component-factory`, 13 from `configuration-management`, 1 from `encoding-detection`, 8 from `error-handling`, 4 from `format-conversion`, 12 from `input-path-handling`, 8 from `parallel-processing`, 3 from `secrets-protection`, 6 from `subtitle-matching`, 6 from `subtitle-translation`, 9 from `timeline-sync`' '6.2 Hand-apply the 84 `## REMOVED Requirements` entries by deleting each named requirement, with its scenarios, from `openspec/specs/<capability>/spec.md` (SUBSTITUTE-by-deletion, never append; count-guarded per capability): 6 from `cache-management`, 6 from `component-factory`, 13 from `configuration-management`, 1 from `encoding-detection`, 8 from `error-handling`, 4 from `format-conversion`, 13 from `input-path-handling`, 8 from `parallel-processing`, 3 from `secrets-protection`, 6 from `subtitle-matching`, 6 from `subtitle-translation`, 10 from `timeline-sync`'

zsh $R $T 'with the twelve names and the 134 → 58 requirement count' 'with the twelve names and the 136 → 58 requirement count'

zsh $R $T 'was touched while 100 delta operations were applied across thirteen files' 'was touched while 102 delta operations were applied across thirteen files'

zsh $R $T 'the 89-title and 58-title set equalities' 'the 91-title and 58-title set equalities'

echo BATCH-DONE