Take the composition, catalogue and validator from mesh-sdk and delete the controller's copies (design 47 R4b, issues 1337, 1381-1391) #405

Merged
mesh-tools merged 45 commits from feat/r4b-sdk-users into main 2026-10-20 12:03:23 +00:00
Member

Design 47 release R4b, the controller's part (ADR 0453 §1-§3, ADR 0455, ADR 0456, ADR 0446 §2/§4/§5/§8). The controller takes the catalogue, the overlay generator, the node-engine's validator and the composition from mesh-sdk (pinned at mesh-sdk main ab0c16dd) and deletes its own copies. Nothing the operator sees changes: the same declarations are sent.

What it does:

  • 1337: the unit level's link test waits on a signal (unit level 2.3-2.9 s, bound 5 s).
  • 1381: internal/catalogue and internal/overlay come from mesh-sdk; the own-manifest tests stay and read catalogue manifests from the catalogue's root (predefined keys, issue 914).
  • 1382, 1383: an adapter builds compose.Input from the stores (nodes, network, credentials, builds).
  • 1384: the equality test compared both compositions on the live facts. It passed at fb556d6b on all four machines, and fails unless every machine is sent both ways (try build-1792493691274712799, noted on issue 1298).
  • 1385, 1386: a send makes the own secrets and pair credentials the composition names (prepareSend, re-making a secret sealed to a key the machine no longer has), asks the vault once per send, and seals what the controller seals itself (ADR 0396).
  • 1387, 1388: the planFor callers, the questions, the rest of the mesh and the private network are on compose.Resolve. A question makes nothing; only a send does.
  • 1389: the controller's own composition is deleted (2111b78f, whose parent is the proven commit fb556d6b): 40 functions, -1,822 lines of non-test code. Dropped tests have their counterparts in mesh-sdk go/compose.
  • 1390: the facts are read through mesh-sdk go/facts; the writer moves in R4c (issue 1394, ADR 0456).
  • 1391: the merge gate's judge no longer copies mesh-host's validator, and each check names mesh-sdk's validator at its pin.

Checks before this pull request: the full try at 8a330afd (build-1792496619875573526) passed: 1439 unit tests in 2.40 s, 2597 integration tests, gate PASS. The test of the re-made secret failed on a commit without its fix (46238fa1).
Opened along the way: 1397, 1398 (review), 1399 (a flaky delivery test that passed at 11e005fe, f87590b0 and 8a330afd).

Delivered alone, before mesh-host's R4b (issue 1392), which waits for this delivery to reach the build node.

Reviewed-by: reviewer-r4b@shanks at 8a330afd44

Issues: 1337, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391

Design 47 release R4b, the controller's part (ADR 0453 §1-§3, ADR 0455, ADR 0456, ADR 0446 §2/§4/§5/§8). The controller takes the catalogue, the overlay generator, the node-engine's validator and the composition from mesh-sdk (pinned at mesh-sdk main ab0c16dd) and deletes its own copies. Nothing the operator sees changes: the same declarations are sent. What it does: - 1337: the unit level's link test waits on a signal (unit level 2.3-2.9 s, bound 5 s). - 1381: internal/catalogue and internal/overlay come from mesh-sdk; the own-manifest tests stay and read catalogue manifests from the catalogue's root (predefined keys, issue 914). - 1382, 1383: an adapter builds compose.Input from the stores (nodes, network, credentials, builds). - 1384: the equality test compared both compositions on the live facts. It passed at fb556d6b on all four machines, and fails unless every machine is sent both ways (try build-1792493691274712799, noted on issue 1298). - 1385, 1386: a send makes the own secrets and pair credentials the composition names (prepareSend, re-making a secret sealed to a key the machine no longer has), asks the vault once per send, and seals what the controller seals itself (ADR 0396). - 1387, 1388: the planFor callers, the questions, the rest of the mesh and the private network are on compose.Resolve. A question makes nothing; only a send does. - 1389: the controller's own composition is deleted (2111b78f, whose parent is the proven commit fb556d6b): 40 functions, -1,822 lines of non-test code. Dropped tests have their counterparts in mesh-sdk go/compose. - 1390: the facts are read through mesh-sdk go/facts; the writer moves in R4c (issue 1394, ADR 0456). - 1391: the merge gate's judge no longer copies mesh-host's validator, and each check names mesh-sdk's validator at its pin. Checks before this pull request: the full try at 8a330afd (build-1792496619875573526) passed: 1439 unit tests in 2.40 s, 2597 integration tests, gate PASS. The test of the re-made secret failed on a commit without its fix (46238fa1). Opened along the way: 1397, 1398 (review), 1399 (a flaky delivery test that passed at 11e005fe, f87590b0 and 8a330afd). Delivered alone, before mesh-host's R4b (issue 1392), which waits for this delivery to reach the build node. Reviewed-by: reviewer-r4b@shanks at 8a330afd44ba852873339cf1210e90989dca46e1 Issues: 1337, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391
mesh-tools added 45 commits 2026-10-20 11:50:34 +00:00
The unit level ran at 4.4 s of its 5 s bound; this one test took 4.00 s of internal/link's 4.37 s by waiting a fixed 2 s for two things that must not happen. It now waits on the fake watch having handled the entry (two filler entries pass the one-slot channel only after the real one was handled) and on the watches having stopped after a move. Broken in turn (a verdict alone moving the check, a move told twice) it fails.

