**Goal:** Allow operators to rerun a single stage without touching others. **Motivation:** The orchestrator is sequential; without a stage runner, operators keep using `--from/--to` and risk unintended side effects. ## TODO - [ ] Add CLI command: `python -m trr_backend.cli pipeline stage <stage_name> --run-id <id>` - [ ] Validate that run exists and stage is in valid state for rerun - [ ] Handle manifest requirements (Stage 1 vs later stages) - [ ] Update `pipeline.run_stages` row on completion/failure - [ ] Add `--dry-run` support consistent with main orchestrator ## Acceptance - [ ] Operator can safely rerun a single failed stage without re-executing prior stages - [ ] Stage runner respects same manifest/skip-s3 semantics as orchestrator
Goal: Allow operators to rerun a single stage without touching others.
Motivation: The orchestrator is sequential; without a stage runner, operators keep using
--from/--toand risk unintended side effects.TODO
python -m trr_backend.cli pipeline stage <stage_name> --run-id <id>pipeline.run_stagesrow on completion/failure--dry-runsupport consistent with main orchestratorAcceptance