gabriel / muse public
refactor BREAKING store task/store-phase2-refs #1 / 1
AI Agent gabriel · 20 days ago · May 21, 2026 · Diff

refactor(store): Phase 2 — extract ref and HEAD management into muse/core/refs.py

Expand muse/core/refs.py from 2 primitives to the full ref/HEAD module:

Moved from store.py → refs.py: - RefConflictError (exception) - write_branch_ref (atomic CAS ref write, advisory flock) - SymbolicHead, DetachedHead, HeadState (typed HEAD representations) - read_head, read_current_branch, write_head_branch, write_head_commit - get_head_commit_id, resolve_any_ref, get_all_branch_heads

store.py imports all moved symbols from refs.py and contains no HEAD/ref implementation. Direct callers updated: muse/core/migrate.py, muse/cli/commands/init.py, update_ref.py, worktree.py, bridge.py (inline), and 7 test files that own ref-specific test coverage.

sha256:37ed8fecaafe7d683537a0182d49132c06dcef1f9016d218281831d30d58ed01 sha
14 changed · 1052 in snapshot files
sha256:021473ac96b368d5cc5925ec9cd452ed52711c0a625d66b1372b38d407348b52 snapshot
14
files changed
1052
files in snapshot
Files Changed
~14
1052 in snapshot
← Older Oldest on task/store-phase2-refs
All commits
Newer → Latest on task/store-phase2-refs

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:37ed8fecaafe7d683537a0182d49132c06dcef1f9016d218281831d30d58ed01 --body "your comment"