A host that delivered its own successor stood aside before the report of that apply was published: applied, and could not tell the mesh: reporting: context canceled, and the controller's release plan waited for a report that never came (seen on the anchor 2026-10-06).
Reports of an apply (and of set-aside declarations) are published on context.WithoutCancel(ctx), still bounded by the timeout, before the link is closed. Nothing further is applied once the context is done.
The last apply's report is kept beside the state (unsaid.json) until the broker takes it, and re-said first thing on the next link, exactly as made (same digest, same outcome). A report naming no declaration clears it; nothing is re-said when nothing was lost.
Run split into Run + serve(link) so this is testable without a broker; HoldRoused/Run take an Unsaid.
Tests: TestAnApplyThatEndsTheLinkIsStillReported, TestAReportLostAfterTheApplyIsSaidOnTheNextLink (both fail without the fix), TestNothingIsSaidAgainWhenNothingWasLost, TestTheKeptReportSurvivesTheHost, TestNothingKeptWhenNothingWasApplied. gofmt, go vet, go test ./... clean.
Rollout: the engine is record policy, so it is rolled out with push --behind. The first delivery of this version still stands aside under the old code, so its own report can be lost one last time.
A host that delivered its own successor stood aside before the report of that apply was published: `applied, and could not tell the mesh: reporting: context canceled`, and the controller's release plan waited for a report that never came (seen on the anchor 2026-10-06).
- Reports of an apply (and of set-aside declarations) are published on `context.WithoutCancel(ctx)`, still bounded by the timeout, before the link is closed. Nothing further is applied once the context is done.
- The last apply's report is kept beside the state (`unsaid.json`) until the broker takes it, and re-said first thing on the next link, exactly as made (same digest, same outcome). A report naming no declaration clears it; nothing is re-said when nothing was lost.
- `Run` split into `Run` + `serve(link)` so this is testable without a broker; `HoldRoused`/`Run` take an `Unsaid`.
Tests: `TestAnApplyThatEndsTheLinkIsStillReported`, `TestAReportLostAfterTheApplyIsSaidOnTheNextLink` (both fail without the fix), `TestNothingIsSaidAgainWhenNothingWasLost`, `TestTheKeptReportSurvivesTheHost`, `TestNothingKeptWhenNothingWasApplied`. gofmt, go vet, go test ./... clean.
Rollout: the engine is `record` policy, so it is rolled out with `push --behind`. The first delivery of this version still stands aside under the old code, so its own report can be lost one last time.
A host that delivered its own successor stood aside before the report of
that apply was published, so it failed with 'context canceled' and the
release plan waited for a report that never came (novox/hq issue 264).
Reports are now published on a context the stand-aside does not cancel,
and the last apply's report is kept until the broker takes it and said
again on the next link, so a crash between apply and report is covered too.
Deliverynovox/mesh-host@64defd47c7d9 — 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 mesh-host → ace, g14, novox, shanks; no bus step
tier 0: mesh-host
ace: receives mesh-host
g14: receives mesh-host
novox: receives mesh-host
shanks: receives mesh-host
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-host#29 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-host@64defd47c7d9` — **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 mesh-host → ace, g14, novox, shanks; no bus step
- tier 0: mesh-host
- ace: receives mesh-host
- g14: receives mesh-host
- novox: receives mesh-host
- shanks: receives mesh-host
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-host#29 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`.
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.
A host that delivered its own successor stood aside before the report of that apply was published:
applied, and could not tell the mesh: reporting: context canceled, and the controller's release plan waited for a report that never came (seen on the anchor 2026-10-06).context.WithoutCancel(ctx), still bounded by the timeout, before the link is closed. Nothing further is applied once the context is done.unsaid.json) until the broker takes it, and re-said first thing on the next link, exactly as made (same digest, same outcome). A report naming no declaration clears it; nothing is re-said when nothing was lost.Runsplit intoRun+serve(link)so this is testable without a broker;HoldRoused/Runtake anUnsaid.Tests:
TestAnApplyThatEndsTheLinkIsStillReported,TestAReportLostAfterTheApplyIsSaidOnTheNextLink(both fail without the fix),TestNothingIsSaidAgainWhenNothingWasLost,TestTheKeptReportSurvivesTheHost,TestNothingKeptWhenNothingWasApplied. gofmt, go vet, go test ./... clean.Rollout: the engine is
recordpolicy, so it is rolled out withpush --behind. The first delivery of this version still stands aside under the old code, so its own report can be lost one last time.Delivery
novox/mesh-host@64defd47c7d9— held since 2026-10-06T23:05:28ZHeld for a person: merged without a passing check: only a person decides that it goes on —
mesh-delivery.releasewith why lets it go on.Delivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.