Hydrate accepted producer checkpoints
This commit is contained in:
@@ -151,7 +151,8 @@ recomputation is acceptable.
|
||||
|
||||
`--resume` loads compatible accepted work only when checkpoint recording is
|
||||
enabled. A normal resumed run may reuse source, extract, merge, and normalize
|
||||
checkpoints independently. Generated references add a dependency fingerprint
|
||||
checkpoints independently and may recompute a stage after a cache miss.
|
||||
Generated references add a dependency fingerprint
|
||||
for the producer's artifact kind, schema identity, media type, canonical
|
||||
content digest, and size. If that fingerprint changes or the producer is
|
||||
missing, dependent checkpoints are invalidated; unrelated work remains eligible
|
||||
@@ -165,14 +166,22 @@ persistent identity of otherwise identical checkpoints. Decisions are bounded
|
||||
and categorized as `reused`, `executed`, `forced_recompute`, or
|
||||
`dependency_invalidated`.
|
||||
|
||||
If a required predecessor cannot be reused during selective recomputation, the
|
||||
run fails before the dependent step starts. The failure manifest retains the
|
||||
completed upstream outcomes and dependency context but not generated reference
|
||||
content. For diagnosis, first check the failed step and lane in the manifest,
|
||||
then inspect checkpoint decision categories and reason codes. A
|
||||
`dependency_invalidated` decision means the stored producer, codec identity,
|
||||
schema, or canonical content no longer matches; a missing or rejected producer
|
||||
requires rerunning it rather than copying an artifact into the checkpoint root.
|
||||
For an unselected producer required by a recomputed step, Notarius loads the
|
||||
accepted normalized artifact directly. Valid normalize state is sufficient even
|
||||
when that producer's extract or merge checkpoint is missing or corrupt. The
|
||||
normalize manifest must be successful and match workspace schema v3, the exact
|
||||
current invocation identity, step, lane, and normalizer; its payload digest and
|
||||
canonical codec representation must also validate. A forced producer bypasses
|
||||
this lookup and executes.
|
||||
|
||||
If a required predecessor's accepted normalized artifact is missing, rejected,
|
||||
corrupt, non-canonical, or incompatible, the run fails before the dependent
|
||||
step starts. It does not fall back to rerunning that predecessor. The failure
|
||||
manifest retains completed upstream outcomes and dependency context but not
|
||||
generated reference content. For diagnosis, first check the producer step and
|
||||
lane in the manifest, then inspect checkpoint decision categories and reason
|
||||
codes. Rerun the producer explicitly rather than copying an artifact into the
|
||||
checkpoint root.
|
||||
The decision that caused a required-predecessor failure is retained before the
|
||||
run returns, and the CLI error identifies its step, lane, and reason code.
|
||||
|
||||
@@ -195,6 +204,7 @@ Checkpoint reason codes are stable diagnostic identifiers:
|
||||
| `artifact_codec_incompatible` | Stored artifact identity is incomplete or incompatible with the codec contract. |
|
||||
| `artifact_not_canonical` | The codec can decode the artifact, but its bytes are not canonical. |
|
||||
| `checkpoint_reused` | The stored checkpoint passed validation and was reused. |
|
||||
| `accepted_artifact_reused` | A required producer's accepted normalized artifact was canonically validated and hydrated. |
|
||||
| `recompute_step` | Selective recomputation forced execution of this lane. |
|
||||
|
||||
Decision detail is bounded explanatory text, not a data-recovery channel. It
|
||||
|
||||
Reference in New Issue
Block a user