Issue 1773 (met three times; the third failed the upgrade-safety delivery at jira on shanks, 20:49). Acceptance 1773/AC1-AC3 in note 3.
internal/builder/clone_lookup.go: cloneFromForge serves the build agent's three forge clones (a module's own in Build, an artifact's context in contextFrom, a check's repositories in Check). A failed name lookup ('could not resolve host', 'temporary failure in name resolution', 'lookup' with 'i/o timeout') is tried again, pausing 1 s doubling to 10 s within 60 s, each retry written in the build's log as the resolver not answering; past the bound the build fails saying so. Any other git failure fails at once, as before. The check path redacts the URL.
cmd/mesh-controller/replay867_test.go: TestReplay867 stubs builder.FreeBytes (issue 1834 note 12): it read the build node's real free space and failed every mesh-controller check while that node was under the 20 GiB floor.
Tests failed first: AC1, AC2 and the check path's. Try build-1792696668202147029 PASS (2750 integration tests). Not covered: issue 1748 (the registry's lookup, a different helper; note 5 there).
What the operator sees: a build no longer fails for a resolver pause of under a minute; build-agent is delivered to ace, g14, novox and shanks.
Issue 1773 (met three times; the third failed the upgrade-safety delivery at jira on shanks, 20:49). Acceptance 1773/AC1-AC3 in note 3.
- internal/builder/clone_lookup.go: cloneFromForge serves the build agent's three forge clones (a module's own in Build, an artifact's context in contextFrom, a check's repositories in Check). A failed name lookup ('could not resolve host', 'temporary failure in name resolution', 'lookup' with 'i/o timeout') is tried again, pausing 1 s doubling to 10 s within 60 s, each retry written in the build's log as the resolver not answering; past the bound the build fails saying so. Any other git failure fails at once, as before. The check path redacts the URL.
- cmd/mesh-controller/replay867_test.go: TestReplay867 stubs builder.FreeBytes (issue 1834 note 12): it read the build node's real free space and failed every mesh-controller check while that node was under the 20 GiB floor.
Tests failed first: AC1, AC2 and the check path's. Try build-1792696668202147029 PASS (2750 integration tests). Not covered: issue 1748 (the registry's lookup, a different helper; note 5 there).
What the operator sees: a build no longer fails for a resolver pause of under a minute; build-agent is delivered to ace, g14, novox and shanks.
Reviewed-by: review-1773@shanks at fd4d26b42cd7321e949b98e9b7c8579dd284de5b
A build or check failed now and then on 'Could not resolve host:
novox.internal' between clones that resolved the same name, and its
whole delivery failed with it. A clone whose lookup failed reached
nothing, so it is cloned again with a growing pause for up to 60 s,
each retry said in the build's log as the resolver not answering;
past the bound it fails saying so. Any other git failure fails at
once, as before. Covers a module's own clone, an artifact's context
and a check's repositories.
mesh/merge-gate head fd4d26b42cd7 merged into trunk 96441ea28a84 — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
The check's floor of free space reads the disk the test runs on, so
every mesh-controller check failed while its build node had under
20 GiB free, whatever the change (seen in the try of issue 1773's fix).
The replay stubs the free space, as internal/builder's tests do.
Deliverynovox/mesh-controller@fd4d26b42cd7 — delivered since 2026-10-22T19:51:27Z
Delivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
tier 0: mesh-controller
tier 1: build-agent
ace: receives build-agent
g14: receives build-agent
novox: receives mesh-controller, build-agent
shanks: receives build-agent
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
Machines
mesh-controller on every machine running it: sent
build-agent on every machine running it: sent
Transitions
2026-10-22 19:27 (new) → proposed (announced): novox/mesh-controller#440's head announced
2026-10-22 19:41 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-22 19:41 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-22 19:44 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-22 19:44 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
2026-10-22 19:51 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@fd4d26b42cd7` — **delivered** since 2026-10-22T19:51:27Z
**Delivery plan** — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- ace: receives build-agent
- g14: receives build-agent
- novox: receives mesh-controller, build-agent
- shanks: receives build-agent
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
**Machines**
- mesh-controller on every machine running it: sent
- build-agent on every machine running it: sent
**Transitions**
- 2026-10-22 19:27 (new) → proposed (announced): novox/mesh-controller#440's head announced
- 2026-10-22 19:41 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-22 19:41 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-22 19:44 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-22 19:44 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
- 2026-10-22 19:51 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Merge check at fd4d26b4
Judged: head fd4d26b42cd7 merged into trunk 96441ea28a84; read beside it: mesh-catalog 2f05e70734cd, mesh-controller-main 96441ea28a84, mesh-host 4065b45ae84f, mesh-tools e0fadc43d9dd
mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller)
mesh/repo-check: PASS — its merge-check.sh passed
Delivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
tier 0: mesh-controller
tier 1: build-agent
ace: receives build-agent
g14: receives build-agent
novox: receives mesh-controller, build-agent
shanks: receives build-agent
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
read by no module's build: cmd/mesh-controller/replay867_test.go, internal/builder/clone_lookup_test.go
Run by the build seat on ace as build-1792697272101728902 (builds --log build-1792697272101728902).
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 1773 (met three times; the third failed the upgrade-safety delivery at jira on shanks, 20:49). Acceptance 1773/AC1-AC3 in note 3.
Tests failed first: AC1, AC2 and the check path's. Try build-1792696668202147029 PASS (2750 integration tests). Not covered: issue 1748 (the registry's lookup, a different helper; note 5 there).
What the operator sees: a build no longer fails for a resolver pause of under a minute; build-agent is delivered to ace, g14, novox and shanks.
Reviewed-by: review-1773@shanks at
fd4d26b42cDelivery
novox/mesh-controller@fd4d26b42cd7— delivered since 2026-10-22T19:51:27ZDelivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
fd4d26b4Judged: head
fd4d26b42cd7merged into trunk96441ea28a84; read beside it: mesh-catalog2f05e70734cd, mesh-controller-main96441ea28a84, mesh-host4065b45ae84f, mesh-toolse0fadc43d9ddmesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
Run by the build seat on ace as
build-1792697272101728902(builds --log build-1792697272101728902).