gabriel / musehub public
fix BREAKING dev #90 / 100
AI Agent gabriel · 109 days ago · May 19, 2026 · Diff

fix: port security checks inline, remove repo_id from MusehubCommit in tests

- wire_push_unpack_mpack: add zip bomb guard (mpack_max_decompressed_bytes) and blocked hash check with quarantine — parity with process_mpack_index_job - test_intel_fidelity, test_symbol_detail_pagination: replace MusehubCommit(repo_id=) with MusehubCommitRef rows — commits are globally content-addressed - conftest._make_commit_row: same fix; shared helper unblocks multiple test files - test_mpack_index_job_phase3: rewrite for synchronous inline unpack-mpack design - test_wire_fetch_step1: add get_mpack/put_mpack/presign_mpack_get to stub backend - test_wire_step3_upload: use build_wire_mpack instead of raw msgpack bytes - musehub_wire: add _is_ancestor_db via walk_dag_async; fix objects_written return key

sha256:b8884c81af5e135510894a537784c16158ee9c2c05d074f978611bbcb611ca10 sha
+96 ~346 −40 symbols
sha256:0349c7761f913701a8de5d6e6ba523aa81a57da5ed1121103127f1333b6f1380 snapshot
+96
symbols added
~346
symbols modified
−40
symbols removed
0
dead code introduced
Semantic Changes 482 symbols
~ musehub/services/musehub_wire.py .py 1 symbol added, 2 symbols modified
+ _is_ancestor_db function async_function _is_ancestor_db L319–344
~ musehub/templates/musehub/pages/docs_muse_wire.html .html 24 symbols added, 28 symbols removed, 13 symbols modified
h2: Fetch stream section h2: Fetch stream L546–546
h2: Frame format section h2: Frame format L133–133
h2: Negotiation — ACK / NAK section h2: Negotiation — ACK / NAK L512–512
h2: Object encodings section h2: Object encodings L752–752
h2: Presigned fetch section h2: Presigned fetch L622–622
h2: Presigned push section h2: Presigned push L406–406
h2: Push session transcript section h2: Push session transcript L310–310
h2: Push stream section h2: Push stream L158–158
h3: COMMIT_PACK frame ( ) section h3: COMMIT_PACK frame ( ) L198–198
h3: Compression pipeline section h3: Compression pipeline L798–798
h3: END frame ( ) section h3: END frame ( ) L215–215
h3: HEADER frame ( ) section h3: HEADER frame ( ) L167–167
h3: HEADER frame — msgpack hex decode section h3: HEADER frame — msgpack hex decode L368–368
h3: OBJECT frame ( ) section h3: OBJECT frame ( ) L180–180
h3: Server response frames section h3: Server response frames L283–283
h3: Shallow clone — parameter section h3: Shallow clone — parameter L574–574
h3: Step 2 — R2 PUT section h3: Step 2 — R2 PUT L453–453
h3: Step 2 — parallel R2 GETs section h3: Step 2 — parallel R2 GETs L683–683
h3: Step 4 — (zero O frames) section h3: Step 4 — (zero O frames) L486–486
h3: Thresholds section h3: Thresholds L413–413
h3: Which path does a clone use? section h3: Which path does a clone use? L925–925
h3: WireSnapshotDelta fields section h3: WireSnapshotDelta fields L270–270
section#encodings section section#encodings L751–829
section#framing section section#framing L132–154
section#negotiate section section#negotiate L511–542
section#presign-fetch section section#presign-fetch L621–722
section#presign-push section section#presign-push L405–508
section#transcript section section#transcript L309–402
+ h2: Fetch — MPack download section h2: Fetch — MPack download L345–345
+ h2: Fetch — individual objects section h2: Fetch — individual objects L487–487
+ h2: Fetch — per-object presign section h2: Fetch — per-object presign L439–439
+ h2: MPack binary format section h2: MPack binary format L226–226
+ h2: Push — MPack upload section h2: Push — MPack upload L122–122
+ h2: Snapshot delta encoding section h2: Snapshot delta encoding L299–299
+ h2: Wire types section h2: Wire types L544–544
+ h3: 503 — objects not yet indexed section h3: 503 — objects not yet indexed L401–401
+ h3: Byte-level layout — 5-section MPack header section h3: Byte-level layout — 5-section MPack header L274–274
+ h3: Error responses section h3: Error responses L205–205
+ h3: Integrity model section h3: Integrity model L257–257
+ h3: MPack integrity section h3: MPack integrity L615–615
+ h3: Other error responses section h3: Other error responses L414–414
+ h3: Reconstruction section h3: Reconstruction L317–317
+ h3: Section types section h3: Section types L245–245
+ h3: SnapshotDelta schema section h3: SnapshotDelta schema L307–307
+ h3: Step 2 — GET and verify the MPack section h3: Step 2 — GET and verify the MPack L383–383
+ h3: Step 2 — PUT MPack to section h3: Step 2 — PUT MPack to L158–158
+ h3: WireSnapshotDelta fields (inside MPack SNAPSHOTS section) section h3: WireSnapshotDelta fields (inside MPack SNAPSHOTS section) L590–590
+ section#fetch-objects section section#fetch-objects L486–513
+ section#fetch-presign section section#fetch-presign L438–483
+ section#mpack-format section section#mpack-format L225–295
+ section#snapshot-deltas section section#snapshot-deltas L298–341
+ section#wire-types section section#wire-types L543–600
~ tests/conftest.py .py 1 symbol modified
~ tests/factories.py .py 1 symbol added, 4 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L35–35
~ tests/test_api_snapshots.py .py 1 symbol added, 5 symbols modified
+ MusehubSnapshotRef import import MusehubSnapshotRef L35–35
~ tests/test_blame_page_perf.py .py 2 symbols added, 5 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L40–40
+ MusehubSnapshotRef import import MusehubSnapshotRef L40–40
~ _snap
~ tests/test_blob_page_perf.py .py 2 symbols added, 5 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L43–43
+ MusehubSnapshotRef import import MusehubSnapshotRef L43–43
~ _snap
~ tests/test_branch_reset.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L29–29
~ tests/test_clone_xs_unit.py .py 1 symbol modified
~ tests/test_context.py .py 1 symbol added, 4 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L31–31
~ tests/test_coupling_provider.py .py 1 symbol added, 2 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L33–33
~ tests/test_diff_page_ssr.py .py 1 symbol added, 5 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L48–48
~ tests/test_divergence.py .py 1 symbol added, 5 symbols modified
~ tests/test_entangle_provider.py .py 1 symbol added, 2 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L33–33
~ tests/test_intel_fidelity.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L30–30
~ tests/test_mist_advanced.py .py 2 symbols added, 8 symbols modified
~ tests/test_mist_phase8_smoke.py .py 2 symbols added, 5 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L33–33
+ MusehubSnapshotRef import import MusehubSnapshotRef L33–33
~ tests/test_mpack_delta_e2e.py .py 1 symbol removed, 1 symbol modified
process_mpack_index_job import import process_mpack_index_job L29–29
~ tests/test_mpack_index_job_phase3.py .py 7 symbols added, 10 symbols removed, 4 symbols modified
_push_mpack function async_function _push_mpack L155–186
AsyncMock import import AsyncMock L28–28
MusehubBackgroundJob import import MusehubBackgroundJob L31–31
asyncio import import asyncio L17–17
func function import func L26–26
msgpack import import msgpack L22–22
patch import import patch L28–28
test_failed_job_resets_to_pending_for_retry function async_function test_failed_job_resets_to_pending_for_retry L327–401
test_partial_minio_failure_retry_produces_correct_state function async_function test_partial_minio_failure_retry_produces_correct_state L192–265
test_worker_full_lifecycle_pending_to_done function async_function test_worker_full_lifecycle_pending_to_done L269–323
+ _push_and_unpack function async_function _push_and_unpack L151–181
+ MusehubCommit import import MusehubCommit L26–26
+ MusehubSnapshot import import MusehubSnapshot L26–26
+ build_wire_mpack import import build_wire_mpack L31–31
+ test_unpack_mpack_idempotent function async_function test_unpack_mpack_idempotent L187–213
+ test_unpack_mpack_retry_after_rollback function async_function test_unpack_mpack_retry_after_rollback L251–297
+ test_unpack_mpack_writes_all_entities function async_function test_unpack_mpack_writes_all_entities L217–247
~ select
~ tests/test_mpack_phase2.py .py 1 symbol added, 2 symbols modified
+ presign_mpack_get method async_method presign_mpack_get L93–94
~ tests/test_mpack_phase3.py .py 1 symbol added, 2 symbols modified
+ presign_mpack_get method async_method presign_mpack_get L93–94
~ tests/test_musehub_context.py .py 1 symbol added, 4 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L36–36
~ tests/test_musehub_issues_branch_reachability.py .py 1 symbol added, 4 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L27–27
~ tests/test_musehub_issues_commit_graph.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L22–22
~ tests/test_musehub_labels.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L26–26
~ tests/test_musehub_proposals_touched_symbols.py .py 1 symbol added, 4 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L23–23
~ tests/test_musehub_search.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L43–43
~ tests/test_musehub_topics.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L32–32
~ tests/test_musehub_ui_commits_enhanced.py .py 1 symbol added, 4 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L47–47
~ tests/test_musehub_ui_commits_ssr.py .py 1 symbol added, 4 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L33–33
~ tests/test_musehub_ui_issue_detail_ssr.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L38–38
~ tests/test_musehub_ui_user_profile.py .py 1 symbol added, 3 symbols modified
~ tests/test_proposal_detail_delta_ssr.py .py 1 symbol added, 4 symbols modified
~ tests/test_proposal_reopen.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L28–28
~ tests/test_proposals_no_commit_meta.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L9–9
~ tests/test_push_xs_unit.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
test_p3_pushed_object_bytes_in_minio_match_content function function test_p3_pushed_object_bytes_in_minio_match_content L220–298
+ test_p3_pushed_mpack_in_minio_is_muse_format function function test_p3_pushed_mpack_in_minio_is_muse_format L220–288
~ tests/test_raw_endpoint.py .py 2 symbols added, 6 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L30–30
+ MusehubSnapshotRef import import MusehubSnapshotRef L30–30
~ tests/test_release_analysis_no_commit_meta.py .py 2 symbols added, 5 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L9–9
+ MusehubSnapshotRef import import MusehubSnapshotRef L9–9
~ tests/test_repository_no_commit_meta.py .py 2 symbols added, 5 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L9–9
+ MusehubSnapshotRef import import MusehubSnapshotRef L9–9
~ tests/test_search.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L68–68
~ tests/test_symbol_indexer_no_commit_meta.py .py 2 symbols added, 5 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L10–10
+ MusehubSnapshotRef import import MusehubSnapshotRef L10–10
~ tests/test_symbols_v2_p1_coupling_count.py .py 1 symbol added, 2 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L38–38
~ tests/test_symbols_v2_p4_intel_fields.py .py 1 symbol added, 2 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L45–45
~ tests/test_velocity_provider.py .py 1 symbol added, 2 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L34–34
~ tests/test_walk_commit_delta_scale.py .py 1 symbol added, 1 symbol modified
+ MusehubCommitGraph import import MusehubCommitGraph L20–20
~ tests/test_wire_fetch_step1.py .py 1 symbol added, 2 symbols modified
+ parse_wire_mpack import import parse_wire_mpack L36–36
~ tests/test_wire_step3_upload.py .py 1 symbol added, 2 symbols modified
+ build_wire_mpack import import build_wire_mpack L38–38

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