fix(mwp-3): Phase 1 — fetch.mpack.prebuild self-coalescing via runtime branch-tip re-read
process_fetch_mpack_prebuild_job now queries MusehubBranch.head_commit_id at run time instead of trusting payload['tip_commit_ids'] verbatim. This makes the job self-coalescing: any number of pushes deduped into one pending job are all covered because the handler reads live branch state here, not what was captured at enqueue time.
payload['tip_commit_ids'] is retained for observability only; a diff against live tips is logged at INFO when the two sets diverge. The early-exit guard now fires on 'no live branch tips' rather than 'empty payload'.
Tests: MWP3_04 GREEN — empty payload but two live branches → wire_fetch_mpack called with want=[tipA, tipB] MWP3_05 GREEN — payload={tipA}, live DB={tipA, tipB} → both tips built MWP3_06 GREEN — cache rows written for BOTH tips after a stale-payload drain MWP3_02 GREEN — Phase 0 RED reproduction now passes FMC_18 GREEN — enqueue_push_intel still writes payload for observability
Semantic Changes
5 symbols
0 comments
muse hub commit comment sha256:b63ee1a008d0af07b85f11351d22454611cb122a31530a6a9b06280cb609c1e0 --body "your comment"
No comments yet. Be the first to start the discussion.