mesh-build-go reads a compose ask's gzip-packed request (issue 1966, recovery; group with mesh-delivery) #640

Merged
mesh-tools merged 1 commits from fix/1966-checker-compositions-objects into main 2026-11-09 16:31:23 +00:00
Member

Issue 1966 note 130. One delivery group with mesh-delivery's branch of the same name.

Every check that composes ace or novox fails today in the checker: the composition request is kept as one value of the checker's compositions state (cap 262144 bytes; ace 300127, novox 386277), and novox's compose ask is 1,228,218 bytes raw against the bus's max_payload of 1,048,576 (mesh-host #219's check, 12:13:53 UTC). The checker now keeps the request in pieces and packs it in the ask as gzip+base64:; mesh-build-go, the only module serving compose, decodes both forms with RequestBytes.

  • Quick fix, chosen as the recovery: pack the request in the ask and keep it in pieces.
  • Thorough fix, in milestone G of design 47 (prepare finding F18): name the request by digest and serve it on a build-seat verb, as RunInput does for the run step.

Delivery: an old holder of node-build-go refuses a packed ask loudly ("holds no request object") until it runs this build; the checker is built by mesh-build-go after it (module graph edge). Every check composing ace or novox fails today anyway.

This group's own check will fail on ace and novox with the same words, because the running checker keeps each request before it asks; a check run by the parts built from the change's own heads (ADR 0656 §5) is not built yet. Its merge needs the operator's Approve of that red check.

Tests: compose_test.go's kept-composer test sends the request packed; fails against the old compose.go. vet, vet -tags integration and tests pass in mesh-build-go.

A recovery fix (recovery-fixes-merge-and-tell): small, undone by one revert. The delivery seat serves no recovery merge, so it takes the operator's Approve.

Reviewed-by: mesh-code-reviewer for lead-47@shanks at 4e2a1a5a1f

https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5

Issue 1966 note 130. One delivery group with mesh-delivery's branch of the same name. Every check that composes ace or novox fails today in the checker: the composition request is kept as one value of the checker's `compositions` state (cap 262144 bytes; ace 300127, novox 386277), and novox's compose ask is 1,228,218 bytes raw against the bus's max_payload of 1,048,576 (mesh-host #219's check, 12:13:53 UTC). The checker now keeps the request in pieces and packs it in the ask as `gzip+base64:`; mesh-build-go, the only module serving compose, decodes both forms with `RequestBytes`. - Quick fix, chosen as the recovery: pack the request in the ask and keep it in pieces. - Thorough fix, in milestone G of design 47 (prepare finding F18): name the request by digest and serve it on a build-seat verb, as RunInput does for the run step. Delivery: an old holder of node-build-go refuses a packed ask loudly ("holds no request object") until it runs this build; the checker is built by mesh-build-go after it (module graph edge). Every check composing ace or novox fails today anyway. This group's own check will fail on ace and novox with the same words, because the running checker keeps each request before it asks; a check run by the parts built from the change's own heads (ADR 0656 §5) is not built yet. Its merge needs the operator's Approve of that red check. Tests: compose_test.go's kept-composer test sends the request packed; fails against the old compose.go. vet, vet -tags integration and tests pass in mesh-build-go. A recovery fix (recovery-fixes-merge-and-tell): small, undone by one revert. The delivery seat serves no recovery merge, so it takes the operator's Approve. Reviewed-by: mesh-code-reviewer for lead-47@shanks at 4e2a1a5a1f5882aedbffc1daa36ba7605ccaebb2 https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools added 1 commit 2026-11-09 13:00:27 +00:00
mesh-build-go reads a compose ask's gzip-packed request (issue 1966)
mesh/check checking 4e2a1a5a1f58 on 503411e6289b | novox/mesh-catalog#640 in group fix/1966-checker-compositions-objects
mesh/delivery merged: source.main moved to novox/mesh-catalog@503411e6289b
mesh/delivery-group group fix/1966-checker-compositions-objects merged: every member is merged
4e2a1a5a1f
The checker sends a large node's request packed, as it passes the bus's message limit; compose reads either form through
ComposeJob.RequestBytes. Only mesh-build-go serves compose. Delivered as a group with the mesh-delivery change of the same
branch name: an older mesh-build-go refuses a packed ask naming that it holds no request object.

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

Delivery novox/mesh-catalog@4e2a1a5a1f58 — merged since 2026-11-09T16:31:24Z

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

Group fix/1966-checker-compositions-objects: novox/mesh-catalog@4e2a1a5a1f, novox/mesh-delivery@bf7540cd9e

  • composed together: fail — the checker's verdict at the members' heads (ebc9c24a98e4): mesh-delivery-checker

Transitions

  • 2026-11-09 13:00 (new) → proposed (announced): novox/mesh-catalog#640's head announced
  • 2026-11-09 13:00 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-09 16:31 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@4e2a1a5a1f58` — **merged** since 2026-11-09T16:31:24Z **Source** — source.main moved to novox/mesh-catalog@503411e6289b. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1966-checker-compositions-objects`: novox/mesh-catalog@4e2a1a5a1f58, novox/mesh-delivery@bf7540cd9ec2 - composed together: fail — the checker's verdict at the members' heads (ebc9c24a98e4): mesh-delivery-checker **Transitions** - 2026-11-09 13:00 (new) → proposed (announced): novox/mesh-catalog#640's head announced - 2026-11-09 13:00 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-09 16:31 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.
Author
Member

mesh-delivery: not merged. The merge of this pull request into main at 4e2a1a5a1f was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.

mesh-delivery: **not merged.** The merge of this pull request into main at 4e2a1a5a1f5882aedbffc1daa36ba7605ccaebb2 was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.
mesh-tools merged commit 503411e628 into main 2026-11-09 16:31:23 +00:00
mesh-tools deleted branch fix/1966-checker-compositions-objects 2026-11-09 16:31:23 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#640