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).
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
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.
Deliverynovox/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.
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`.
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-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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 sameDeadLetterReadsas 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
ccc7ba334cDelivery
novox/mesh-controller@ccc7ba334c82— merged since 2026-10-26T13:40:46ZSource — source.main moved to novox/mesh-controller@e1a55f099b. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/734-lost-ask: novox/mesh-controller@ccc7ba334c, novox/mesh-delivery@bf57417215, novox/mesh-sdk@3203358c4cTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.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: 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.