gabriel / musehub public
feat patch task/bundle-index-objects #1 / 1
AI Agent gabriel · 34 days ago · May 11, 2026 · Diff

feat: bundle.index job writes objects to MinIO and registers refs

The job was indexing snapshots and commits but never writing object blobs to MinIO or inserting musehub_objects / musehub_object_refs rows. This caused the ghost guard to fail on any stream push after a bundle push and made fetch/clone unable to serve file content.

Changes: - Extract raw_objects from bundle, decompress zstd in-memory - Parallel MinIO writes capped by _get_blob_put_sem() (100 slots) - Bulk INSERT musehub_objects (on_conflict_do_nothing — idempotent) - _upsert_object_refs for all objects in bundle - Extend return dict: objects_written, object_refs_written, elapsed_ms

No per-object sha256 re-verification — sha256(wire_bytes) == bundle_key already authenticated every byte. Checking again is checking the work of the hash.

TDD: test_bundle_index_job.py — 6 tests green.

sha256:638a778fa91d16b2db87440016d98abc40e0fc7ac598279fe4c665a166265169 sha
sha256:eacd2e0f9460bc584f8d190fda146de4c39718550ce9e9f31368fb4b91dc4345 snapshot
← Older Oldest on task/bundle-index-objects
All commits
Newer → Latest on task/bundle-index-objects

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:638a778fa91d16b2db87440016d98abc40e0fc7ac598279fe4c665a166265169 --body "your comment"