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

docs(mwp-3): TDD implementation plan for job-enqueue idempotency (RC-3, musehub#108)

sha256:1749b9cc5cd2583c56d3261c4c00a342c27435f3946d4bc3e70f76aa2795458a sha
+27 symbols
1 changed · 984 in snapshot files
sha256:ee13b314793feb5a5c9023f2637787384b84560250d33e24167729f287877e7f snapshot
+27
symbols added
1
file changed
984
files in snapshot
0
dead code introduced
Semantic Changes 27 symbols
~ docs/issues/mwp-3-job-idempotency.md .md 27 symbols added
+ MWP-3 — Job-enqueue idempotency drops fresh payloads on back-to-back pushes (fixes RC-3) section MWP-3 — Job-enqueue idempotency drops fresh payloads on back-to-back pushes (fixes RC-3) L1–381
+ Acceptance criteria section Acceptance criteria L327–344
+ Anchors section Anchors L368–381
+ Background section Background L9–97
+ Relationship to RC-4 (out of scope — MWP-4) section Relationship to RC-4 (out of scope — MWP-4) L88–97
+ The bug (RC-3) section The bug (RC-3) L28–75
+ index: push B's mpack is never indexed section Face 1 — mpack.index: push B's mpack is never indexed L44–55
+ prebuild: stale captured tip set section Face 2 — fetch.mpack.prebuild: stale captured tip set L55–75
+ Why the two faces need different fixes section Why the two faces need different fixes L75–88
+ table section table L80–84
+ Design section Design L113–246
+ prebuild re-reads branch tips at run time section Fix 1 — fetch.mpack.prebuild re-reads branch tips at run time L115–166
+ code[python] variable variable code[python] L123–146
+ index dedup keyed on mpack_key section Fix 2 — mpack.index dedup keyed on mpack_key L166–225
+ code[python] variable variable code[python] L176–212
+ Optional generalization — enqueue_job(dedup_payload_key=…) section Optional generalization — enqueue_job(dedup_payload_key=…) L225–246
+ code[python] variable variable code[python] L233–241
+ Goal section Goal L97–113
+ Out of scope section Out of scope L354–368
+ Phases (load-bearing; each green before the next) section Phases (load-bearing; each green before the next) L246–327
+ Phase 0 — Reproduce (RED) section Phase 0 — Reproduce (RED) L248–266
+ prebuild self-coalescing (runtime re-read) section Phase 1 — fetch.mpack.prebuild self-coalescing (runtime re-read) L266–283
+ index per-mpack_key dedup section Phase 2 — mpack.index per-mpack_key dedup L283–302
+ Phase 3 — End-to-end back-to-back drain (the acceptance gate) section Phase 3 — End-to-end back-to-back drain (the acceptance gate) L302–319
+ Phase 4 — Lock & document section Phase 4 — Lock & document L319–327
+ Testing tiers section Testing tiers L344–354
+ table section table L346–353
Files Changed
+1
984 in snapshot

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