Issue 186 located: the delivery dropped the asks, not the queue; a merge now rebuilds dependents; the release decision stands #255

Merged
mesh-admin merged 1 commits from issue/186-located into main 2026-10-01 14:19:45 +00:00
@@ -1,7 +1,7 @@
---
status: open
status: located
opened: 2026-10-01
located-in: []
located-in: [mesh-controller internal/broker/derived.go (the holder worker consumer let many asks stand in flight), mesh-controller internal/link/builds_nats.go (a running build said nothing to the bus), mesh-controller cmd/mesh-controller/upgrades.go (a merge rebuilt its own modules and not what stood on them)]
fixed-by:
amended-design: []
---
@@ -46,6 +46,22 @@ its use is a discipline a person keeps, and a person kept it by hand eleven time
- What the smallest honest surface is in the meantime: at least `builds` listing the asked and the
running beside the built, so a person polling logs becomes a person reading one table.
## Located, 2026-10-01 evening
Two of the three faults turned out to be mechanism, and are fixed; the third stands as the decision
this report asks for.
- **The queue was durable; the delivery was not.** A build ask is a message in the seat's work-queue
stream and survives a builder restart. What lost forty-three asks twice was the worker consumer:
with the server's default of many deliveries in flight, every ask behind the one being built was
handed over at once, left unacknowledged for the length of the build, redelivered after the ack
wait, and dropped after the fifth time. The builder's log shows the survivors in redelivery order.
Fixed by mesh-controller PR 194: one in flight, and a running build says it is still working.
- **A merge rebuilt what it changed and not what stood on it.** The relation existed in the store
and only the explicit `build --on` read it. Fixed by mesh-controller PR 193: a merge takes every
module standing on what moved, in base order.
- **A release across repositories is still an order in a person's head.** That is the decision.
*How this would be checked:* a builder restarted between an ask and its build still builds it; a
merge of a dependent repository before its prerequisite is held and named; `builds` lists asked,
running and built.