Unit level at this commit: 2454 tests (6 skipped), 2.84 s (bound 5 s); internal/link 0.36 s. Five slowest tests: TestNoPlanIsWrittenButThroughSavePlansMoving 0.64 s, TestAResolverThatAnswersNothingIsHeldAndSaidInMachineNames 0.48 s, TestNoCodeNamesATableOfTheChain 0.31 s, TestEveryUplinkListsBothResolversItsOwnFirst 0.29 s, TestEveryWordingIsPlain 0.28 s. No test moved to the integration level.
The files go/mod vendor writes for the pin that follows in the next commit, copied on the forge from mesh-sdk at 14fd5cb68fd1 (each equals the blob there; the vendored tree excludes tests). Split from the pin because one commit cannot carry both a patch and copies.
Swaps three import paths for mesh-sdk's go/catalogue, go/overlay and go/validate (the same packages, copied from this repository at 6c2a8d62) and lets gofmt order the groups. The six swap commits compile together once the pin commit (go.mod, modules.txt) is on the branch; each alone does not, because a file on the SDK's types cannot call one still on the old package.
go.mod and go.sum move to mesh-sdk 14fd5cb68fd1, the commit on its main that holds go/catalogue, go/overlay and go/validate (ADR 0453 clause 2); vendor/modules.txt follows in the last of the six commits.
The three tests of the controller's own module.json (process, claimed seat, addresses), the Dockerfile and Makefile pin test, the build-agent registry test and the manifest-in-use seat test move with their old package, as tests of mesh-sdk's exported API; a moved test is exempt from failing first.
With this commit no Go file outside vendor/ and the two packages about to go imports internal/catalogue, internal/overlay or mesh-host/validate, go.mod and vendor/modules.txt agree on mesh-sdk 14fd5cb68fd1, and the tree builds. testdata/beside/CAPTURED names the pinned SDK commit (conformance/events is unchanged since aa68b673). merge-check.sh's comment no longer names internal/catalogue as a slow package.
No Go file imports it any more; go/overlay in mesh-sdk 14fd5cb68fd1 is a copy of it with only import paths and a doc.go changed (R4a's review diffed it).
The tests that read this repository's own files (controller_is_a_process, genesis_image, genesis_registry and foundation_manifests' registry test) live on in internal/ownmanifest; engine_guard_test and the rest are in mesh-sdk (issue 1379).
Nothing in this repository imports it any more; go/catalogue in mesh-sdk 14fd5cb68fd1 is a copy of it (R4a's review diffed it against 6c2a8d62). The tests that read this repository's own files live on in internal/ownmanifest.
go mod vendor writes go/compose (copied on the forge from mesh-sdk 14fd5cb68fd1, equal to its blobs) now that the adapter imports it, and no longer writes github.com/novox/mesh-host/validate and internal/declaration, which nothing imports since the validator comes from mesh-sdk (issue 1381; the swap commits left those five files behind). vendor/modules.txt follows with the adapter.
readComposeInput asks the stores for the Input's mesh-wide and per-node fields (the shelf, each node's place, assignments, capabilities, accounts, pins, bindings, settings, ports, sealing key, taken modules, links, networks, order and builds, the recorded modules it keeps at the build it runs, its node-engine's contract) and writes nothing. A node's kept manifests are its own: the Input's Catalogue stays the current shelf (R4a review round 1, finding 1). Settings are read for the modules each node resolves to, as planFor read them. keepRecorded is split so the adapter reads the kept manifests with its refusals in the same words (applyKept). The credential and build half is issue 1383; vendor/modules.txt now lists go/compose and no longer the mesh-host validator.
How each pair credential a node takes stands (held with its sealed consumer copy, the next send makes it, only a person's to give and nobody gave, or refused in the controller's words), the credentials made for each provider's consumers, the own secrets with their origin and key and value, the vault's kept boxes, the bus's users, minted users and memberships, the mesh's authority and each machine's serving key and kept certificate, the repositories built, the current builds and the build of each commit a machine that reads them is sent. A credential no row holds is not made (planFor made it in every mode): the adapter returns it as would-make for perform (issue 1385). New reads in the inventory (OwnSecretRows, PairCredentialState, BusMinted) and the identity (KnownAuthority, KeptCertificate) write nothing.
A composition over the Input makes nothing; a send performs what it named (the pair credentials no row holds, the seats to pass, the ports and own secrets, the core credentials asked of the vault every send, the certificate), reads the stores again and composes again, and refuses a declaration that still stands in for a value anywhere in its body. A question (composeQuestion) never performs. The operation's Input is read once and kept in its context until a send changes what it read, per what the context keeps (recorded builds, the grants step, a settings walk). A core credential the vault did not answer for and no box is kept for refuses the send, where the controller sealed it itself (ADR 0396): the composition has no such fallback (reported). Callers switch in the next commits.
TestEveryMachineComposesAlikeBothWays reads the facts snapshot MESH_FACTS names (the live one in every check and try), else testdata/facts-equal.json, else the snapshot of a mesh of its own; raises it into throwaway stores as the merge gate does; and compares, machine by machine: (a) Foreseeing on the fresh store (error or none, the validator's problems, LeftOut and its reasons, Withheld, Unbound, Unplaced, HandedOnly, the own secrets named foreseen, and the ports mesh-sdk names foreseen against the ones the controller's send allocates); (b) the send, on two stores, the controller's Allocating composition and the adapter's compose, perform and compose again (ports, pair credentials and own secrets made, by key); (c) after the send, Reading both ways on one store, byte for byte. A difference names the machine, the comparison and the first resource and field. The comparison itself is tested without a store, and failed first when the body was not read. The test is deleted with the controller's composition (issue 1389).
Every send composes through composeSend (compose over the Input, perform what it named foreseen, read the stores again, compose again, refuse a declaration that still stands in for a value): push.go's two composing sites, composeForPush, declarationFor (the plan verb, which allocates on purpose for one named machine) and the merge gate's two passes and its trial assignment (composeSendValidated, which answers the node-engine's validator beside it). Each machine of a send reads the mesh afresh (freshInput), because the send before it made and recorded things. None calls declarationWith with Allocating any more. The private network is still computed up front, so a send refuses on it before anything is composed. Also here, as they share the helpers: whoResolvesOn, restOfTheMesh and restOfTheMeshOf in compose_sdk.go, and the planFor callers in held_back.go, plan.go and push.go.
The callers that only ask (status, the doctor's probes, facts, bindings, data, acts, nodes show, images, release, recorded push, consumers) resolve through resolveNode and compose through composeQuestion, over one Input read per operation (withInputCache). A question composes with Reading or Foreseeing and never calls PairCredential's maker: the credential a send would make is named, and perform makes it on a send.
The seats, holdings, source, build-source, delivery group check, check request, backup plan, adoption (take and converge) and the network graph now read the rest of the mesh through restOfTheMesh and compose.Graph. compose_callers_test.go scans the package and names any function other than the old composition's own that still calls planFor, declarationWith, composedAndValidated, generators, renderingFor, theRestOfTheMesh or whoResolves; issue 1389 deletes those.
The first pass of the adapter resolved every machine with no settings in the Input, so a provider whose served fact says ${setting:domain} could not be settled and the whole Input failed (the equality try on the live facts). The settings of every module that has any are read first; a module's settings that do not read are an error only for a machine that resolves to it. A recorded module that cannot be kept at the build a machine runs refuses that machine alone, as planFor did, and no longer the whole Input. The bus's refusal (no user has a credential) is carried for the machine that runs the bus.
Where the vault did not answer for a core credential and no box is kept, ADR 0396 has the controller seal it itself until the vault holds it: perform names those modules, and the send's declaration carries the controller's own seal in place of the stand-in vault box, as the controller's composition sent it. The machine that runs the bus is refused with busUserList's words where no user has a credential, as before; no other machine is. A machine whose recorded module cannot be kept is refused alone.
pullScope no longer gives a mesh-host change a Judge, and link.JudgeValidator is gone: the validator is mesh-sdk's, at the controller's pin (ADR 0446 clause 5). An older request that says validator is read as the controller the mesh runs.
judgeFor judges a node-engine change by the controller the mesh runs, as any module is, and copies nothing of mesh-host into the judge's vendor tree.
judgeFromTheGroup copies nothing into the judge's vendor tree: a mesh-host member whose tree holds no validate/ does not fail the judge, and the verdict names the validator as mesh-sdk's at the pin of the controller that judges. replaceGoFiles and its test are gone.
The judge fixtures vendor mesh-sdk's validate package, as the controller does; the test of the judge built with a node-engine change's own validator goes with that judge; the replay of issue 867 no longer has the controller change need a validator word of the node-engine's.
The host member without validate/ failed first against the old judge ("holds no Go files", the validator could not be put in the judge); the controller member is judged by itself whatever the node-engine sibling brings; the group's judge is no longer keyed on the node-engine's validator.
go.mod, go.sum, vendor/modules.txt and the capture note name ab0c16ddad26; the vendored files follow in the next commit, and the captured conformance events are the same at the new commit.
The merge gate, the build seat's check and the facts writer import the snapshot's type from mesh-sdk (go/facts), whose reader takes formats 1 and 2 and refuses a newer one. The writer keeps writing format 1 (writtenFormat); moving it to 2 is a release of its own (novox/hq ADR 0456). A test shows the writer writes format 1, carries no grants or bindings, and the reader takes both formats and refuses a newer one.
Its tests moved with it: mesh-sdk's go/facts holds the same ones, plus the grants of format 2.
The live try (build-1792488565282382172) left a stand-in vault box in f35 and yvbpsm: the file was matched by the manifest's path, which the composition fills in for the machine. The seal now matches by the resource's id alone and names any stand-in that is left. The two served-fact tests set the setting before assigning (an assignment resolves the mesh), and the second clears it after.
The live try cut the lists of the ports allocated and the own secrets made at 2.5 KB, so no difference showed. madeDiffer now says, per kind, the entries made only by the controller, only by mesh-sdk, and by both with a different value; the entries of a machine refused on either side are left out of both, since it sends nothing.
The live try took 1074 s for it. It now skips unless the tests pattern (-run) names it, which a try sets and a whole-suite merge check does not; its three independent pieces of work (both ways of Foreseeing on a fresh store, the controller's sends and readings, mesh-sdk's sends) run together; mesh-sdk's Input is read once for a phase of questions; and each phase logs its elapsed time, so the next run says where the time goes. A machine refused on either side is left out of the comparison of the send.
The live try failed in 32 s: throwawayStores finds its databases by the process environment, and a store opened later finds them there too, so a second store raised at the same time took the first one's database from under it (database gate_inventory_... does not exist). The three stores are raised one after another again, each phase says when it starts, and a failed phase stops the test. The two served-fact tests log one line when they pass their key assertion.
The seats test I moved to internal/ownmanifest parsed each catalogue manifest alone, so claude-code's managed_settings and dunst's font-size, which fall back to a predefined key, were refused where the check clones the catalogue beside (ADR 0348 section 7). It reads them with ReadTreeManifest from the catalogue's root, as the tests that issue 914 fixed do. merge-check.sh differed from main in a comment only; it is main's again.
mesh-sdk's composition refuses a module's file that names an own secret not made yet in every mode, where the controller's Allocating composition made it on the way; and it asked the vault on every send, where a send whose kept box was valid composed with no stand-in and so never performed. prepareSend, before the composition of every send, makes the own secrets no row holds (not the handed, not the outside-issued, not one the composition would refuse) and asks the vault for the core's credentials, keeping the boxes it answers and returning the modules the controller seals itself. perform no longer asks the vault.
A pass printed no line, so it did not show whether idt and ygcyr were compared on the send side or refused alike. A machine either send refuses now fails, naming the machine and both refusals; refusals alike in the Foreseeing comparison (a) stay, said only; facts with no machine fail. A pass proves that every machine was sent and compared.
Every caller composes through mesh-sdk's go/compose since issues 1386 to 1388; the controller's second copy of the composition is dead code. The parent of this commit is fb556d6b, whose try (build-1792493691274712799, 17m28s, 2026-10-20 11:12 UTC) ran the equality test green on the live facts: every machine was sent and compared both ways (ADR 0453, issue 1384).

Deleted, 40 functions: in plan.go planFor, declarationWith, renderingFor, grantsFor, theRestOfTheMesh and their helpers (boundOfGrant, busCredentialIssued, carriedBuilds, carriedOn, composeBusUsers, engineJudgesRoot, engineReadsHealth, engineTakesHanded, takesHanded, givenUnderAnOldKey, issuedToHolder, keyFor, licencesFor, managerPublicKeyFor, movedProvider, providerMoved, providerModuleOf, sayLeftOut, seatsOn, wireBuilds, zonesInTheMesh); in network.go generators, whoResolves, namesInTheMesh, onThePrivateNetwork; composedAndValidated, adoptionFor, adoptionOf, engineOpensVaultBox, namedModules, localNetworksOf, keepRecorded, passSeatsOn, theMeshPassesSeatsOn, assignmentsOf. Choosing (Reading, Allocating, Foreseeing) is gone: coreBoxesFor and coreBoxesOf take a plain allocating flag. composeForPush no longer takes the private network it ignored. The seat pass of a send is performSeatPasses, over the passes the composition names.

Measured: cmd/mesh-controller non-test code 67,643 -> 65,821 lines (-1,822), its tests 57,691 -> 57,286, with the integration part of the equality test removed here because it calls the deleted functions. Not the issue's 3,000: that counts all of plan.go (2,192 lines), of which the callers, the verbs, the perform step and the sends remain (sendable, recorded builds, the held-back and ready-node logic, the plan verb, the gate's trial); and the 37 functions a name walk lists as unreachable are called through interfaces and method sets and are kept.

Tests dropped, each with the mesh-sdk go/compose test that holds its cases:
- seat_pass_test.go TestACompositionWithTwoClaimantsRecordsNoneAndSaysSo, TestACompositionChangesNothingWhileTheHolderIsAssignedOrNobodyClaims, TestAHolderAssignedButNotOnTheShelfIsNotTakenForGone: rest_test.go TestNoSeatIsPassedForTwoClaimantsAnAssignedHolderOrNoClaimant, TestAHolderAssignedButNotOnTheShelfIsNotTakenForGone, TestASeatWhoseHolderIsAssignedNowhereGoesToItsOnlyClaimant. TestACompositionPassesTheSeatAndWritesOneHandActByTheController and TestALostPassWritesNoActAndAFailedOneLeavesTheRecord stay as tests of the send's step (performSeatPasses); TestAThrowawayMeshPassesTheSeatInMemoryAndWritesNothing stays as TestAThrowawayMeshWritesNoHandActForAPass.
- seat_pass_test.go TestNoSeatIsPassedWhenAMachinesAssignmentsCouldNotBeRead: no counterpart, and none is needed: the adapter reads every machine's assignments for the Input and a machine whose read fails fails the Input, so no seat is passed on a partial read.
- network_test.go TestOnlyAMachineOnThePrivateNetworkIsNamed: network_test.go TestANodeNotOnThePrivateNetworkGetsNoAddressAndNoNetwork.
- held_back_test.go TestASendCarriesTheCurrentBuildsAndALeftOutModuleKeepsItsOwn: node_test.go TestAModuleLeftOutKeepsTheBuildItWasLastSent (and compose_sdk_test.go's table, now literal).
- modules_wire_test.go TestTheBuildOfACarriedCommitIsTheAssignmentsOrTheOneBuiltFromIt: node_test.go TestTheBodyCarriesTheOrderTheInputGivesAndTheBuildsOnlyToAnEngineThatReadsThem.
- compose_equal_integration_test.go: the old path it compares against is deleted; its last run is the parent's try.
Rewritten against mesh-sdk, same cases: issued_test.go (needs now come from compose.Resolve: Needed.IssuedToHolder and ProviderMoved), module_health_test.go and merge_gate_handing tests (the contract in the Input), provisioner_account_integration_test.go (the composition's refusal), one_resolution_integration_test.go (sayFound). Every test of the send, perform, the adapter and the verbs is kept; the tests that used planFor, declarationWith, generators, renderingFor or grantsFor as setup use resolveNode, composeSend, composeQuestion, renderingOf and grantsOf. compose_callers_test.go now fails when any deleted name is declared or called again.

Committed by copying the files of a staging branch (stage/r4b-1389 at 198be8217c, built from fb556d6b by patch commits and compared with the author's worktree), so that this commit's parent is fb556d6b.
The controller's own composition it compared mesh-sdk's with is deleted by the commit before; compose_equal_test.go held the comparison (bothWaysDiffer, madeDiffer and their helpers) and is not needed with nothing to compare against. The made type, which compose_perform_integration_test still reads a store through, moves next to madeIn.
Say a placeholder or replaced mesh-sdk pin as a local mesh-sdk, not as a version
mesh/merge-gate head 8a330afd44ba merged into trunk 6c2a8d62100c — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 8a330afd44ba merged into trunk 6c2a8d62100c — pass: its merge-check.sh passed
mesh/delivery delivered
8a330afd44
Author
Member

Delivery novox/mesh-controller@8a330afd44ba — delivered since 2026-10-20T12:09:35Z

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

  • tier 0: mesh-controller, route-proxy
  • tier 1: build-agent
  • ace: receives route-proxy, build-agent
  • g14: receives build-agent
  • novox: receives mesh-controller, route-proxy, build-agent
  • shanks: receives build-agent
  • 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
  • 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 route-proxy, build-agent is judged on its first machine

Machines

  • mesh-controller on every machine running it: sent
  • route-proxy on every machine running it: sent
  • build-agent on every machine running it: sent

Transitions

  • 2026-10-20 11:50 (new) → proposed (announced): novox/mesh-controller#405's head announced
  • 2026-10-20 12:01 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-20 12:01 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-20 12:03 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-20 12:03 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-20 12:09 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@8a330afd44ba` — **delivered** since 2026-10-20T12:09:35Z **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller, route-proxy - tier 1: build-agent - ace: receives route-proxy, build-agent - g14: receives build-agent - novox: receives mesh-controller, route-proxy, build-agent - shanks: receives build-agent - 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 - 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 route-proxy, build-agent is judged on its first machine **Machines** - mesh-controller on every machine running it: sent - route-proxy on every machine running it: sent - build-agent on every machine running it: sent **Transitions** - 2026-10-20 11:50 (new) → proposed (announced): novox/mesh-controller#405's head announced - 2026-10-20 12:01 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-20 12:01 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-20 12:03 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-20 12:03 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-20 12:09 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`.
Author
Member

Merge check at 8a330afd
Judged: head 8a330afd44ba merged into trunk 6c2a8d62100c; read beside it: mesh-catalog bb0fe93bbddd, mesh-controller-main 6c2a8d62100c, mesh-host cdcba9ca7375, mesh-tools 7412c5b6c9c5

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: PASS — its merge-check.sh passed

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

  • tier 0: mesh-controller, route-proxy
  • tier 1: build-agent
  • ace: receives route-proxy, build-agent
  • g14: receives build-agent
  • novox: receives mesh-controller, route-proxy, build-agent
  • shanks: receives build-agent
  • 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
  • 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 route-proxy, build-agent is judged on its first machine
  • read by no module's build: cmd/mesh-controller/acts_test.go, cmd/mesh-controller/addresses_integration_test.go, cmd/mesh-controller/addresses_test.go, cmd/mesh-controller/adopting_test.go, cmd/mesh-controller/agent_account_integration_test.go, cmd/mesh-controller/agent_account_test.go, cmd/mesh-controller/awaiting_push_integration_test.go, cmd/mesh-controller/awaiting_push_test.go, cmd/mesh-controller/away_integration_test.go, cmd/mesh-controller/backups_before_send_integration_test.go, cmd/mesh-controller/batches_integration_test.go, cmd/mesh-controller/batches_test.go, cmd/mesh-controller/bindings_integration_test.go, cmd/mesh-controller/bindings_test.go, cmd/mesh-controller/build_seat_test.go, cmd/mesh-controller/busobjects_test.go, cmd/mesh-controller/busy_test.go, cmd/mesh-controller/chain_integration_test.go, cmd/mesh-controller/changeplan_test.go, cmd/mesh-controller/check_builds_integration_test.go, cmd/mesh-controller/check_builds_test.go, cmd/mesh-controller/check_siblings_test.go, cmd/mesh-controller/check_test.go, cmd/mesh-controller/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/compose_callers_test.go, cmd/mesh-controller/compose_fallbacks_test.go, cmd/mesh-controller/compose_helpers_test.go, cmd/mesh-controller/compose_input_credentials_integration_test.go, cmd/mesh-controller/compose_input_integration_test.go, cmd/mesh-controller/compose_made_integration_test.go, cmd/mesh-controller/compose_once_integration_test.go, cmd/mesh-controller/compose_perform_integration_test.go, cmd/mesh-controller/compose_sdk_test.go, cmd/mesh-controller/composed_member_check_test.go, cmd/mesh-controller/composed_verdict_test.go, cmd/mesh-controller/config_moved_integration_test.go, cmd/mesh-controller/config_moved_test.go, cmd/mesh-controller/core_box_integration_test.go, cmd/mesh-controller/core_box_test.go, cmd/mesh-controller/credential_on_assign_test.go, cmd/mesh-controller/data_integration_test.go, cmd/mesh-controller/data_test.go, cmd/mesh-controller/delivery_conditions_test.go, cmd/mesh-controller/delivery_edges_test.go, cmd/mesh-controller/delivery_integration_test.go, cmd/mesh-controller/delivery_test.go, cmd/mesh-controller/dependents_test.go, cmd/mesh-controller/doctor_test.go, cmd/mesh-controller/epoch_send_test.go, cmd/mesh-controller/facts_format_test.go, cmd/mesh-controller/facts_test.go, cmd/mesh-controller/first_build_ask_integration_test.go, cmd/mesh-controller/first_builds_integration_test.go, cmd/mesh-controller/fixclass_test.go, cmd/mesh-controller/gate_followup_test.go, cmd/mesh-controller/gate_integration_test.go, cmd/mesh-controller/gate_rule_test.go, cmd/mesh-controller/gate_test.go, cmd/mesh-controller/grant_follows_binding_integration_test.go, cmd/mesh-controller/grant_follows_binding_test.go, cmd/mesh-controller/grants_step_integration_test.go, cmd/mesh-controller/grants_step_store_test.go, cmd/mesh-controller/grants_step_test.go, cmd/mesh-controller/health_check_test.go, cmd/mesh-controller/held_back_integration_test.go, cmd/mesh-controller/held_back_test.go, cmd/mesh-controller/holders_silent_test.go, cmd/mesh-controller/holdings_test.go, cmd/mesh-controller/identity_bound_integration_test.go, cmd/mesh-controller/issue201_integration_test.go, cmd/mesh-controller/issue348_integration_test.go, cmd/mesh-controller/issue352_integration_test.go, cmd/mesh-controller/issue352_test.go, cmd/mesh-controller/issue648_test.go, cmd/mesh-controller/issued_test.go, cmd/mesh-controller/issued_to_vault_test.go, cmd/mesh-controller/left_out_integration_test.go, cmd/mesh-controller/left_out_test.go, cmd/mesh-controller/local_network_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/merge_gate_handing_integration_test.go, cmd/mesh-controller/merge_gate_handing_test.go, cmd/mesh-controller/merge_gate_integration_test.go, cmd/mesh-controller/mesh_for_test.go, cmd/mesh-controller/mirrors_integration_test.go, cmd/mesh-controller/mirrors_test.go, cmd/mesh-controller/module_health_test.go, cmd/mesh-controller/modules_test.go, cmd/mesh-controller/modules_wire_store_test.go, cmd/mesh-controller/modules_wire_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/network_test.go, cmd/mesh-controller/new_module_approved_test.go, cmd/mesh-controller/new_module_bus_test.go, cmd/mesh-controller/new_module_on_merge_test.go, cmd/mesh-controller/non_trunk_merge_test.go, cmd/mesh-controller/one_group_one_plan_test.go, cmd/mesh-controller/one_resolution_integration_test.go, cmd/mesh-controller/one_resolution_test.go, cmd/mesh-controller/operator_wait_test.go, cmd/mesh-controller/order_test.go, cmd/mesh-controller/outside_accept_test.go, cmd/mesh-controller/outside_not_given_test.go, cmd/mesh-controller/outside_wait_test.go, cmd/mesh-controller/over_budget_integration_test.go, cmd/mesh-controller/over_budget_test.go, cmd/mesh-controller/own_path_by_claim_test.go, cmd/mesh-controller/owned_paths_test.go, cmd/mesh-controller/pending_integration_test.go, cmd/mesh-controller/pending_test.go, cmd/mesh-controller/person_wait_test.go, cmd/mesh-controller/placement_moved_test.go, cmd/mesh-controller/placement_words_moved_integration_test.go, cmd/mesh-controller/placement_words_moved_test.go, cmd/mesh-controller/plan_backups_test.go, cmd/mesh-controller/plan_clock_integration_test.go, cmd/mesh-controller/plan_clock_test.go, cmd/mesh-controller/plan_test.go, cmd/mesh-controller/planner_records_test.go, cmd/mesh-controller/planner_rules_test.go, cmd/mesh-controller/plans_data_test.go, cmd/mesh-controller/predefined_integration_test.go, cmd/mesh-controller/predefined_test.go, cmd/mesh-controller/probe_agent_root_test.go, cmd/mesh-controller/process_issue_test.go, cmd/mesh-controller/process_live_test.go, cmd/mesh-controller/proposals_integration_test.go, cmd/mesh-controller/provider_hold_test.go, cmd/mesh-controller/provisioned_test.go, cmd/mesh-controller/provisioner_account_integration_test.go, cmd/mesh-controller/provisioner_account_test.go, cmd/mesh-controller/push_recreates_test.go, cmd/mesh-controller/queue_test.go, cmd/mesh-controller/recorded_kept_integration_test.go, cmd/mesh-controller/recorded_kept_test.go, cmd/mesh-controller/recorded_moves_test.go, cmd/mesh-controller/registry_verbs_test.go, cmd/mesh-controller/release_test.go, cmd/mesh-controller/replay164_test.go, cmd/mesh-controller/replay201_test.go, cmd/mesh-controller/replay237_test.go, cmd/mesh-controller/replay239_test.go, cmd/mesh-controller/replay318_test.go, cmd/mesh-controller/replay325_test.go, cmd/mesh-controller/replay336_test.go, cmd/mesh-controller/replay340_test.go, cmd/mesh-controller/replay349_test.go, cmd/mesh-controller/replay401_test.go, cmd/mesh-controller/replay614_test.go, cmd/mesh-controller/replay867_test.go, cmd/mesh-controller/replays_integration_test.go, cmd/mesh-controller/rest_at_once_integration_test.go, cmd/mesh-controller/rest_at_once_test.go, cmd/mesh-controller/retirement_integration_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_test.go, cmd/mesh-controller/roster_failure_test.go, cmd/mesh-controller/same_program_integration_test.go, cmd/mesh-controller/same_source_test.go, cmd/mesh-controller/seat_dependencies_integration_test.go, cmd/mesh-controller/seat_dependencies_test.go, cmd/mesh-controller/seat_pass_test.go, cmd/mesh-controller/seats_test.go, cmd/mesh-controller/seatverbs_integration_test.go, cmd/mesh-controller/seatverbs_schema_integration_test.go, cmd/mesh-controller/secret_move_test.go, cmd/mesh-controller/sendable_integration_test.go, cmd/mesh-controller/sendable_test.go, cmd/mesh-controller/sent_required_by_integration_test.go, cmd/mesh-controller/sent_required_by_test.go, cmd/mesh-controller/served_own_names_test.go, cmd/mesh-controller/settings_effective_integration_test.go, cmd/mesh-controller/settings_effective_test.go, cmd/mesh-controller/settings_walk_integration_test.go, cmd/mesh-controller/silent_mid_tier_integration_test.go, cmd/mesh-controller/source_test.go, cmd/mesh-controller/standing_integration_test.go, cmd/mesh-controller/take_preview_test.go, cmd/mesh-controller/template_integration_test.go, cmd/mesh-controller/terminal_settings_test.go, cmd/mesh-controller/tier_send_integration_test.go, cmd/mesh-controller/try_test.go, cmd/mesh-controller/unbound_test.go, cmd/mesh-controller/unheld_report_integration_test.go, cmd/mesh-controller/unheld_report_test.go, cmd/mesh-controller/unknown_fields_test.go, cmd/mesh-controller/urgent_unhealthy_test.go, cmd/mesh-controller/vault_handed_test.go, cmd/mesh-controller/vault_secrets_test.go, cmd/mesh-controller/vault_switch_test.go, cmd/mesh-controller/waiting_provider_test.go, cmd/mesh-controller/walk_said_integration_test.go, cmd/mesh-controller/walk_said_test.go, cmd/mesh-controller/written_settings_test.go, examples/postgres-provisioner/where_test.go, internal/artifacts/hold_test.go, internal/artifacts/live_registry_test.go, internal/artifacts/platforms_test.go, internal/artifacts/store_test.go, internal/broker/agreement_catalogue_test.go, internal/broker/states_agreement_test.go, internal/broker/stream_names_agreement_test.go, internal/builder/binary_name_test.go, internal/builder/builder_integration_test.go, internal/builder/builder_test.go, internal/builder/check_credential_test.go, internal/builder/check_pin_test.go, internal/builder/check_test.go, internal/builder/context_test.go, internal/builder/judge_build_test.go, internal/builder/launchers_test.go, internal/builder/predefined_test.go, internal/builder/registry_unbound_test.go, internal/builder/reuse_test.go, internal/builder/same_program_test.go, internal/builder/siblings_test.go, internal/builder/standing_on_test.go, internal/builder/template_integration_test.go, internal/builder/template_test.go, internal/builder/upstream_file_integration_test.go, internal/builder/upstream_file_test.go, internal/catalogue/a_service_process_test.go, internal/catalogue/accesses_test.go, internal/catalogue/adoption_test.go, internal/catalogue/agent_account_test.go, internal/catalogue/amqp_is_not_a_provision_test.go, internal/catalogue/artifact_store_alias_test.go, internal/catalogue/artifact_store_seat_test.go, internal/catalogue/artifacts_test.go, internal/catalogue/backup_placement_test.go, internal/catalogue/backup_test.go, internal/catalogue/bootstrap_cycle_test.go, internal/catalogue/bound_into_files_test.go, internal/catalogue/bound_test.go, internal/catalogue/broker_seat_test.go, internal/catalogue/brokered_test.go, internal/catalogue/build_system_test.go, internal/catalogue/build_test.go, internal/catalogue/bus_snapshot_test.go, internal/catalogue/busy_test.go, internal/catalogue/catalogue_check_test.go, internal/catalogue/catrust_manifest_test.go, internal/catalogue/co_located_test.go, internal/catalogue/collections_bar_test.go, internal/catalogue/collections_l2_test.go, internal/catalogue/collections_l3_test.go, internal/catalogue/collections_test.go, internal/catalogue/computed_test.go, internal/catalogue/config_rename_test.go, internal/catalogue/config_test.go, internal/catalogue/consumes_start_test.go, internal/catalogue/contributes_test.go, internal/catalogue/contribution_dependencies_test.go, internal/catalogue/core_credentials_test.go, internal/catalogue/data_test.go, internal/catalogue/declaration_test.go, internal/catalogue/delivery_seat_test.go, internal/catalogue/derived_for_consumer_test.go, internal/catalogue/dir_into_test.go, internal/catalogue/domain_test.go, internal/catalogue/endpoint_test.go, internal/catalogue/endpoints_setting_test.go, internal/catalogue/engine_guard_test.go, internal/catalogue/environment_into_integration_test.go, internal/catalogue/environment_into_test.go, internal/catalogue/environment_items_test.go, internal/catalogue/files_test.go, internal/catalogue/filtering_foundation_test.go, internal/catalogue/filtering_test.go, internal/catalogue/foundation_manifests_test.go, internal/catalogue/generated_collision_test.go, internal/catalogue/go_bundle_test.go, internal/catalogue/grant_secret_owner_test.go, internal/catalogue/graphical_session_test.go, internal/catalogue/handed_bound_test.go, internal/catalogue/handed_consumers_test.go, internal/catalogue/handed_merge_test.go, internal/catalogue/handed_providers_test.go, internal/catalogue/handed_pulled_in_test.go, internal/catalogue/handed_secrets_test.go, internal/catalogue/handed_test.go, internal/catalogue/health_test.go, internal/catalogue/holdings_test.go, internal/catalogue/holds_test.go, internal/catalogue/hostname_seat_test.go, internal/catalogue/identity_bound_test.go, internal/catalogue/identity_test.go, internal/catalogue/installation_test.go, internal/catalogue/invokes_test.go, internal/catalogue/issued_credential_test.go, internal/catalogue/issued_outside_test.go, internal/catalogue/jail_problems_test.go, internal/catalogue/jails_into_test.go, internal/catalogue/kept_test.go, internal/catalogue/kinded_test.go, internal/catalogue/licence_test.go, internal/catalogue/localnetwork_test.go, internal/catalogue/login_shell_execute_test.go, internal/catalogue/logs_test.go, internal/catalogue/machine_into_files_test.go, internal/catalogue/machineside_test.go, internal/catalogue/mounts_test.go, internal/catalogue/names_test.go, internal/catalogue/naming_test.go, internal/catalogue/needs_test.go, internal/catalogue/no_subjects_test.go, internal/catalogue/node_resolver_test.go, internal/catalogue/operators_machine_test.go, internal/catalogue/optional_requirements_test.go, internal/catalogue/outside_not_given_test.go, internal/catalogue/own_name_test.go, internal/catalogue/own_secret_owner_test.go, internal/catalogue/own_secret_prompt_test.go, internal/catalogue/own_secret_taken_test.go, internal/catalogue/pin_names_module_test.go, internal/catalogue/placed_paths_test.go, internal/catalogue/placement_test.go, internal/catalogue/port_into_test.go, internal/catalogue/predefined_test.go, internal/catalogue/prepares_test.go, internal/catalogue/print_rehearsal_test.go, internal/catalogue/process_bus_test.go, internal/catalogue/process_env_test.go, internal/catalogue/provided_test.go, internal/catalogue/published_ports_test.go, internal/catalogue/reach_test.go, internal/catalogue/reads_test.go, internal/catalogue/received_on_the_bus_test.go, internal/catalogue/reflects_renamed_test.go, internal/catalogue/replaces_test.go, internal/catalogue/replay166_test.go, internal/catalogue/replay279_test.go, internal/catalogue/replay412_test.go, internal/catalogue/replays_test.go, internal/catalogue/resolve_keeps_references_test.go, internal/catalogue/resolve_loopback_test.go, internal/catalogue/resolve_test.go, internal/catalogue/resolved_path_test.go, internal/catalogue/resolver_file_is_the_uplinks_test.go, internal/catalogue/resolver_manifests_test.go, internal/catalogue/retirement_event_test.go, internal/catalogue/roster_test.go, internal/catalogue/routing_test.go, internal/catalogue/runonce_test.go, internal/catalogue/runtime_gate_test.go, internal/catalogue/runtime_health_test.go, internal/catalogue/runtime_test.go, internal/catalogue/schedule_test.go, internal/catalogue/seat_answers_before_local_test.go, internal/catalogue/seat_contributions_test.go, internal/catalogue/seat_data_test.go, internal/catalogue/seat_dependencies_test.go, internal/catalogue/seat_into_test.go, internal/catalogue/seat_pass_test.go, internal/catalogue/seat_paths_test.go, internal/catalogue/seats_declared_test.go, internal/catalogue/seats_test.go, internal/catalogue/secret_family_test.go, internal/catalogue/secret_restart_test.go, internal/catalogue/secrets_in_environment_test.go, internal/catalogue/secrets_into_files_test.go, internal/catalogue/served_by_setting_test.go, internal/catalogue/served_own_names_test.go, internal/catalogue/setting_defaults_test.go, internal/catalogue/setting_in_owner_test.go, internal/catalogue/setting_in_unit_test.go, internal/catalogue/setting_into_test.go, internal/catalogue/setting_takes_test.go, internal/catalogue/settings_judge_test.go, internal/catalogue/settings_test.go, internal/catalogue/several_contributions_test.go, internal/catalogue/several_secrets_test.go, internal/catalogue/shared_account_test.go, internal/catalogue/shared_credential_test.go, internal/catalogue/shares_test.go, internal/catalogue/short_form_port_protocol_test.go, internal/catalogue/showcase_manifest_test.go, internal/catalogue/ssh_client_test.go, internal/catalogue/state_test.go, internal/catalogue/stream_work_queue_test.go, internal/catalogue/streams_test.go, internal/catalogue/template_test.go, internal/catalogue/templates_dir_test.go, internal/catalogue/terminal_settings_test.go, internal/catalogue/testdata/bars/bar-battery, internal/catalogue/testdata/bars/bar-power-draw, internal/catalogue/testdata/bars/battery.bottom-bar.toml, internal/catalogue/testdata/bars/battery.top-bar.toml, internal/catalogue/testdata/bars/both.bottom-bar.toml, internal/catalogue/testdata/bars/both.top-bar.toml, internal/catalogue/testdata/bars/bottom-bar.toml, internal/catalogue/testdata/bars/none.bottom-bar.toml, internal/catalogue/testdata/bars/none.top-bar.toml, internal/catalogue/testdata/bars/power-meter.bottom-bar.toml, internal/catalogue/testdata/bars/power-meter.top-bar.toml, internal/catalogue/testdata/bars/top-bar.toml, internal/catalogue/testdata/environment/all.posix, internal/catalogue/testdata/environment/all.systemd, internal/catalogue/testdata/environment/zsh.posix, internal/catalogue/testdata/environment/zsh.systemd, internal/catalogue/testdata/influxdb-served-by-setting/grafana-ace.json, internal/catalogue/testdata/influxdb-served-by-setting/grafana-unlayered.json, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.contribution-node-hotkeys-trigger, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.shell-after-wake-normal, internal/catalogue/testdata/l2-moved/items/claude-code.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/mesh-cli.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/powerlevel10k.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-autosuggestions.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-syntax-highlighting.shell-zsh-last, internal/catalogue/testdata/l2-moved/templates/power, internal/catalogue/testdata/l2-moved/templates/triggerhappy, internal/catalogue/testdata/l2-moved/templates/zsh, internal/catalogue/testdata/l2-moved/want/power, internal/catalogue/testdata/l2-moved/want/triggerhappy, internal/catalogue/testdata/l2-moved/want/zsh, internal/catalogue/the_bus_is_never_public_test.go, internal/catalogue/two_consumers_test.go, internal/catalogue/two_resolvers_test.go, internal/catalogue/unconsumed_placeholder_test.go, internal/catalogue/unhealthy_test.go, internal/catalogue/upgrade_test.go, internal/catalogue/uplink_verbs_test.go, internal/catalogue/upstream_file_test.go, internal/catalogue/vault_seat_test.go, internal/catalogue/verbs_test.go, internal/catalogue/version_in_a_path_test.go, internal/catalogue/waits_test.go, internal/catalogue/while_stopped_test.go, internal/catalogue/work_queue_consumer_test.go, internal/catalogue/zones_test.go, internal/facts/facts_test.go, internal/inventory/artifacts_test.go, internal/inventory/asks_lab_test.go, internal/inventory/bindings_test.go, internal/inventory/buildinput_test.go, internal/inventory/busrecords_integration_test.go, internal/inventory/busrecords_test.go, internal/inventory/catalogue_test.go, internal/inventory/chain_drop_test.go, internal/inventory/chain_store_test.go, internal/inventory/collection_test.go, internal/inventory/config_move_test.go, internal/inventory/dependencies_test.go, internal/inventory/forget_test.go, internal/inventory/givable_test.go, internal/inventory/given_test.go, internal/inventory/heldhere_test.go, internal/inventory/holdings_test.go, internal/inventory/issued_test.go, internal/inventory/mirrored_test.go, internal/inventory/older_build_test.go, internal/inventory/operator_test.go, internal/inventory/outside_test.go, internal/inventory/placement_test.go, internal/inventory/placement_words_test.go, internal/inventory/ports_test.go, internal/inventory/predefined_test.go, internal/inventory/provisioning_test.go, internal/inventory/record_mirrors_integration_test.go, internal/inventory/record_mirrors_test.go, internal/inventory/registered_held_integration_test.go, internal/inventory/rootfree_grants_test.go, internal/inventory/seats_test.go, internal/inventory/secret_family_integration_test.go, internal/inventory/secret_family_test.go, internal/inventory/secret_move_test.go, internal/inventory/secrets_test.go, internal/inventory/sent_builds_test.go, internal/inventory/settings_judged_test.go, internal/inventory/state_keyttl_test.go, internal/inventory/stored_silent_file_test.go, internal/inventory/streams_test.go, internal/inventory/template_test.go, internal/inventory/unseen_test.go, internal/inventory/waits_grants_test.go, internal/link/enrol_shape_test.go, internal/link/pull_buckets_test.go, internal/overlay/declaration_test.go, internal/overlay/generator_test.go, internal/overlay/graph_test.go, internal/overlay/opens_test.go, internal/overlay/seat_test.go, internal/ownmanifest/controller_is_a_process_test.go, internal/catalogue/controller_is_a_process_test.go, internal/ownmanifest/doc.go, internal/ownmanifest/foundation_manifests_test.go, internal/ownmanifest/genesis_image_test.go, internal/catalogue/genesis_image_test.go, internal/ownmanifest/genesis_registry_test.go, internal/catalogue/genesis_registry_test.go, internal/ownmanifest/helpers_test.go, internal/ownmanifest/own_module_json_test.go, internal/ownmanifest/public_issuer_test.go, internal/catalogue/public_issuer_test.go, internal/ownmanifest/seats_test.go, internal/recordmirror/mirror_store_test.go, internal/recordmirror/readers_test.go, testdata/beside/CAPTURED, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/adoption.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/artifacts.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/backup_placement.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/bound.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/bound_into_files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/build.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/busy.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/chosen.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/collections.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/config.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/config_move.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/consumer_into_serves.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/consumers.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/core_credentials.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/cron.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/data.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/declaration.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/delivery_seat.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/dir_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/doc.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/environment_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/events.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/filtering.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/graphical_session.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/handed.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/health.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/identity.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/installation.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/jails_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/localnetwork.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/logs.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/machine_into_files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/manifest.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/naming.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/node_resolver.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/optional_requirements.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/placement.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/port_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/predefined.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/process_bus.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/reads.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/recreates.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/resolve.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/roster.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/runtime.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_contributions.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_data.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_dependencies.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_pass.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_paths.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seats.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seats_declared.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/secrets_into_files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/served_own_names.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/setting_defaults.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/setting_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/setting_takes.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/settings.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/shares.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/state.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/streams.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/template.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/terminal_keys.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/unconsumed_placeholder.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/unhealthy.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/unknown_field.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/upgrade.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/verbs.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/zones.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/credentials.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/input.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/network.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/node.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/render.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/rendering.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/resolve.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/rest.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/busy.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/cron.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/declaration.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/health.go, vendor/git.novox.be/novox/mesh-sdk/go/facts/facts.go, vendor/git.novox.be/novox/mesh-sdk/go/facts/scrub.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/declaration.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/doc.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/generator.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/graph.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/names.go, vendor/git.novox.be/novox/mesh-sdk/go/validate/validate.go

Run by the build seat on shanks as build-1792497046802521118 (builds --log build-1792497046802521118).

MESH_STORE_EXAMPLE_PORT is "${seat:mesh-store:5432}", a placeholder nothing filled in — ignored; the port in MESH_STORE_EXAMPLE stands. The control plane composing this declaration is older than the manifest naming it: rebuild and push it
PASS
ok  	github.com/novox/mesh-controller/internal/store	8.519s
    testbus_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
PASS
ok  	github.com/novox/mesh-controller/internal/testbus	1.463s
PASS
ok  	github.com/novox/mesh-controller/internal/token	1.082s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	42s	(shard 1 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	56s	(shard 2 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	375s	(shard 3 of 8: 154 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	199s	(shard 4 of 8: 154 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	253s	(shard 5 of 8: 154 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	162s	(shard 6 of 8: 154 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	122s	(shard 7 of 8: 154 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	58s	(shard 8 of 8: 154 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	25s	(shard 1 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	26s	(shard 2 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	23s	(shard 3 of 4: 91 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	23s	(shard 4 of 4: 91 tests)
ok  	github.com/novox/mesh-controller/internal/builder	24s	(shard 1 of 4: 57 tests)
ok  	github.com/novox/mesh-controller/internal/builder	32s	(shard 2 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/builder	26s	(shard 3 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/builder	28s	(shard 4 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/link	36s	(shard 1 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	24s	(shard 2 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	25s	(shard 3 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	18s	(shard 4 of 4: 52 tests)
integration level (the whole suite, tag integration): 2597 tests (3 skipped outside the shards), 412 s
nested module modules/build-agent:
ok  	build-agent	1.017s
nested module modules/route-proxy:
ok  	route-proxy/cmd/route-provider	1.015s
nested modules: 2 s
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.30s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.33s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.31s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.27s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.26s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.19s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (1.98s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.77s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.23s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.30s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.22s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.27s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.25s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.30s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.26s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.30s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.33s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.30s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.21s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.22s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.39s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.26s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.36s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.33s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.25s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.30s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.12s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.55s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.33s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.25s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.20s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.20s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.20s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.58s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.33s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.73s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.50s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.28s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.54s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.25s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.19s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.28s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.21s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.24s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.23s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.25s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.32s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.19s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.18s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.29s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.29s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.33s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.33s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.28s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.34s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.37s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.29s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.55s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.56s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.33s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (68.51s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (25.14s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (35.40s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.37s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.40s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.33s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.32s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.34s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.31s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.30s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.40s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.70s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.71s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.54s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.40s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (4.52s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.33s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.40s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.22s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.23s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.38s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.47s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.40s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.30s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.22s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.68s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.87s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.44s)
  ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.10s)
  ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.01s)
  ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.75s)
  ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.18s)
  ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.37s)
  ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.30s)
  ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.41s)
  ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.26s)
  ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.66s)
  ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.18s)
  ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.66s)
  ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (1.32s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.13s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.15s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.19s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.16s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.12s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.08s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.10s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.10s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.09s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.17s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.18s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.15s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.07s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.08s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.72s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.16s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.13s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.11s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.10s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.12s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.10s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.24s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.17s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.14s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.10s)
  ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.11s)
  ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.08s)
  ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.14s)
  ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.09s)
  ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.08s)
  ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.09s)
  ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.09s)
  ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.07s)
  ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s)
  ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.08s)
  ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.08s)
  ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.11s)
  ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.12s)
  ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.43s)
  ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.11s)
  ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.10s)
  ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.07s)
  ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.12s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (2.27s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.46s)
