gabriel / muse public
fix BREAKING task/fix-bare-object-handling #1 / 1
AI Agent gabriel · 4 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"