gabriel / musehub public
feat BREAKING task/test-fixes-and-push-stream #1 / 1
AI Agent gabriel · 140 days ago · Apr 29, 2026 · Diff

feat: push stream frame protocol, migration chain cleanup, test hardening

- wire.py: send http.response.start before frame loop (fix CF 524 timeout T1) - wire.py: stream each frame as response body chunk; response is now P*/R frame stream (T2) - musehub_wire.py: yield progress every 100 commits in ordered_commits loop (T3) - musehub_wire.py: add ghost object guard — reject pushes where DB objects missing from storage - musehub_wire.py: remove repo_id from compute_commit_id hash (metadata-only per git convention) - alembic: rename migrations to sequential numeric IDs (0001/0002/0003), remove duplicate bridge_mirrors from 0001 - pyproject.toml: exclude migrations marker from default pytest run (prevents Postgres crash cascade) - ui_tree.py: distinct 404 messages for manifest-miss vs storage-miss on raw endpoint - tests: update all push/stream response decoders from unpackb to Unpacker stream (T2 compat) - tests: update status code checks to frame-content checks for push rejections - tests: fix stream mock signatures, add _last_frame helpers, mock backend.exists in snapshot tests

sha256:35b46193dd016c4e791e1de58b19985de9ea308c8685c294e57170a714823da4 sha
+8 ~48 −2 symbols
sha256:87de5b76d0da1adaceabf7e20769c995e8d2035835f34a86d865f182e3f12712 snapshot
+8
symbols added
~48
symbols modified
−2
symbols removed
0
dead code introduced
Semantic Changes 58 symbols
~ musehub/api/routes/wire.py .py 1 symbol modified
~ pyproject.toml .toml 1 symbol added, 4 symbols modified
+ markers variable variable markers L0–0
~ tool
~ pytest
~ tests/bench_push.py .py 1 symbol modified
~ tests/test_cross_repo.py .py 1 symbol added, 2 symbols removed, 2 symbols modified
MusehubIntelResult import import MusehubIntelResult L31–31
json import import json L22–22
+ MusehubSymbolHistoryEntry import import MusehubSymbolHistoryEntry L30–30
~ tests/test_id_canonical.py .py 1 symbol modified
~ tests/test_migrations.py .py 1 symbol added, 3 symbols modified
+ pytestmark variable variable pytestmark L38–38
~ _HEAD
~ tests/test_object_integrity.py .py 2 symbols added, 2 symbols modified
+ _is_rejection function function _is_rejection L40–43
+ _last_frame function function _last_frame L30–37
~ tests/test_wire_push_plain.py .py 1 symbol added, 1 symbol modified
+ _last_frame function function _last_frame L37–43
~ tests/test_wire_streaming_push.py .py 1 symbol added, 1 symbol modified
+ _last_frame function function _last_frame L40–46
~ alembic/versions/0002_add_bridge_mirrors.py .py moved from alembic/versions/20260428_1506_49eb70491119_add_musehub_bridge_mirrors.py; 2 modified
~ alembic/versions/0003_normalized_symbol_intel_tables.py .py moved from alembic/versions/20260429_2045_a1b2c3d4e5f6_normalized_symbol_intel_tables.py; 2 modified
← Older Oldest on task/test-fixes-and-push-stream
All commits
Newer → Latest on task/test-fixes-and-push-stream

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