**Merge check** at `8a330afd` Judged: head `8a330afd44ba` merged into trunk `6c2a8d62100c`; read beside it: mesh-catalog `bb0fe93bbddd`, mesh-controller-main `6c2a8d62100c`, mesh-host `cdcba9ca7375`, mesh-tools `7412c5b6c9c5` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller, route-proxy - tier 1: build-agent - ace: receives route-proxy, build-agent - g14: receives build-agent - novox: receives mesh-controller, route-proxy, build-agent - shanks: receives build-agent - 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 - 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 route-proxy, build-agent is judged on its first machine - read by no module's build: cmd/mesh-controller/acts_test.go, cmd/mesh-controller/addresses_integration_test.go, cmd/mesh-controller/addresses_test.go, cmd/mesh-controller/adopting_test.go, cmd/mesh-controller/agent_account_integration_test.go, cmd/mesh-controller/agent_account_test.go, cmd/mesh-controller/awaiting_push_integration_test.go, cmd/mesh-controller/awaiting_push_test.go, cmd/mesh-controller/away_integration_test.go, cmd/mesh-controller/backups_before_send_integration_test.go, cmd/mesh-controller/batches_integration_test.go, cmd/mesh-controller/batches_test.go, cmd/mesh-controller/bindings_integration_test.go, cmd/mesh-controller/bindings_test.go, cmd/mesh-controller/build_seat_test.go, cmd/mesh-controller/busobjects_test.go, cmd/mesh-controller/busy_test.go, cmd/mesh-controller/chain_integration_test.go, cmd/mesh-controller/changeplan_test.go, cmd/mesh-controller/check_builds_integration_test.go, cmd/mesh-controller/check_builds_test.go, cmd/mesh-controller/check_siblings_test.go, cmd/mesh-controller/check_test.go, cmd/mesh-controller/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/compose_callers_test.go, cmd/mesh-controller/compose_fallbacks_test.go, cmd/mesh-controller/compose_helpers_test.go, cmd/mesh-controller/compose_input_credentials_integration_test.go, cmd/mesh-controller/compose_input_integration_test.go, cmd/mesh-controller/compose_made_integration_test.go, cmd/mesh-controller/compose_once_integration_test.go, cmd/mesh-controller/compose_perform_integration_test.go, cmd/mesh-controller/compose_sdk_test.go, cmd/mesh-controller/composed_member_check_test.go, cmd/mesh-controller/composed_verdict_test.go, cmd/mesh-controller/config_moved_integration_test.go, cmd/mesh-controller/config_moved_test.go, cmd/mesh-controller/core_box_integration_test.go, cmd/mesh-controller/core_box_test.go, cmd/mesh-controller/credential_on_assign_test.go, cmd/mesh-controller/data_integration_test.go, cmd/mesh-controller/data_test.go, cmd/mesh-controller/delivery_conditions_test.go, cmd/mesh-controller/delivery_edges_test.go, cmd/mesh-controller/delivery_integration_test.go, cmd/mesh-controller/delivery_test.go, cmd/mesh-controller/dependents_test.go, cmd/mesh-controller/doctor_test.go, cmd/mesh-controller/epoch_send_test.go, cmd/mesh-controller/facts_format_test.go, cmd/mesh-controller/facts_test.go, cmd/mesh-controller/first_build_ask_integration_test.go, cmd/mesh-controller/first_builds_integration_test.go, cmd/mesh-controller/fixclass_test.go, cmd/mesh-controller/gate_followup_test.go, cmd/mesh-controller/gate_integration_test.go, cmd/mesh-controller/gate_rule_test.go, cmd/mesh-controller/gate_test.go, cmd/mesh-controller/grant_follows_binding_integration_test.go, cmd/mesh-controller/grant_follows_binding_test.go, cmd/mesh-controller/grants_step_integration_test.go, cmd/mesh-controller/grants_step_store_test.go, cmd/mesh-controller/grants_step_test.go, cmd/mesh-controller/health_check_test.go, cmd/mesh-controller/held_back_integration_test.go, cmd/mesh-controller/held_back_test.go, cmd/mesh-controller/holders_silent_test.go, cmd/mesh-controller/holdings_test.go, cmd/mesh-controller/identity_bound_integration_test.go, cmd/mesh-controller/issue201_integration_test.go, cmd/mesh-controller/issue348_integration_test.go, cmd/mesh-controller/issue352_integration_test.go, cmd/mesh-controller/issue352_test.go, cmd/mesh-controller/issue648_test.go, cmd/mesh-controller/issued_test.go, cmd/mesh-controller/issued_to_vault_test.go, cmd/mesh-controller/left_out_integration_test.go, cmd/mesh-controller/left_out_test.go, cmd/mesh-controller/local_network_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/merge_gate_handing_integration_test.go, cmd/mesh-controller/merge_gate_handing_test.go, cmd/mesh-controller/merge_gate_integration_test.go, cmd/mesh-controller/mesh_for_test.go, cmd/mesh-controller/mirrors_integration_test.go, cmd/mesh-controller/mirrors_test.go, cmd/mesh-controller/module_health_test.go, cmd/mesh-controller/modules_test.go, cmd/mesh-controller/modules_wire_store_test.go, cmd/mesh-controller/modules_wire_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/network_test.go, cmd/mesh-controller/new_module_approved_test.go, cmd/mesh-controller/new_module_bus_test.go, cmd/mesh-controller/new_module_on_merge_test.go, cmd/mesh-controller/non_trunk_merge_test.go, cmd/mesh-controller/one_group_one_plan_test.go, cmd/mesh-controller/one_resolution_integration_test.go, cmd/mesh-controller/one_resolution_test.go, cmd/mesh-controller/operator_wait_test.go, cmd/mesh-controller/order_test.go, cmd/mesh-controller/outside_accept_test.go, cmd/mesh-controller/outside_not_given_test.go, cmd/mesh-controller/outside_wait_test.go, cmd/mesh-controller/over_budget_integration_test.go, cmd/mesh-controller/over_budget_test.go, cmd/mesh-controller/own_path_by_claim_test.go, cmd/mesh-controller/owned_paths_test.go, cmd/mesh-controller/pending_integration_test.go, cmd/mesh-controller/pending_test.go, cmd/mesh-controller/person_wait_test.go, cmd/mesh-controller/placement_moved_test.go, cmd/mesh-controller/placement_words_moved_integration_test.go, cmd/mesh-controller/placement_words_moved_test.go, cmd/mesh-controller/plan_backups_test.go, cmd/mesh-controller/plan_clock_integration_test.go, cmd/mesh-controller/plan_clock_test.go, cmd/mesh-controller/plan_test.go, cmd/mesh-controller/planner_records_test.go, cmd/mesh-controller/planner_rules_test.go, cmd/mesh-controller/plans_data_test.go, cmd/mesh-controller/predefined_integration_test.go, cmd/mesh-controller/predefined_test.go, cmd/mesh-controller/probe_agent_root_test.go, cmd/mesh-controller/process_issue_test.go, cmd/mesh-controller/process_live_test.go, cmd/mesh-controller/proposals_integration_test.go, cmd/mesh-controller/provider_hold_test.go, cmd/mesh-controller/provisioned_test.go, cmd/mesh-controller/provisioner_account_integration_test.go, cmd/mesh-controller/provisioner_account_test.go, cmd/mesh-controller/push_recreates_test.go, cmd/mesh-controller/queue_test.go, cmd/mesh-controller/recorded_kept_integration_test.go, cmd/mesh-controller/recorded_kept_test.go, cmd/mesh-controller/recorded_moves_test.go, cmd/mesh-controller/registry_verbs_test.go, cmd/mesh-controller/release_test.go, cmd/mesh-controller/replay164_test.go, cmd/mesh-controller/replay201_test.go, cmd/mesh-controller/replay237_test.go, cmd/mesh-controller/replay239_test.go, cmd/mesh-controller/replay318_test.go, cmd/mesh-controller/replay325_test.go, cmd/mesh-controller/replay336_test.go, cmd/mesh-controller/replay340_test.go, cmd/mesh-controller/replay349_test.go, cmd/mesh-controller/replay401_test.go, cmd/mesh-controller/replay614_test.go, cmd/mesh-controller/replay867_test.go, cmd/mesh-controller/replays_integration_test.go, cmd/mesh-controller/rest_at_once_integration_test.go, cmd/mesh-controller/rest_at_once_test.go, cmd/mesh-controller/retirement_integration_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_test.go, cmd/mesh-controller/roster_failure_test.go, cmd/mesh-controller/same_program_integration_test.go, cmd/mesh-controller/same_source_test.go, cmd/mesh-controller/seat_dependencies_integration_test.go, cmd/mesh-controller/seat_dependencies_test.go, cmd/mesh-controller/seat_pass_test.go, cmd/mesh-controller/seats_test.go, cmd/mesh-controller/seatverbs_integration_test.go, cmd/mesh-controller/seatverbs_schema_integration_test.go, cmd/mesh-controller/secret_move_test.go, cmd/mesh-controller/sendable_integration_test.go, cmd/mesh-controller/sendable_test.go, cmd/mesh-controller/sent_required_by_integration_test.go, cmd/mesh-controller/sent_required_by_test.go, cmd/mesh-controller/served_own_names_test.go, cmd/mesh-controller/settings_effective_integration_test.go, cmd/mesh-controller/settings_effective_test.go, cmd/mesh-controller/settings_walk_integration_test.go, cmd/mesh-controller/silent_mid_tier_integration_test.go, cmd/mesh-controller/source_test.go, cmd/mesh-controller/standing_integration_test.go, cmd/mesh-controller/take_preview_test.go, cmd/mesh-controller/template_integration_test.go, cmd/mesh-controller/terminal_settings_test.go, cmd/mesh-controller/tier_send_integration_test.go, cmd/mesh-controller/try_test.go, cmd/mesh-controller/unbound_test.go, cmd/mesh-controller/unheld_report_integration_test.go, cmd/mesh-controller/unheld_report_test.go, cmd/mesh-controller/unknown_fields_test.go, cmd/mesh-controller/urgent_unhealthy_test.go, cmd/mesh-controller/vault_handed_test.go, cmd/mesh-controller/vault_secrets_test.go, cmd/mesh-controller/vault_switch_test.go, cmd/mesh-controller/waiting_provider_test.go, cmd/mesh-controller/walk_said_integration_test.go, cmd/mesh-controller/walk_said_test.go, cmd/mesh-controller/written_settings_test.go, examples/postgres-provisioner/where_test.go, internal/artifacts/hold_test.go, internal/artifacts/live_registry_test.go, internal/artifacts/platforms_test.go, internal/artifacts/store_test.go, internal/broker/agreement_catalogue_test.go, internal/broker/states_agreement_test.go, internal/broker/stream_names_agreement_test.go, internal/builder/binary_name_test.go, internal/builder/builder_integration_test.go, internal/builder/builder_test.go, internal/builder/check_credential_test.go, internal/builder/check_pin_test.go, internal/builder/check_test.go, internal/builder/context_test.go, internal/builder/judge_build_test.go, internal/builder/launchers_test.go, internal/builder/predefined_test.go, internal/builder/registry_unbound_test.go, internal/builder/reuse_test.go, internal/builder/same_program_test.go, internal/builder/siblings_test.go, internal/builder/standing_on_test.go, internal/builder/template_integration_test.go, internal/builder/template_test.go, internal/builder/upstream_file_integration_test.go, internal/builder/upstream_file_test.go, internal/catalogue/a_service_process_test.go, internal/catalogue/accesses_test.go, internal/catalogue/adoption_test.go, internal/catalogue/agent_account_test.go, internal/catalogue/amqp_is_not_a_provision_test.go, internal/catalogue/artifact_store_alias_test.go, internal/catalogue/artifact_store_seat_test.go, internal/catalogue/artifacts_test.go, internal/catalogue/backup_placement_test.go, internal/catalogue/backup_test.go, internal/catalogue/bootstrap_cycle_test.go, internal/catalogue/bound_into_files_test.go, internal/catalogue/bound_test.go, internal/catalogue/broker_seat_test.go, internal/catalogue/brokered_test.go, internal/catalogue/build_system_test.go, internal/catalogue/build_test.go, internal/catalogue/bus_snapshot_test.go, internal/catalogue/busy_test.go, internal/catalogue/catalogue_check_test.go, internal/catalogue/catrust_manifest_test.go, internal/catalogue/co_located_test.go, internal/catalogue/collections_bar_test.go, internal/catalogue/collections_l2_test.go, internal/catalogue/collections_l3_test.go, internal/catalogue/collections_test.go, internal/catalogue/computed_test.go, internal/catalogue/config_rename_test.go, internal/catalogue/config_test.go, internal/catalogue/consumes_start_test.go, internal/catalogue/contributes_test.go, internal/catalogue/contribution_dependencies_test.go, internal/catalogue/core_credentials_test.go, internal/catalogue/data_test.go, internal/catalogue/declaration_test.go, internal/catalogue/delivery_seat_test.go, internal/catalogue/derived_for_consumer_test.go, internal/catalogue/dir_into_test.go, internal/catalogue/domain_test.go, internal/catalogue/endpoint_test.go, internal/catalogue/endpoints_setting_test.go, internal/catalogue/engine_guard_test.go, internal/catalogue/environment_into_integration_test.go, internal/catalogue/environment_into_test.go, internal/catalogue/environment_items_test.go, internal/catalogue/files_test.go, internal/catalogue/filtering_foundation_test.go, internal/catalogue/filtering_test.go, internal/catalogue/foundation_manifests_test.go, internal/catalogue/generated_collision_test.go, internal/catalogue/go_bundle_test.go, internal/catalogue/grant_secret_owner_test.go, internal/catalogue/graphical_session_test.go, internal/catalogue/handed_bound_test.go, internal/catalogue/handed_consumers_test.go, internal/catalogue/handed_merge_test.go, internal/catalogue/handed_providers_test.go, internal/catalogue/handed_pulled_in_test.go, internal/catalogue/handed_secrets_test.go, internal/catalogue/handed_test.go, internal/catalogue/health_test.go, internal/catalogue/holdings_test.go, internal/catalogue/holds_test.go, internal/catalogue/hostname_seat_test.go, internal/catalogue/identity_bound_test.go, internal/catalogue/identity_test.go, internal/catalogue/installation_test.go, internal/catalogue/invokes_test.go, internal/catalogue/issued_credential_test.go, internal/catalogue/issued_outside_test.go, internal/catalogue/jail_problems_test.go, internal/catalogue/jails_into_test.go, internal/catalogue/kept_test.go, internal/catalogue/kinded_test.go, internal/catalogue/licence_test.go, internal/catalogue/localnetwork_test.go, internal/catalogue/login_shell_execute_test.go, internal/catalogue/logs_test.go, internal/catalogue/machine_into_files_test.go, internal/catalogue/machineside_test.go, internal/catalogue/mounts_test.go, internal/catalogue/names_test.go, internal/catalogue/naming_test.go, internal/catalogue/needs_test.go, internal/catalogue/no_subjects_test.go, internal/catalogue/node_resolver_test.go, internal/catalogue/operators_machine_test.go, internal/catalogue/optional_requirements_test.go, internal/catalogue/outside_not_given_test.go, internal/catalogue/own_name_test.go, internal/catalogue/own_secret_owner_test.go, internal/catalogue/own_secret_prompt_test.go, internal/catalogue/own_secret_taken_test.go, internal/catalogue/pin_names_module_test.go, internal/catalogue/placed_paths_test.go, internal/catalogue/placement_test.go, internal/catalogue/port_into_test.go, internal/catalogue/predefined_test.go, internal/catalogue/prepares_test.go, internal/catalogue/print_rehearsal_test.go, internal/catalogue/process_bus_test.go, internal/catalogue/process_env_test.go, internal/catalogue/provided_test.go, internal/catalogue/published_ports_test.go, internal/catalogue/reach_test.go, internal/catalogue/reads_test.go, internal/catalogue/received_on_the_bus_test.go, internal/catalogue/reflects_renamed_test.go, internal/catalogue/replaces_test.go, internal/catalogue/replay166_test.go, internal/catalogue/replay279_test.go, internal/catalogue/replay412_test.go, internal/catalogue/replays_test.go, internal/catalogue/resolve_keeps_references_test.go, internal/catalogue/resolve_loopback_test.go, internal/catalogue/resolve_test.go, internal/catalogue/resolved_path_test.go, internal/catalogue/resolver_file_is_the_uplinks_test.go, internal/catalogue/resolver_manifests_test.go, internal/catalogue/retirement_event_test.go, internal/catalogue/roster_test.go, internal/catalogue/routing_test.go, internal/catalogue/runonce_test.go, internal/catalogue/runtime_gate_test.go, internal/catalogue/runtime_health_test.go, internal/catalogue/runtime_test.go, internal/catalogue/schedule_test.go, internal/catalogue/seat_answers_before_local_test.go, internal/catalogue/seat_contributions_test.go, internal/catalogue/seat_data_test.go, internal/catalogue/seat_dependencies_test.go, internal/catalogue/seat_into_test.go, internal/catalogue/seat_pass_test.go, internal/catalogue/seat_paths_test.go, internal/catalogue/seats_declared_test.go, internal/catalogue/seats_test.go, internal/catalogue/secret_family_test.go, internal/catalogue/secret_restart_test.go, internal/catalogue/secrets_in_environment_test.go, internal/catalogue/secrets_into_files_test.go, internal/catalogue/served_by_setting_test.go, internal/catalogue/served_own_names_test.go, internal/catalogue/setting_defaults_test.go, internal/catalogue/setting_in_owner_test.go, internal/catalogue/setting_in_unit_test.go, internal/catalogue/setting_into_test.go, internal/catalogue/setting_takes_test.go, internal/catalogue/settings_judge_test.go, internal/catalogue/settings_test.go, internal/catalogue/several_contributions_test.go, internal/catalogue/several_secrets_test.go, internal/catalogue/shared_account_test.go, internal/catalogue/shared_credential_test.go, internal/catalogue/shares_test.go, internal/catalogue/short_form_port_protocol_test.go, internal/catalogue/showcase_manifest_test.go, internal/catalogue/ssh_client_test.go, internal/catalogue/state_test.go, internal/catalogue/stream_work_queue_test.go, internal/catalogue/streams_test.go, internal/catalogue/template_test.go, internal/catalogue/templates_dir_test.go, internal/catalogue/terminal_settings_test.go, internal/catalogue/testdata/bars/bar-battery, internal/catalogue/testdata/bars/bar-power-draw, internal/catalogue/testdata/bars/battery.bottom-bar.toml, internal/catalogue/testdata/bars/battery.top-bar.toml, internal/catalogue/testdata/bars/both.bottom-bar.toml, internal/catalogue/testdata/bars/both.top-bar.toml, internal/catalogue/testdata/bars/bottom-bar.toml, internal/catalogue/testdata/bars/none.bottom-bar.toml, internal/catalogue/testdata/bars/none.top-bar.toml, internal/catalogue/testdata/bars/power-meter.bottom-bar.toml, internal/catalogue/testdata/bars/power-meter.top-bar.toml, internal/catalogue/testdata/bars/top-bar.toml, internal/catalogue/testdata/environment/all.posix, internal/catalogue/testdata/environment/all.systemd, internal/catalogue/testdata/environment/zsh.posix, internal/catalogue/testdata/environment/zsh.systemd, internal/catalogue/testdata/influxdb-served-by-setting/grafana-ace.json, internal/catalogue/testdata/influxdb-served-by-setting/grafana-unlayered.json, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.contribution-node-hotkeys-trigger, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.shell-after-wake-normal, internal/catalogue/testdata/l2-moved/items/claude-code.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/mesh-cli.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/powerlevel10k.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-autosuggestions.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-syntax-highlighting.shell-zsh-last, internal/catalogue/testdata/l2-moved/templates/power, internal/catalogue/testdata/l2-moved/templates/triggerhappy, internal/catalogue/testdata/l2-moved/templates/zsh, internal/catalogue/testdata/l2-moved/want/power, internal/catalogue/testdata/l2-moved/want/triggerhappy, internal/catalogue/testdata/l2-moved/want/zsh, internal/catalogue/the_bus_is_never_public_test.go, internal/catalogue/two_consumers_test.go, internal/catalogue/two_resolvers_test.go, internal/catalogue/unconsumed_placeholder_test.go, internal/catalogue/unhealthy_test.go, internal/catalogue/upgrade_test.go, internal/catalogue/uplink_verbs_test.go, internal/catalogue/upstream_file_test.go, internal/catalogue/vault_seat_test.go, internal/catalogue/verbs_test.go, internal/catalogue/version_in_a_path_test.go, internal/catalogue/waits_test.go, internal/catalogue/while_stopped_test.go, internal/catalogue/work_queue_consumer_test.go, internal/catalogue/zones_test.go, internal/facts/facts_test.go, internal/inventory/artifacts_test.go, internal/inventory/asks_lab_test.go, internal/inventory/bindings_test.go, internal/inventory/buildinput_test.go, internal/inventory/busrecords_integration_test.go, internal/inventory/busrecords_test.go, internal/inventory/catalogue_test.go, internal/inventory/chain_drop_test.go, internal/inventory/chain_store_test.go, internal/inventory/collection_test.go, internal/inventory/config_move_test.go, internal/inventory/dependencies_test.go, internal/inventory/forget_test.go, internal/inventory/givable_test.go, internal/inventory/given_test.go, internal/inventory/heldhere_test.go, internal/inventory/holdings_test.go, internal/inventory/issued_test.go, internal/inventory/mirrored_test.go, internal/inventory/older_build_test.go, internal/inventory/operator_test.go, internal/inventory/outside_test.go, internal/inventory/placement_test.go, internal/inventory/placement_words_test.go, internal/inventory/ports_test.go, internal/inventory/predefined_test.go, internal/inventory/provisioning_test.go, internal/inventory/record_mirrors_integration_test.go, internal/inventory/record_mirrors_test.go, internal/inventory/registered_held_integration_test.go, internal/inventory/rootfree_grants_test.go, internal/inventory/seats_test.go, internal/inventory/secret_family_integration_test.go, internal/inventory/secret_family_test.go, internal/inventory/secret_move_test.go, internal/inventory/secrets_test.go, internal/inventory/sent_builds_test.go, internal/inventory/settings_judged_test.go, internal/inventory/state_keyttl_test.go, internal/inventory/stored_silent_file_test.go, internal/inventory/streams_test.go, internal/inventory/template_test.go, internal/inventory/unseen_test.go, internal/inventory/waits_grants_test.go, internal/link/enrol_shape_test.go, internal/link/pull_buckets_test.go, internal/overlay/declaration_test.go, internal/overlay/generator_test.go, internal/overlay/graph_test.go, internal/overlay/opens_test.go, internal/overlay/seat_test.go, internal/ownmanifest/controller_is_a_process_test.go, internal/catalogue/controller_is_a_process_test.go, internal/ownmanifest/doc.go, internal/ownmanifest/foundation_manifests_test.go, internal/ownmanifest/genesis_image_test.go, internal/catalogue/genesis_image_test.go, internal/ownmanifest/genesis_registry_test.go, internal/catalogue/genesis_registry_test.go, internal/ownmanifest/helpers_test.go, internal/ownmanifest/own_module_json_test.go, internal/ownmanifest/public_issuer_test.go, internal/catalogue/public_issuer_test.go, internal/ownmanifest/seats_test.go, internal/recordmirror/mirror_store_test.go, internal/recordmirror/readers_test.go, testdata/beside/CAPTURED, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/adoption.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/artifacts.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/backup_placement.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/bound.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/bound_into_files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/build.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/busy.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/chosen.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/collections.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/config.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/config_move.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/consumer_into_serves.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/consumers.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/core_credentials.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/cron.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/data.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/declaration.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/delivery_seat.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/dir_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/doc.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/environment_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/events.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/filtering.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/graphical_session.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/handed.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/health.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/identity.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/installation.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/jails_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/localnetwork.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/logs.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/machine_into_files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/manifest.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/naming.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/node_resolver.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/optional_requirements.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/placement.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/port_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/predefined.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/process_bus.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/reads.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/recreates.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/resolve.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/roster.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/runtime.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_contributions.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_data.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_dependencies.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_pass.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seat_paths.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seats.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/seats_declared.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/secrets_into_files.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/served_own_names.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/setting_defaults.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/setting_into.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/setting_takes.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/settings.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/shares.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/state.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/streams.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/template.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/terminal_keys.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/unconsumed_placeholder.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/unhealthy.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/unknown_field.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/upgrade.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/verbs.go, vendor/git.novox.be/novox/mesh-sdk/go/catalogue/zones.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/credentials.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/input.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/network.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/node.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/render.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/rendering.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/resolve.go, vendor/git.novox.be/novox/mesh-sdk/go/compose/rest.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/busy.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/cron.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/declaration.go, vendor/git.novox.be/novox/mesh-sdk/go/declaration/health.go, vendor/git.novox.be/novox/mesh-sdk/go/facts/facts.go, vendor/git.novox.be/novox/mesh-sdk/go/facts/scrub.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/declaration.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/doc.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/generator.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/graph.go, vendor/git.novox.be/novox/mesh-sdk/go/overlay/names.go, vendor/git.novox.be/novox/mesh-sdk/go/validate/validate.go Run by the build seat on shanks as `build-1792497046802521118` (`builds --log build-1792497046802521118`). ``` MESH_STORE_EXAMPLE_PORT is "${seat:mesh-store:5432}", a placeholder nothing filled in — ignored; the port in MESH_STORE_EXAMPLE stands. The control plane composing this declaration is older than the manifest naming it: rebuild and push it PASS ok github.com/novox/mesh-controller/internal/store 8.519s testbus_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check PASS ok github.com/novox/mesh-controller/internal/testbus 1.463s PASS ok github.com/novox/mesh-controller/internal/token 1.082s ok github.com/novox/mesh-controller/cmd/mesh-controller 42s (shard 1 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 56s (shard 2 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 375s (shard 3 of 8: 154 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 199s (shard 4 of 8: 154 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 253s (shard 5 of 8: 154 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 162s (shard 6 of 8: 154 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 122s (shard 7 of 8: 154 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 58s (shard 8 of 8: 154 tests) ok github.com/novox/mesh-controller/internal/inventory 25s (shard 1 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 26s (shard 2 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 23s (shard 3 of 4: 91 tests) ok github.com/novox/mesh-controller/internal/inventory 23s (shard 4 of 4: 91 tests) ok github.com/novox/mesh-controller/internal/builder 24s (shard 1 of 4: 57 tests) ok github.com/novox/mesh-controller/internal/builder 32s (shard 2 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/builder 26s (shard 3 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/builder 28s (shard 4 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/link 36s (shard 1 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 24s (shard 2 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 25s (shard 3 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 18s (shard 4 of 4: 52 tests) integration level (the whole suite, tag integration): 2597 tests (3 skipped outside the shards), 412 s nested module modules/build-agent: ok build-agent 1.017s nested module modules/route-proxy: ok route-proxy/cmd/route-provider 1.015s nested modules: 2 s store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.30s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.33s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.31s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.27s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.26s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.19s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (1.98s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.77s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.23s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.30s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.22s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.27s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.25s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.30s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.26s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.28s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.30s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.33s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.30s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.21s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.22s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.21s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.39s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.26s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.36s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.33s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.25s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.30s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.12s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.55s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.33s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.25s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.20s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.20s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.20s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.58s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.33s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.73s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.50s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.28s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.54s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.25s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.19s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.28s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.21s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.24s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.23s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.25s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.32s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.19s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.18s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.29s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.29s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.33s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.33s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.28s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.34s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.32s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.37s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.29s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.55s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.56s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.33s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (68.51s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (25.14s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (35.40s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.37s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.40s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.33s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.32s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.34s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.31s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.30s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.40s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.70s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.71s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.54s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.40s) ./cmd/mesh-controller --- PASS: TestReplay867 (4.52s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.33s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.40s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.22s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.23s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.38s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.47s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.40s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.30s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.22s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.68s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.87s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.44s) ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.10s) ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.01s) ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.75s) ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.18s) ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.37s) ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.32s) ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.30s) ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.41s) ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.26s) ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.66s) ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.18s) ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.66s) ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (1.32s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.13s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.15s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.19s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.16s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.12s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.08s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.10s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.10s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.09s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.17s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.18s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.15s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.07s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.08s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.72s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.16s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.13s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.11s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.10s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.12s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.10s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.24s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.17s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.14s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.10s) ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.11s) ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.08s) ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.14s) ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.09s) ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.08s) ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.09s) ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.09s) ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.07s) ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s) ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.08s) ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.08s) ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.11s) ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.12s) ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.43s) ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.11s) ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.10s) ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.07s) ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.12s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (2.27s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.46s) ```
mesh-tools merged commit b718d24f84 into main 2026-10-20 12:03:23 +00:00
mesh-tools deleted branch feat/r4b-sdk-users 2026-10-20 12:03: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-controller#405