Judge each machine's report from its own send, so a first machine opens the gate (hq issue 256) #55

Merged
mesh-admin merged 1 commits from fix/the-gate-reads-each-machine-from-its-own-send into main 2026-10-05 16:31:55 +00:00
Contributor

Found live on #54's own rollout: the build agent went to ace first (18:22:31, applied 18:22:43), then to g14 and shanks (18:22:58, applied 18:23:13). The plan then waited for ever on "build-agent on ace to be applied": the tier gate asked every machine for a report after SentAt, which the second send had moved past ace's report.

  • The gate judges each machine from its own send: the first machines from FirstAt, the rest from SentAt (appliedEach).
  • A plan's wait is rounded to the second, not the minute (it read 0s).

Test: the first machine's report between the two sends opens the gate; the single-moment reading would not; a report from before a machine's send does not. Full suite with fresh postgres + NATS: no failures. Merging it supersedes the stuck plan (ADR 0218 §3), which is the live test of that too.

Found live on #54's own rollout: the build agent went to ace first (18:22:31, applied 18:22:43), then to g14 and shanks (18:22:58, applied 18:23:13). The plan then waited for ever on "build-agent on ace to be applied": the tier gate asked every machine for a report after `SentAt`, which the second send had moved past ace's report. - The gate judges each machine from its own send: the first machines from `FirstAt`, the rest from `SentAt` (`appliedEach`). - A plan's wait is rounded to the second, not the minute (it read `0s`). Test: the first machine's report between the two sends opens the gate; the single-moment reading would not; a report from before a machine's send does not. Full suite with fresh postgres + NATS: no failures. Merging it supersedes the stuck plan (ADR 0218 §3), which is the live test of that too.
mesh-admin added 1 commit 2026-10-05 16:31:51 +00:00
With one machine first a module is sent twice, and the tier gate asked every
machine for a report after the second send: the first machine's report, made
between the two, read as stale and the plan waited for ever (hq issue 256).
Also round a plan's wait to the second, not the minute, so it is not 0s.
mesh-admin merged commit 6abce7e956 into main 2026-10-05 16:31:55 +00:00
mesh-admin deleted branch fix/the-gate-reads-each-machine-from-its-own-send 2026-10-05 16:31:55 +00:00
Author
Contributor

Delivery novox/mesh-controller@6abce7e95684 — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-controller#55 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@6abce7e95684` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-controller#55 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
This repo is archived. You cannot comment on pull requests.
No Reviewers
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#55