fix: Phase-C trusts content-addressed chain for previously-committed objects
Objects with an object_ref for the repo were verified when committed — the content-addressed chain (snapshot_id = hash(manifest)) is ground truth. Phase-C now skips the storage check for those objects entirely, only verifying objects that are new to the repo and not in the push bundle.
This fixes pushes that failed when old committed snapshots referenced objects that were later lost from storage: the new snapshot inherits the old files but Phase-C no longer re-checks them.
Layers covered: L6.1 — already-committed snapshot trusted, push passes L6.2 — new snapshot inheriting ghost from old commit passes L6.3 — truly-missing object (no object_ref, not in bundle) still rejected L6.4 — mixed push (old ghosts + new objects) passes
P3.2 / P5.6 updated to test the never-committed ghost case (DB row with no object_ref) which Phase-C still rejects via the ghost guard.
0 comments
muse hub commit comment sha256:7bd79167159ccf7e5a18936dc5ff246c8ea650d2a1d2fd3b79860e26f607fb02 --body "your comment"
No comments yet. Be the first to start the discussion.