fix: structured_delta silently discarded on every clone/fetch/pull
_coerce_commit_dict() in transport.py hardcoded structured_delta=None instead of reading it from the incoming wire commit dict -- every other field correctly read via raw.get(...), this one didn't. The server has always sent structured_delta correctly (confirmed via musehub_wire_shared.py _to_wire_commit and a live push+fetch round trip against staging); the client silently dropped it on every single clone, fetch, and pull.
Discovered while investigating a reported 'muse clone timed out' + a muse verify failure on a fresh clone of gabriel/musehub. This is one of two distinct bugs found in that investigation -- the other (~1,179 historical commits with invalid signatures, not reproducible on a live push+fetch cycle) is unrelated, pre-existing data corruption, not a live protocol bug, and is tracked separately.
TDD: tests/test_transport_coerce_commit_dict.py, 4 tests, confirmed RED (1 failing exactly as predicted) before the fix, GREEN after. Full wire protocol regression suite: 378 tests across clone/fetch/push/pull/mpack/ mwp5/mwp7 suites, zero regressions. Verified end-to-end with muse-dev against the real staging server -- structured_delta now survives a full clone of gabriel/musehub intact.
Semantic Changes
11 symbols
Files Changed
+1
~2
1208 in snapshot
0 comments
muse hub commit comment sha256:75efb092935f0cbc7d69f0f46de5d2db6f39568f0273550b5457fd4da2e50957 --body "your comment"
No comments yet. Be the first to start the discussion.