gabriel / musehub public
test mwp3 task/mwp-3-job-idempotency #2 / 10
AI Agent gabriel · 22 days ago · Jun 29, 2026 · Diff

test(mwp3): Phase 3 E2E acceptance gate — MWP3_10 + MWP3_11

MWP3_10 — E2E two-push full drain: push A then push B (no intermediate drain), drain all index jobs then prebuild, assert both mpack_keys in MusehubMPackIndex and MusehubFetchMPackCache at push B's tip.

MWP3_11 — Stress N=10: push 1-5, partial drain (3 of 5), push 6-10, full drain; assert all 10 mpack_keys indexed and clone cache at tip_10.

Helpers added: _e2e_raw_commit, _e2e_push (uses conftest MemoryBackend via musehub.storage.backends.get_backend — no extra patching needed), _drain_index_jobs (calls complete_job to advance status after processing), _drain_prebuild_job.

Also updates docs/issues/mwp-3-job-idempotency.md: Phase 3 section marked ✅, MWP3_10/MWP3_11 checkboxes ticked, final acceptance criterion ticked, Phase 3 exit note added (14 tests GREEN).

sha256:baf0c1293273e7f9dc40b520a29eb8a09cc303d63b6808ce2e46e77c96c681ec sha
+15 ~5 −1 symbols
sha256:27cc4838e3e05549aca0fe1ff71dd00484fd7894a516411ae53184af543f49f2 snapshot
+15
symbols added
~5
symbols modified
−1
symbol removed
0
dead code introduced
Semantic Changes 21 symbols
~ docs/issues/mwp-3-job-idempotency.md .md 1 symbol added, 1 symbol removed, 3 symbols modified
~ tests/test_mwp3_job_idempotency.py .py 14 symbols added, 2 symbols modified
+ _E2E_OWNER variable variable _E2E_OWNER L777–777
+ _drain_index_jobs function async_function _drain_index_jobs L860–880
+ _drain_prebuild_job function async_function _drain_prebuild_job L883–894
+ _e2e_push function async_function _e2e_push L807–857
+ _e2e_raw_commit function function _e2e_raw_commit L780–804
+ MusehubMPackIndex import import MusehubMPackIndex L56–56
+ blob_id import import blob_id L53–53
+ build_wire_mpack import import build_wire_mpack L52–52
+ complete_job import import complete_job L57–57
+ hash_snapshot import import hash_snapshot L51–51
+ process_mpack_index_job import import process_mpack_index_job L59–59
+ wire_push_unpack_mpack import import wire_push_unpack_mpack L59–59
+ test_mwp3_10_e2e_two_pushes_full_drain function async_function test_mwp3_10_e2e_two_pushes_full_drain L903–998
+ test_mwp3_11_stress_partial_drain_n10 function async_function test_mwp3_11_stress_partial_drain_n10 L1007–1126

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