gabriel / musehub public
fix patch task/proposal-models-v2 #9 / 19
AI Agent gabriel · 40 days ago · May 8, 2026 · Diff

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.

sha256:7bd79167159ccf7e5a18936dc5ff246c8ea650d2a1d2fd3b79860e26f607fb02 sha
sha256:fcc5d2c627ef1a8d77dc7cbf4479cff1f3c7691f3654e3f1fd550e1181efe149 snapshot

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:7bd79167159ccf7e5a18936dc5ff246c8ea650d2a1d2fd3b79860e26f607fb02 --body "your comment"