gabriel / musehub public
refactor BREAKING task/sweep-pack-to-mpack #1 / 2
AI Agent gabriel · 121 days ago · May 16, 2026 · Diff

refactor: comprehensive pack → mpack rename across all source files and tests

- Rename process_pack_gc_job → process_mpack_gc_job, PackGCResult → MPackGCResult - Rename _pack_response → _mpack_response in wire.py route layer - Rename FetchMPackResult fields: pack_fetch → mpack_fetch, pack_urls → mpack_urls - Delete musehub/storage/pack.py and tiers.py (dead code, mpack is the format) - Delete tests/test_pack_*.py and replace with tests/test_mpack_*.py - Update all docstrings, comments, log labels, error messages - Update worker.py job type dispatch and log strings - Update config.py, backends.py, models, templates, docs, deploy scripts - DB table musehub_pack_index rename deferred to separate migration (0064+)

sha256:83e8100b89a06258099d9d3336eabf87995e5b40b0b7ef956dec67ffef12b35a sha
+14 ~51 −14 symbols
sha256:898c330c66cffb39c0b993c0800e931ab4f8574f7ace8608d9ac9179b144f061 snapshot
+14
symbols added
~51
symbols modified
−14
symbols removed
0
dead code introduced
Semantic Changes 79 symbols
~ musehub/api/routes/api/caps.py .py 1 symbol modified
~ musehub/models/wire.py .py 1 symbol modified
~ musehub/services/musehub_wire.py .py 2 symbols added, 2 symbols removed, 7 symbols modified
PackGCResult class class PackGCResult L2016–2022
process_pack_gc_job function async_function process_pack_gc_job L2025–2145
+ MPackGCResult class class MPackGCResult L2016–2022
+ process_mpack_gc_job function async_function process_mpack_gc_job L2025–2145
~ musehub/worker.py .py 1 symbol modified
~ tests/test_push_xs_unit.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
test_p4_pack_index_has_row_for_pushed_object function function test_p4_pack_index_has_row_for_pushed_object L277–372
+ test_p4_mpack_index_has_row_for_pushed_object function function test_p4_mpack_index_has_row_for_pushed_object L277–372
~ tests/test_mpack_fetch_phase3.py .py moved from tests/test_pack_fetch_phase3.py; 4 added, 4 removed, 1 modified
test_pf1_fetch_returns_pack_urls function async_function test_pf1_fetch_returns_pack_urls L150–177
test_pf2_pack_urls_count_equals_distinct_packs function async_function test_pf2_pack_urls_count_equals_distinct_packs L185–223
test_pf3_pack_fetch_includes_commit_and_snapshot_metadata function async_function test_pf3_pack_fetch_includes_commit_and_snapshot_metadata L231–261
test_pf4_fallback_to_inline_when_no_pack_index function async_function test_pf4_fallback_to_inline_when_no_pack_index L269–349
+ test_pf1_fetch_returns_mpack_urls function async_function test_pf1_fetch_returns_mpack_urls L150–177
+ test_pf2_mpack_urls_count_equals_distinct_mpacks function async_function test_pf2_mpack_urls_count_equals_distinct_mpacks L185–223
+ test_pf3_mpack_fetch_includes_commit_and_snapshot_metadata function async_function test_pf3_mpack_fetch_includes_commit_and_snapshot_metadata L231–261
+ test_pf4_fallback_to_inline_when_no_mpack_index function async_function test_pf4_fallback_to_inline_when_no_mpack_index L269–349
~ tests/test_mpack_gc_phase4.py .py moved from tests/test_pack_gc_phase4.py; 5 added, 5 removed, 3 modified
_distinct_pack_count function async_function _distinct_pack_count L159–170
test_pg1_gc_consolidates_multiple_packs function async_function test_pg1_gc_consolidates_multiple_packs L178–212
test_pg2_gc_leaves_exactly_one_pack function async_function test_pg2_gc_leaves_exactly_one_pack L220–242
test_pg5_gc_skips_single_pack_repo function async_function test_pg5_gc_skips_single_pack_repo L343–366
test_pg6_fetch_returns_single_pack_url_after_gc function async_function test_pg6_fetch_returns_single_pack_url_after_gc L374–418
+ _distinct_mpack_count function async_function _distinct_mpack_count L159–170
+ test_pg1_gc_consolidates_multiple_mpacks function async_function test_pg1_gc_consolidates_multiple_mpacks L178–212
+ test_pg2_gc_leaves_exactly_one_mpack function async_function test_pg2_gc_leaves_exactly_one_mpack L220–242
+ test_pg5_gc_skips_single_mpack_repo function async_function test_pg5_gc_skips_single_mpack_repo L343–366
+ test_pg6_fetch_returns_single_mpack_url_after_gc function async_function test_pg6_fetch_returns_single_mpack_url_after_gc L374–418
~ tests/test_mpack_index_phase1.py .py moved from tests/test_pack_index_phase1.py; 2 added, 2 removed, 1 modified
test_pi1_pack_index_written_for_every_object function async_function test_pi1_pack_index_written_for_every_object L94–121
test_pi2_pack_id_matches_mpack_key function async_function test_pi2_pack_id_matches_mpack_key L129–147
+ test_pi1_mpack_index_written_for_every_object function async_function test_pi1_mpack_index_written_for_every_object L94–121
+ test_pi2_mpack_id_matches_mpack_key function async_function test_pi2_mpack_id_matches_mpack_key L129–147

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:83e8100b89a06258099d9d3336eabf87995e5b40b0b7ef956dec67ffef12b35a --body "your comment"