gabriel / muse public
fix BREAKING task/fix-bare-object-handling #1 / 1
AI Agent gabriel · 141 days ago · Jun 4, 2026 · Diff

fix: bare object detection and read recovery; rm adapter files

- commits.py: get_all_commits silently skips bare blobs (DEBUG not CRITICAL) - object_store.py: read_object recovers bare objects via blob_id fallback - test_push_mpack_e2e.py: fix indentation bug in _run_push_cli - test_security_object_store_poisoning.py: add round-trip integrity tests - rm: .cursorrules, .windsurfrules, AGENTS.md (claude-only adapters)

sha256:fe844c2411edd1cec3d4c847f36a96c6ccd4e3d7d1a715106d2ecd64216bf94f sha
+62 ~2 −20 symbols
sha256:5ad3798b30362a15c2e0023c6254b769dd4332a8a2858f8d047d74ee038876e8 snapshot
+62
symbols added
~2
symbols modified
−20
symbols removed
0
dead code introduced
Semantic Changes 84 symbols
+ docs/
+ muse/
+ tests/
+ tools/
− .cursorrules .cursorrules
− .windsurfrules .windsurfrules
~ AGENTS.md .md 20 symbols removed
− Workspace — Shared Agent Configuration section Workspace — Shared Agent Configuration L1–137
− Branch Flow section Branch Flow L83–103
− code[bash] variable variable code[bash] L87–100
− Code Intelligence section Code Intelligence L103–116
− table section table L105–113
− Commit Convention — Agent-First section Commit Convention — Agent-First L37–83
− Agent commit — always use this section Agent commit — always use this L43–58
− code[bash] variable variable code[bash] L45–51
− Human commit — manual actions only section Human commit — manual actions only L58–66
− code[bash] variable variable code[bash] L60–63
− Provenance chain section Provenance chain L66–83
− code variable variable code L68–77
− Testing Rules section Testing Rules L116–137
− Forbidden section Forbidden L130–137
− Version Control section Version Control L25–37
− Workspace Members section Workspace Members L11–25
− table section table L13–22
− muse — Agent Configuration section muse — Agent Configuration L137–186
− Repo-Specific Notes section Repo-Specific Notes L147–186
− Snapshot Design Intent — Flat Manifest is Intentional section Snapshot Design Intent — Flat Manifest is Intentional L149–186
~ muse/core/commits.py .py 1 symbol modified
~ muse/core/object_store.py .py 1 symbol modified
~ tests/test_push_mpack_e2e.py .py 57 symbols added
+ _CapturingClient class class _CapturingClient L120–121
+ _CapturingTransport class class _CapturingTransport L131–182
+ __init__ method method __init__ L134–140
+ _build_request method method _build_request L155–158
+ fake_post method method fake_post L142–151
+ fake_put method method fake_put L165–168
+ fetch_remote_info method method fetch_remote_info L152–153
+ push_mpack_presign method method push_mpack_presign L160–163
+ push_mpack_put method method push_mpack_put L169–171
+ push_mpack_unpack method method push_mpack_unpack L173–182
+ _Headers variable variable _Headers L45–45
+ _JsonDict variable variable _JsonDict L46–46
+ _RemoteHeads variable variable _RemoteHeads L47–47
+ _UPLOAD_URL variable variable _UPLOAD_URL L65–65
+ _WalkCall variable variable _WalkCall L48–48
+ _bare_repo function function _bare_repo L72–83
+ _fake_resp function function _fake_resp L122–128
+ _make_commit function function _make_commit L86–117
+ _run_push_cli function function _run_push_cli L185–196
+ _unpack_kwargs function function _unpack_kwargs L199–202
+ cli variable variable cli L62–62
+ CliRunner import import CliRunner L59–59
+ CommitRecord import import CommitRecord L50–50
+ MagicMock import import MagicMock L31–31
+ Manifest import import Manifest L58–58
+ Mapping import import Mapping L29–29
+ PushResult import import PushResult L37–37
+ RemoteInfo import import RemoteInfo L37–37
+ SigningIdentity import import SigningIdentity L38–38
+ SnapshotRecord import import SnapshotRecord L54–54
+ TYPE_CHECKING import import TYPE_CHECKING L30–30
+ __version__ import import __version__ L36–36
+ annotations import import annotations L24–24
+ blob_id import import blob_id L58–58
+ compute_commit_id import import compute_commit_id L49–49
+ compute_snapshot_id import import compute_snapshot_id L49–49
+ datetime import import datetime L26–26
+ heads_dir import import heads_dir L40–40
+ json import import json L27–27
+ msgpack import import msgpack L33–33
+ muse_dir import import muse_dir L40–40
+ patch import import patch L31–31
+ pathlib import import pathlib L28–28
+ pytest import import pytest L34–34
+ remotes_dir import import remotes_dir L40–40
+ write_commit import import write_commit L50–50
+ write_object import import write_object L39–39
+ write_snapshot import import write_snapshot L54–54
+ runner variable variable runner L63–63
+ test_e1_three_step_sequence_in_order function function test_e1_three_step_sequence_in_order L209–232
+ test_e2_presign_key_matches_put_bytes function function test_e2_presign_key_matches_put_bytes L239–259
+ test_e6_non_merge_branch_have_is_single_head function function test_e6_non_merge_branch_have_is_single_head L386–425
+ test_e7_merge_commit_branch_have_includes_all_remote_heads function function test_e7_merge_commit_branch_have_includes_all_remote_heads L432–485
+ test_v1_second_push_commits_count_is_one function function test_v1_second_push_commits_count_is_one L266–284
+ test_v2_first_push_sends_all_commits function function test_v2_first_push_sends_all_commits L291–307
+ test_v3_live_refs_anchors_bfs function function test_v3_live_refs_anchors_bfs L314–331
+ test_vii1_push_twice_second_sends_one_commit function function test_vii1_push_twice_second_sends_one_commit L338–379
+ TestWriteObjectFromPathRoundTrip class class TestWriteObjectFromPathRoundTrip L722–781
+ test_bare_objects_readable_after_migration method method test_bare_objects_readable_after_migration L769–781
+ test_get_all_commits_does_not_flag_blob_as_corrupt method method test_get_all_commits_does_not_flag_blob_as_corrupt L751–767
+ test_read_returns_exact_content method method test_read_returns_exact_content L725–733
+ test_write_from_path_and_write_object_are_equivalent method method test_write_from_path_and_write_object_are_equivalent L735–749
← Older Oldest on task/fix-bare-object-handling
All commits
Newer → Latest on task/fix-bare-object-handling

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