diff --git a/src/tracegrad/pipeline.py b/src/tracegrad/pipeline.py index 816a856..b5d50e5 100644 --- a/src/tracegrad/pipeline.py +++ b/src/tracegrad/pipeline.py @@ -1,10 +1,10 @@ """Run orchestration: the fixed order the stages execute in. The pipeline is the only place that knows the whole sequence, and it holds the -run lock while it executes. Each completed stage writes a resume checkpoint, so -a killed run picks up where it stopped instead of re-spending the attribution -budget — the attribution cache does the real work there, and the checkpoint just -records what has already been paid for. +run lock while it executes. Each completed stage writes a resume checkpoint for +inspection, but a re-run still executes every stage from the start — the +attribution cache, not the checkpoint, is what avoids paying twice for the same +instrument. The pipeline never writes the prompt. It produces a proposal; ``apply`` is the only writer.