JMR-devandClaude Opus 5 605275e37e feat(jobs): add run configuration and the per-job runner
Retention deletions are sequenced so the guarantee actually holds: the video
goes only after the FLAC is extracted, verified and committed, and the FLAC only
after every output is written and committed. Each deletion records itself both
in state.json and in events.jsonl, so a later run can tell "removed as
requested" from "gone and should not be".

Two bugs the tests caught while writing this:

- params_changed compared the requested model id against the resolved one, so
  every re-run looked like a parameter change and re-transcribed. An unpinned
  model now matches whatever ran; only an explicit --model can disagree.
- chain=DEFAULT_CHAIN as a default argument binds at import time, which made
  the backend chain impossible to override. It is resolved at call time now.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-13 15:04:43 -05:00
S
Description
No description provided
280 KiB
Languages
Python 99.7%
Shell 0.3%