gabriel / muse public
fix patch muse cat task/stage-blob-phase-2 #1 / 1
AI Agent gabriel · 130 days ago · May 8, 2026 · Diff

fix(muse cat): error on untracked files; read staged blobs from object store

FILE_NOT_TRACKED replaces the silent disk-read for files that exist on disk but are not in the HEAD manifest or stage index. Staged-but-uncommitted files (mode A/M) are now readable via the stage blob. TestCatDiskFallback removed — it asserted the wrong behavior.

sha256:9c08a486cef1d8092132dd96eb724dbd97d3654f61114a1fd6acadbb882d2a91 sha
+15 ~1 −5 symbols
sha256:516ee26e5bd5b0c92213cc33e3878c755c0faa9552777084ce8d3eed6cbdf0cb snapshot
+15
symbols added
~1
symbol modified
−5
symbols removed
0
dead code introduced
Semantic Changes 21 symbols
~ muse/cli/commands/core_cat.py .py 1 symbol added, 1 symbol modified
+ read_stage import import read_stage L62–62
~ tests/test_cmd_cat.py .py 5 symbols removed
TestCatDiskFallback class class TestCatDiskFallback L646–673
test_internal_config_file_readable method method test_internal_config_file_readable L664–668
test_nonexistent_file_still_errors method method test_nonexistent_file_still_errors L670–673
test_untracked_file_is_readable method method test_untracked_file_is_readable L649–654
test_untracked_file_json_returns_content method method test_untracked_file_json_returns_content L656–662
~ tests/test_cmd_core_cat.py .py 14 symbols added
+ TestStagedFileReads class class TestStagedFileReads L561–613
+ test_staged_added_file_json_schema method method test_staged_added_file_json_schema L574–585
+ test_staged_added_file_readable method method test_staged_added_file_readable L564–572
+ test_staged_but_not_on_disk_reads_from_store method method test_staged_but_not_on_disk_reads_from_store L587–600
+ test_staged_file_json_content_matches_blob method method test_staged_file_json_content_matches_blob L602–613
+ TestUntrackedFileErrors class class TestUntrackedFileErrors L522–558
+ test_tracked_file_still_readable method method test_tracked_file_still_readable L554–558
+ test_untracked_on_disk_does_not_leak_content method method test_untracked_on_disk_does_not_leak_content L539–545
+ test_untracked_on_disk_exits_nonzero method method test_untracked_on_disk_exits_nonzero L525–528
+ test_untracked_on_disk_json_does_not_leak_content method method test_untracked_on_disk_json_does_not_leak_content L547–552
+ test_untracked_on_disk_json_error_code_is_file_not_tracked method method test_untracked_on_disk_json_error_code_is_file_not_tracked L530–537
+ _stage_file function function _stage_file L513–519
+ make_entry import import make_entry L37–37
+ write_stage import import write_stage L37–37
← Older Oldest on task/stage-blob-phase-2
All commits
Newer → Latest on task/stage-blob-phase-2

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