Protect initial pipeline stage resume semantics

This commit is contained in:
2026-08-30 12:54:38 +00:00
parent 82cb53e107
commit 4d6086fefb
13 changed files with 549 additions and 5 deletions

View File

@@ -88,7 +88,9 @@ Canonical stage order:
Execution rules:
- succeeded stages are skipped unless `--force` is set;
- succeeded stages are skipped unless `--force` is set; stages with semantic
configuration contracts additionally require matching versioned evidence,
and missing legacy evidence causes a safe one-time rerun;
- `run` continues interrupted or partially completed sessions by running non-succeeded stages;
- forcing a stage marks succeeded transitive dependents as `stale` before the
replacement runs; render and extract are independent siblings; and
@@ -97,6 +99,15 @@ Execution rules:
repeated self-skip with the same reason and no outputs is stable and does not
perpetually rerun dependent work.
Prepare, transcribe, and merge currently provide semantic-configuration
evidence. Changing prepare selection semantics reruns all fixed descendants;
changing WhisperX language/service identity reuses prepare; and changing a
Seriatim merge transformation reuses prepare and transcribe. Operational
timeouts, retry/concurrency tuning, executable paths, workspace/cache/spool
placement, reports, diagnostics, and secret values are excluded. Configuration,
models, prompts, modules, or resources loaded privately inside external tools
remain unobservable to Narratio and require an explicit `--force` after change.
An explicit self-skip is a durable `skipped` stage outcome that later runs
reconsider. It differs from successful no-output execution: disabled `render`
and `publish`, and absent or no-executable `analyze`, record `succeeded` with