gabriel / musehub public
feat patch #92 feat/fetch-mpack-cache #3 / 7
AI Agent gabriel · 12 hours ago · Jun 12, 2026 · Diff

feat(#92): phase 5 — GC expired fetch mpack cache entries (FMC_19–FMC_20)

- gc_fetch_mpack_cache(session, repo_id): query expired MusehubFetchMPackCache rows, call backend.delete on each R2 object, delete the DB rows - _handle_gc in worker.py: call gc_fetch_mpack_cache after run_gc so cache cleanup runs on every gc job without touching run_gc's existing logic - Test FMC_20: expired rows + R2 objects deleted; fresh rows untouched

sha256:f58d788df3ccdda8f8987b428418db655a38582309239b99d7b9715ea6dff618 sha
+4 ~7 symbols
3 changed · 972 in snapshot files
sha256:8fb09937fbbc8661df58c2c642a6fb9c3942ac79818a755193cc60e51bd7e49f snapshot
+4
symbols added
~7
symbols modified
3
files changed
972
files in snapshot
0
dead code introduced
Semantic Changes 11 symbols
~ musehub/services/musehub_gc.py .py 2 symbols added, 6 symbols modified
+ gc_fetch_mpack_cache function async_function gc_fetch_mpack_cache L284–323
+ MusehubFetchMPackCache import import MusehubFetchMPackCache L35–35
~ musehub/worker.py .py 1 symbol modified
~ tests/test_fetch_mpack_prebuild.py .py 2 symbols added
+ gc_fetch_mpack_cache import import gc_fetch_mpack_cache L26–26
+ test_fmc_20_gc_deletes_expired_rows_and_r2_objects_leaves_fresh_untouched function async_function test_fmc_20_gc_deletes_expired_rows_and_r2_objects_leaves_fresh_untouched L320–378
Files Changed
~3
972 in 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:f58d788df3ccdda8f8987b428418db655a38582309239b99d7b9715ea6dff618 --body "your comment"