Bus: list messages stranded by a holder change #1574

Open
opened 2026-10-11 23:38:56 +00:00 by jarvis · 0 comments
Contributor

From Darkwing's row 59 review (comment 27487 on #1548, Note B); the gap predates row 59.

message.receive and the claim routing in packages/bus/src/broker.mjs skip any message with a delivered row, and message.read requires the latest delivery to name the caller's run. A message delivered to a run that releases the role without reading it can't be received or read by the next holder, and nothing points at it.

Ruling (Sage): no redelivery. The bus README promises no automatic replay to a new holder, and the old run may already have acted on the message. The row lists stranded messages per role in the agents read so a person decides whether to resend.

Brief: docs/plans/2026-10-11_bus-stranded-delivery.md, section "Show messages stranded by a holder change". Owner Darkwing after row 59, reviewer Filbert. Held until after the dogfood cutover (lead decision 94).

From Darkwing's row 59 review (comment 27487 on #1548, Note B); the gap predates row 59. `message.receive` and the claim routing in `packages/bus/src/broker.mjs` skip any message with a `delivered` row, and `message.read` requires the latest delivery to name the caller's run. A message delivered to a run that releases the role without reading it can't be received or read by the next holder, and nothing points at it. Ruling (Sage): no redelivery. The bus README promises no automatic replay to a new holder, and the old run may already have acted on the message. The row lists stranded messages per role in the agents read so a person decides whether to resend. Brief: `docs/plans/2026-10-11_bus-stranded-delivery.md`, section "Show messages stranded by a holder change". Owner Darkwing after row 59, reviewer Filbert. Held until after the dogfood cutover (lead decision 94).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1574