Gate reads the forge bridge's own messages and passes a group's end by; operator-channel.asks narrows its answer (issues 1585, 595; ADR 0633) #615

Merged
mesh-tools merged 5 commits from feat/take-in into main 2026-11-05 00:33:42 +00:00
Member

Delivery group feat/take-in with mesh-delivery #153. Issue 1585, ADR 0633 (accepted); issue 595 folded in, so it needs no check of its own.

  • The gate (mesh-delivery-gate) reads the merged message from the forge bridge's own package forgemsg (pinned at mesh-delivery c78941e8, the head of #153) instead of mesh-sdk, and passes the event forge.group.merged by, comparing the whole event, never counting it a refusal.
  • mesh-conditions knows the condition kind take-in-waits (no keeper row needed).
  • messenger: operator-channel.asks takes optional key, state, since and a byte bound, and says when its answer is cut; with no argument it answers as today (issue 595: reading one ask meant reading 1508).

mesh-sdk: pinned at its main, unchanged. Local checks: GOWORK=off gofmt, vet, vet -tags integration and go test in the gate, mesh-conditions and messenger; all 29 checks/* pass; the group's manifest validator accepts all 171 manifests.

Push order: mesh-delivery #153 first, then this one.

Reviewed-by: mesh-code-reviewer@shanks at 5ceb6e9e38

https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn

Delivery group `feat/take-in` with mesh-delivery #153. Issue 1585, ADR 0633 (accepted); issue 595 folded in, so it needs no check of its own. - The gate (mesh-delivery-gate) reads the merged message from the forge bridge's own package `forgemsg` (pinned at mesh-delivery c78941e8, the head of #153) instead of mesh-sdk, and passes the event `forge.group.merged` by, comparing the whole event, never counting it a refusal. - mesh-conditions knows the condition kind `take-in-waits` (no keeper row needed). - messenger: `operator-channel.asks` takes optional `key`, `state`, `since` and a byte `bound`, and says when its answer is cut; with no argument it answers as today (issue 595: reading one ask meant reading 1508). mesh-sdk: pinned at its main, unchanged. Local checks: GOWORK=off gofmt, vet, vet -tags integration and go test in the gate, mesh-conditions and messenger; all 29 checks/* pass; the group's manifest validator accepts all 171 manifests. Push order: mesh-delivery #153 first, then this one. Reviewed-by: mesh-code-reviewer@shanks at 5ceb6e9e38a4538e1cf10deae0548ef7e75a98e5 https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
mesh-tools added 4 commits 2026-11-04 23:34:21 +00:00
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Forge, its kinds and the group's end moved out of mesh-sdk into the forge bridge's own package (mesh-delivery
modules/mesh-delivery-forge-bridge/forgemsg, the operator, 2026-11-04: logic one module owns lives with it). The gate
imports it at the mesh-delivery head 4e4601a1 that holds the move, and the suffix it passes by before decoding is the
package's own ForgeGroupEndEvent, not a constant of its own. mesh-sdk is pinned at 5a38a12, origin/main.

Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Gate and keeper, review round 1: a group's end is told by its whole event, the gate pinned at mesh-delivery 7b7096f3, the keeper's row dropped (issue 1585, ADR 0633)
mesh/delivery-group group feat/take-in rejected: composed together: the checker's verdict at the members' heads (38623984d6ad): mesh-build-go
mesh/delivery closed: a newer head of the same pull request
mesh/check failed (2): mesh-build-go: the indexer's judge at the group's mesh-delivery head 7b7096f37ea76e1…; and 1 more | d023a25849f3 on fd4931a75261
d023a25849
The gate passes by a group's end only when the event is the forge bridge's forge.group.merged whole, so the merged message
of a repository named forge/group is read as one; row in the holder test. The keeper's take-in-waits row (T26) is dropped:
it showed nothing the keeper does not already hold. The gate pins forgemsg at mesh-delivery 7b7096f3.

Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Author
Member

Delivery novox/mesh-catalog@5ceb6e9e38a4 — merged since 2026-11-05T00:33:42Z

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

Group feat/take-in: novox/mesh-catalog@5ceb6e9e38, novox/mesh-delivery@c78941e80b

  • composed together: pass — the checker's verdict at the members' heads (ebd0b6ae80af)

Transitions

  • 2026-11-05 00:03 (new) → proposed (announced): novox/mesh-catalog#615's head announced
  • 2026-11-05 00:03 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-11-05 00:33 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-catalog@5ceb6e9e38a4` — **merged** since 2026-11-05T00:33:42Z **Source** — source.main moved to novox/mesh-catalog@211186edd769. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/take-in`: novox/mesh-catalog@5ceb6e9e38a4, novox/mesh-delivery@c78941e80b59 - composed together: pass — the checker's verdict at the members' heads (ebd0b6ae80af) **Transitions** - 2026-11-05 00:03 (new) → proposed (announced): novox/mesh-catalog#615's head announced - 2026-11-05 00:03 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-11-05 00:33 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`.
jschoubben added 1 commit 2026-11-05 00:03:03 +00:00
Gate: pin forgemsg at mesh-delivery c78941e8, the head whose take-in events need no stream (issue 1585)
mesh/delivery merged: source.main moved to novox/mesh-catalog@211186edd769
mesh/delivery-group group feat/take-in merged: every member is merged
mesh/check being carried to 5ceb6e9e38a4 on 211186edd769 | from fd4931a75261, mesh-delivery ae31b66a9e33 | novox/mesh-catalog#615 in group feat/take-in
5ceb6e9e38
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 7b7096f37ea7 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 7b7096f37ea7 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-tools merged commit 211186edd7 into main 2026-11-05 00:33:42 +00:00
mesh-tools deleted branch feat/take-in 2026-11-05 00:33:42 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#615