gabriel / musehub public
feat BREAKING task/per-repo-migration #1 / 1
AI Agent gabriel · 144 days ago · May 1, 2026 · Diff

feat: add flat→per-repo migration script; remove legacy fallback from LocalBackend

- scripts/migrate_flat_to_per_repo.py: four-step idempotent migration (dry-run, migrate, verify, prune); copies each object to ALL referencing repos' stores - LocalBackend.get/exists/get_batch: remove flat-store fallback now that migration is complete; per-repo store is the sole source of truth

sha256:42d72463677f2ee758056fc9e543b56409dbb97286701e523b1d28b61dbc1801 sha
+16 ~4 symbols
sha256:19d5557b94f8232034e2c57011d0e0f8c8b1548c313e1455c29a17c15d7ff059 snapshot
+16
symbols added
~4
symbols modified
0
dead code introduced
Semantic Changes 20 symbols
~ scripts/migrate_flat_to_per_repo.py .py 16 symbols added
+ REPOS_DIR variable variable REPOS_DIR L39–39
+ cmd_dry_run function async_function cmd_dry_run L95–118
+ cmd_migrate function async_function cmd_migrate L121–155
+ cmd_prune function async_function cmd_prune L186–217
+ cmd_verify function async_function cmd_verify L158–183
+ Path import import Path L34–34
+ annotations import import annotations L28–28
+ argparse import import argparse L30–30
+ asyncio import import asyncio L31–31
+ os import import os L32–32
+ sys import import sys L33–33
+ load_rows function async_function load_rows L42–69
+ main function async_function main L220–247
+ parse_args function function parse_args L250–259
+ resolve_src function function resolve_src L72–82
+ target_path function function target_path L85–92
~ musehub/storage/backends.py .py 4 symbols modified
← Older Oldest on task/per-repo-migration
All commits
Newer → Latest on task/per-repo-migration

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:42d72463677f2ee758056fc9e543b56409dbb97286701e523b1d28b61dbc1801 --body "your comment"