gabriel / muse public
refactor BREAKING task/bridge-decomp-phase6 #1 / 1
AI Agent gabriel · 119 days ago · May 22, 2026 · Diff

refactor: extract exporter to muse.core.bridge.exporter (issue #14 Phase 6)

Move GitExporter, _ensure_git_branch, _watch_loop, and run_git_export out of bridge.py into muse.core.bridge.exporter. Update test patches to target the new module namespace. 1301→641 lines.

sha256:fdaa0d27cdc32af471ac95a3fcf7ef7eabfa0155a2c72755693489a650726b55 sha
+38 ~10 −13 symbols
sha256:f45a0388f399ebdbb83aac3dbd798eeffc771c5638a2031d0ea87b8deefeb63f snapshot
+38
symbols added
~10
symbols modified
−13
symbols removed
0
dead code introduced
Semantic Changes 61 symbols
~ muse/core/bridge/exporter.py .py 34 symbols added
+ GitExporter class class GitExporter L41–284
+ __init__ method method __init__ L68–82
+ _has_shebang method method _has_shebang L227–233
+ _user_error method method _user_error L84–86
+ fix_file_modes method method fix_file_modes L203–224
+ git_commit method method git_commit L235–277
+ git_push method method git_push L279–284
+ read_snapshot method method read_snapshot L128–138
+ resolve_muse_ref method method resolve_muse_ref L88–126
+ sync_to_git method method sync_to_git L140–201
+ _ensure_git_branch function function _ensure_git_branch L287–305
+ _watch_loop function function _watch_loop L308–379
+ BridgeState import import BridgeState L29–29
+ ExitCode import import ExitCode L35–35
+ SnapshotManifest import import SnapshotManifest L29–29
+ _BRANCH_SAFE_RE import import _BRANCH_SAFE_RE L23–23
+ _git import import _git L23–23
+ _should_exclude import import _should_exclude L23–23
+ annotations import import annotations L14–14
+ argparse import import argparse L16–16
+ datetime import import datetime L17–17
+ find_repo_root import import find_repo_root L37–37
+ head_path import import head_path L36–36
+ json import import json L18–18
+ load_bridge_hooks import import load_bridge_hooks L28–28
+ now_utc_iso import import now_utc_iso L38–38
+ pathlib import import pathlib L19–19
+ read_bridge_state import import read_bridge_state L29–29
+ ref_path import import ref_path L36–36
+ run_hook import import run_hook L28–28
+ subprocess import import subprocess L20–20
+ sys import import sys L21–21
+ write_bridge_state import import write_bridge_state L29–29
+ run_git_export function function run_git_export L382–538
~ muse/cli/commands/bridge.py .py 4 symbols added, 13 symbols removed
GitExporter class class GitExporter L121–481
__init__ method method __init__ L153–177
_has_shebang method method _has_shebang L401–410
_user_error method method _user_error L183–186
fix_file_modes method method fix_file_modes L363–398
git_commit method method git_commit L416–468
git_push method method git_push L470–481
read_snapshot method method read_snapshot L258–278
resolve_muse_ref method method resolve_muse_ref L192–252
sync_to_git method method sync_to_git L284–361
_ensure_git_branch function function _ensure_git_branch L483–509
_watch_loop function function _watch_loop L511–593
run_git_export function function run_git_export L595–782
+ GitExporter import import GitExporter L51–51
+ _ensure_git_branch import import _ensure_git_branch L51–51
+ _watch_loop import import _watch_loop L51–51
+ run_git_export import import run_git_export L51–51
← Older Oldest on task/bridge-decomp-phase6
All commits
Newer → Latest on task/bridge-decomp-phase6

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