fix(evidence): harden unchanged job snapshot
This commit is contained in:
@@ -62,3 +62,18 @@ Failure injection runs a real exit-97 command after resources exist and reaches
|
||||
Cleanup aggregates Compose-down, residual container/volume/network, and temp-directory failures
|
||||
while preserving the original failure status. S3 prefixes are validated before any client request
|
||||
for leading slash, UTF-8 byte length, controls, and DEL.
|
||||
|
||||
## Canonical unchanged-run correction
|
||||
|
||||
The durable job now persists a deterministic source snapshot keyed by source identity. Each entry
|
||||
binds canonical URI, exact source fingerprint, UTC modification time, canonical immutable metadata,
|
||||
and explicit media type and size contract fields. The manifest also binds document-to-source
|
||||
provenance, supplied config/input fingerprints, compatibility, embedding settings, and pipeline and
|
||||
chunk-policy versions.
|
||||
|
||||
An unchanged run reuses ACTIVE only when ownership, bindings, the complete snapshot, document
|
||||
provenance, materialized document hashes, and every required vector ID/content hash match exactly.
|
||||
Snapshot changes rebuild only the affected sources; job input/config changes publish a new manifest
|
||||
while retaining valid stable vector-generation dependencies. Missing or corrupt legacy contract
|
||||
metadata, documents, or vectors fails closed and rebuilds. The Compose smoke now explicitly expects
|
||||
the unchanged no-op to report `published=false` while proving generation deltas `+1`, `+0`, `+1`.
|
||||
|
||||
Reference in New Issue
Block a user