Seat users pulled by kind may read their own seat's dead letters (issue 734) #472

Merged
mesh-tools merged 2 commits from fix/734-lost-ask into main 2026-10-26 13:40:44 +00:00
Member

Issue 734. Group fix/734-lost-ask with mesh-sdk and mesh-delivery. The operator allowed this controller grant (2026-10-26 14:10, "yes, fix it").

internal/broker/seattraffic.go: the same DeadLetterReads as mesh-sdk's buscompose (byte-identical but for the package line): a seat user pulled by kind may read DEAD_LETTERS filtered to its own seat streams (STREAM.INFO, filtered CREATE, MSG.NEXT .*, DELETE .*). The controller composes the bus user list until the grants part's take-over, so the checker and the builder get the read only through this change; mesh-grants composes the same from mesh-sdk, so the shadow compare stays equal.

Research 072 (the controller, NATS-native): this moves no piece of its map; it keeps the controller's composer in step with mesh-sdk's until the grants part takes the user list over (ADR 0547).

Tests: the existing seattraffic test asserts the grant and refuses $JS.FC. internal suite passed. No try (a grant row only; the group's merge check is the gate).

Reviewed-by: review-734@shanks at ccc7ba334c

Issue 734. Group fix/734-lost-ask with mesh-sdk and mesh-delivery. The operator allowed this controller grant (2026-10-26 14:10, "yes, fix it"). `internal/broker/seattraffic.go`: the same `DeadLetterReads` as mesh-sdk's buscompose (byte-identical but for the package line): a seat user pulled by kind may read DEAD_LETTERS filtered to its own seat streams (STREAM.INFO, filtered CREATE, MSG.NEXT `.*`, DELETE `.*`). The controller composes the bus user list until the grants part's take-over, so the checker and the builder get the read only through this change; mesh-grants composes the same from mesh-sdk, so the shadow compare stays equal. Research 072 (the controller, NATS-native): this moves no piece of its map; it keeps the controller's composer in step with mesh-sdk's until the grants part takes the user list over (ADR 0547). Tests: the existing seattraffic test asserts the grant and refuses $JS.FC. internal suite passed. No try (a grant row only; the group's merge check is the gate). Reviewed-by: review-734@shanks at ccc7ba334c82554d809b5b38d8eb0eb5f36be7be
mesh-tools added 2 commits 2026-10-26 13:29:12 +00:00
The checker hears from DEAD_LETTERS which of its asks a build seat gave up on, and ends the try or asks the check again;
the controller composes today's user list, so its copy of the composer carries the grant too. NATS-native research piece:
none moved; the composition itself moves to mesh-grants (ADR 0547), and this keeps the copy in step with mesh-sdk.
broker: DeadLetterReads grants only what a pulled ordered consumer needs, as mesh-sdk buscompose (issue 734, review round 1)
mesh/delivery merged: source.main moved to novox/mesh-controller@e1a55f099b4e
mesh/delivery-group group fix/734-lost-ask merged: every member is merged
mesh/check checking ccc7ba334c82 on 08a261ac1a6d | novox/mesh-controller#472 in group fix/734-lost-ask
ccc7ba334c
NATS-native research piece: none moved; the copy stays in step with mesh-sdk until mesh-grants composes the list.
Author
Member

Delivery novox/mesh-controller@ccc7ba334c82 — merged since 2026-10-26T13:40:46Z

Source — source.main moved to novox/mesh-controller@e1a55f099b. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/734-lost-ask: novox/mesh-controller@ccc7ba334c, novox/mesh-delivery@bf57417215, novox/mesh-sdk@3203358c4c

Transitions

  • 2026-10-26 13:29 (new) → proposed (announced): novox/mesh-controller#472's head announced
  • 2026-10-26 13:29 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-10-26 13:40 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@ccc7ba334c82` — **merged** since 2026-10-26T13:40:46Z **Source** — source.main moved to novox/mesh-controller@e1a55f099b4e. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/734-lost-ask`: novox/mesh-controller@ccc7ba334c82, novox/mesh-delivery@bf574172154a, novox/mesh-sdk@3203358c4cb5 **Transitions** - 2026-10-26 13:29 (new) → proposed (announced): novox/mesh-controller#472's head announced - 2026-10-26 13:29 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-10-26 13:40 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit e1a55f099b into main 2026-10-26 13:40:44 +00:00
mesh-tools deleted branch fix/734-lost-ask 2026-10-26 13:40:44 +00:00
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head bf574172154a is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head bf574172154a is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#472