feat: POST /{owner}/{slug}/fetch — wire fetch protocol step 1 (issue #68)
- Add wire_fetch() service function: DAG walk, object delta, presigned mpack URL - Add POST /{owner}/{slug}/fetch route: 200/422/404/503 per protocol pseudocode - Add FetchResult TypedDict, FetchCommitNotFound, FetchNotReady exceptions - Fix WireCommit serialization: .model_dump() before msgpack.packb - Add test_wire_fetch_step1.py: 10 TDD tests all green (F01–F10)
sha256:c763733e98504ba53ad394dcce33375795ae9e254f0e2de0e00a49ec3d171aea
sha
+46
~9
symbols
sha256:379bc2cb7133a0821a83d4ea7d024674d6e767b52cb8b30f8dbea2e4a4009993
snapshot
+46
symbols added
~9
symbols modified
0
dead code introduced
Semantic Changes
55 symbols
+
test_f01_happy_path_returns_presigned_url
function
async_function test_f01_happy_path_returns_presigned_url L198–217
+
test_f02_up_to_date_returns_zero_counts
function
async_function test_f02_up_to_date_returns_zero_counts L225–244
+
test_f03_delta_excludes_have_side_objects
function
async_function test_f03_delta_excludes_have_side_objects L252–288
+
test_f04_missing_repo_returns_404
function
async_function test_f04_missing_repo_returns_404 L296–302
+
test_f06_malformed_want_entry_returns_422
function
async_function test_f06_malformed_want_entry_returns_422 L324–330
+
test_f07_unknown_want_commit_returns_404
function
async_function test_f07_unknown_want_commit_returns_404 L338–345
+
test_f08_unindexed_objects_returns_503
function
async_function test_f08_unindexed_objects_returns_503 L353–378
+
test_f09_private_repo_without_auth_returns_404
function
async_function test_f09_private_repo_without_auth_returns_404 L386–393
+
test_f10_mpack_id_equals_sha256_of_stored_bytes
function
async_function test_f10_mpack_id_equals_sha256_of_stored_bytes L401–428
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:c763733e98504ba53ad394dcce33375795ae9e254f0e2de0e00a49ec3d171aea --body "your comment"
No comments yet. Be the first to start the discussion.