Rollouts advance on events, and builds and checks wait on three work queues (issue 974, design 47 milestone 2) #368

Merged
mesh-tools merged 12 commits from feat/events-and-queues into main 2026-10-17 12:52:34 +00:00
Member

Design 47, milestone 2, one release with mesh-catalog's pull request of the same branch name (ADR 0406). Issue 974.

  • A rollout advances on events: built, sent, the machines' reports, the provisioner's word, a verb's end, the controller's own plan-moved, and taking the lease. The 30 s rollout ticker is gone. Each send puts a key in mesh-controller_rollout-silent (time to live ApplySilentAfter); a report deletes it, and its expiry names the machine silent. Failed steps and unknown walk ends get named one-shot retries.
  • Every plan writer goes through the one hook that says plan-moved, proven by a source test and a store test.
  • Three work queues: delivery builds on the seat stream, then CHECKS_READY, then CHECKS_OTHER, each check stream with one subject per pull request keeping the newest. A ready check is asked with delivery-check ready. A request left on the third stream is dropped when taken if the pull request's key says that head and trunk are judged (pass, warning or fail), or mesh-controller_checks-running says they are being checked. A running check watches its pull request's key in mesh-delivery_pulls and stops as superseded when its head or trunk moves, saying no verdict. The queue reordering (issue 558) and the forge-asking cancel (issue 726) are gone.
  • Acceptance (design 47): test 7 TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt; test 5 TestTwoMergesWithinAMinute… (store-backed, listed in testdata/store-tests).

Reviewed in three rounds by an independent reviewer; approved at this head. Opened along the way: 1012, 1013, 1016.

Design 47, milestone 2, one release with mesh-catalog's pull request of the same branch name (ADR 0406). Issue 974. - A rollout advances on events: built, sent, the machines' reports, the provisioner's word, a verb's end, the controller's own plan-moved, and taking the lease. The 30 s rollout ticker is gone. Each send puts a key in `mesh-controller_rollout-silent` (time to live ApplySilentAfter); a report deletes it, and its expiry names the machine silent. Failed steps and unknown walk ends get named one-shot retries. - Every plan writer goes through the one hook that says plan-moved, proven by a source test and a store test. - Three work queues: delivery builds on the seat stream, then `CHECKS_READY`, then `CHECKS_OTHER`, each check stream with one subject per pull request keeping the newest. A ready check is asked with `delivery-check ready`. A request left on the third stream is dropped when taken if the pull request's key says that head and trunk are judged (pass, warning or fail), or `mesh-controller_checks-running` says they are being checked. A running check watches its pull request's key in `mesh-delivery_pulls` and stops as superseded when its head or trunk moves, saying no verdict. The queue reordering (issue 558) and the forge-asking cancel (issue 726) are gone. - Acceptance (design 47): test 7 `TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt`; test 5 `TestTwoMergesWithinAMinute…` (store-backed, listed in testdata/store-tests). Reviewed in three rounds by an independent reviewer; approved at this head. Opened along the way: 1012, 1013, 1016.
mesh-tools added 12 commits 2026-10-17 12:15:34 +00:00
issue 974: review 2: a check stopped by its key says no verdict, an error judges nothing, and an unacknowledged check goes to a second builder
mesh/merge-gate head 0f21fe7888be merged into trunk 7d80155d1636 beside mesh-catalog#345@94f65ccc — pass: builds build-agent, mesh-controller, route-proxy …
mesh/repo-check head 0f21fe7888be merged into trunk 7d80155d1636 beside mesh-catalog#345@94f65ccc — pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group feat/events-and-queues delivered: every member is delivered
0f21fe7888
Author
Member

Delivery novox/mesh-controller@0f21fe7888be — delivered since 2026-10-17T12:59:36Z

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

Group feat/events-and-queues, in order: novox/mesh-controller@0f21fe7888 → novox/mesh-catalog@94f65cccd9

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
  • gitea on every machine running it: sent
  • mesh-delivery on every machine running it: sent

Transitions

  • 2026-10-17 12:15 (new) → proposed (announced): novox/mesh-controller#368's head announced
  • 2026-10-17 12:21 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-17 12:21 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-17 12:54 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-17 12:54 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-17 12:59 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@0f21fe7888be` — **delivered** since 2026-10-17T12:59:36Z **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 **Group** `feat/events-and-queues`, in order: novox/mesh-controller@0f21fe7888be → novox/mesh-catalog@94f65cccd9c1 - novox/mesh-controller@0f21fe7888be before novox/mesh-catalog@94f65cccd9c1: declared, over built by - composed together: pass — every machine composes with the change as it did without (4 of 4 compose) **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 - gitea on every machine running it: sent - mesh-delivery on every machine running it: sent **Transitions** - 2026-10-17 12:15 (new) → proposed (announced): novox/mesh-controller#368's head announced - 2026-10-17 12:21 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-17 12:21 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-17 12:54 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-17 12:54 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-17 12:59 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 0f21fe78
Judged: head 0f21fe7888be merged into trunk 7d80155d1636; read beside it: mesh-catalog aff6643905a7, mesh-controller-main 7d80155d1636, mesh-host cd13f7726ef0, mesh-tools 7412c5b6c9c5
Siblings read beside it: novox/mesh-catalog#345 52f70f42b749 merged onto a7d526838ab0 (main)

  • 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/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go, testdata/store-tests

Run by the build seat on ace as build-1792239337404877480 (builds --log build-1792239337404877480).

the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-17T12:06:07Z

modules the change moves:
  - mesh-controller (changed)

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 3 module(s) in 2 tier(s): build-agent, mesh-controller, route-proxy

notes:
  - cmd/mesh-controller/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go and testdata/store-tests read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-controller/cmd/mesh-builder	1.119s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.015s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.027s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.018s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.117s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.050s
?   	github.com/novox/mesh-controller/internal/beside	[no test files]
ok  	github.com/novox/mesh-controller/internal/broker	56.816s
ok  	github.com/novox/mesh-controller/internal/catalogue	19.984s
ok  	github.com/novox/mesh-controller/internal/conditions	3.518s
ok  	github.com/novox/mesh-controller/internal/envfile	1.106s
ok  	github.com/novox/mesh-controller/internal/facts	1.042s
ok  	github.com/novox/mesh-controller/internal/identity	7.471s
ok  	github.com/novox/mesh-controller/internal/lease	10.419s
ok  	github.com/novox/mesh-controller/internal/licences	6.645s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.095s
ok  	github.com/novox/mesh-controller/internal/lint	4.115s
ok  	github.com/novox/mesh-controller/internal/outward	1.153s
ok  	github.com/novox/mesh-controller/internal/overlay	1.141s
ok  	github.com/novox/mesh-controller/internal/recordmirror	16.416s
ok  	github.com/novox/mesh-controller/internal/secrets	1.765s
ok  	github.com/novox/mesh-controller/internal/store	4.343s
ok  	github.com/novox/mesh-controller/internal/testbus	1.423s
ok  	github.com/novox/mesh-controller/internal/token	1.072s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	46s	(shard 1 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	95s	(shard 2 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	68s	(shard 3 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	79s	(shard 4 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	53s	(shard 5 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	54s	(shard 6 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	139s	(shard 7 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	83s	(shard 8 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	16s	(shard 1 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	16s	(shard 2 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	14s	(shard 3 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	14s	(shard 4 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/builder	15s	(shard 1 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	18s	(shard 2 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	41s	(shard 3 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	42s	(shard 4 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/link	22s	(shard 1 of 4: 50 tests)
ok  	github.com/novox/mesh-controller/internal/link	18s	(shard 2 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	20s	(shard 3 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	17s	(shard 4 of 4: 49 tests)
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.25s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.28s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.26s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.26s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.23s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.21s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.01s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.83s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.30s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.15s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.24s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.20s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.25s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.23s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.23s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.25s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.30s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.28s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.24s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.41s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.33s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.20s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.19s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.18s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.33s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.27s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.32s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.28s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.24s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.19s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.16s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.21s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.10s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.78s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.21s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.21s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.20s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.55s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.27s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.33s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.34s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.22s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.44s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.27s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.25s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.18s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.26s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.20s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.20s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.23s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.22s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.28s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.20s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.16s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.21s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.24s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.33s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.27s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.23s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.33s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.24s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.46s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.34s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.27s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.16s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (25.48s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (7.36s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (11.43s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.41s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.39s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.31s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.34s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.29s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.24s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.25s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.35s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.61s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.65s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.49s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.34s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (3.72s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (3.57s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.32s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (3.19s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (3.26s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.20s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.31s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.24s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.28s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.37s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.57s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.25s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.91s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.88s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.82s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.14s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.12s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.10s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.09s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.06s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.09s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.12s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.13s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.12s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.08s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.08s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.07s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.13s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.12s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.39s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.15s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.15s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.12s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.10s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.18s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.18s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.10s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.07s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.11s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.51s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.53s)
**Merge check** at `0f21fe78` Judged: head `0f21fe7888be` merged into trunk `7d80155d1636`; read beside it: mesh-catalog `aff6643905a7`, mesh-controller-main `7d80155d1636`, mesh-host `cd13f7726ef0`, mesh-tools `7412c5b6c9c5` Siblings read beside it: novox/mesh-catalog#345 `52f70f42b749` merged onto `a7d526838ab0` (main) - `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/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go, testdata/store-tests Run by the build seat on ace as `build-1792239337404877480` (`builds --log build-1792239337404877480`). ``` the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-17T12:06:07Z modules the change moves: - mesh-controller (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 3 module(s) in 2 tier(s): build-agent, mesh-controller, route-proxy notes: - cmd/mesh-controller/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go and testdata/store-tests read by no module's build, and rebuild nothing (issue 280) --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-controller/cmd/mesh-builder 1.119s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.015s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.027s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.018s ok github.com/novox/mesh-controller/examples/route-proxy 1.117s ok github.com/novox/mesh-controller/internal/artifacts 1.050s ? github.com/novox/mesh-controller/internal/beside [no test files] ok github.com/novox/mesh-controller/internal/broker 56.816s ok github.com/novox/mesh-controller/internal/catalogue 19.984s ok github.com/novox/mesh-controller/internal/conditions 3.518s ok github.com/novox/mesh-controller/internal/envfile 1.106s ok github.com/novox/mesh-controller/internal/facts 1.042s ok github.com/novox/mesh-controller/internal/identity 7.471s ok github.com/novox/mesh-controller/internal/lease 10.419s ok github.com/novox/mesh-controller/internal/licences 6.645s ok github.com/novox/mesh-controller/internal/licences/adapters 1.095s ok github.com/novox/mesh-controller/internal/lint 4.115s ok github.com/novox/mesh-controller/internal/outward 1.153s ok github.com/novox/mesh-controller/internal/overlay 1.141s ok github.com/novox/mesh-controller/internal/recordmirror 16.416s ok github.com/novox/mesh-controller/internal/secrets 1.765s ok github.com/novox/mesh-controller/internal/store 4.343s ok github.com/novox/mesh-controller/internal/testbus 1.423s ok github.com/novox/mesh-controller/internal/token 1.072s ok github.com/novox/mesh-controller/cmd/mesh-controller 46s (shard 1 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 95s (shard 2 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 68s (shard 3 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 79s (shard 4 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 53s (shard 5 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 54s (shard 6 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 139s (shard 7 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 83s (shard 8 of 8: 133 tests) ok github.com/novox/mesh-controller/internal/inventory 16s (shard 1 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 16s (shard 2 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 14s (shard 3 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/inventory 14s (shard 4 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/builder 15s (shard 1 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 18s (shard 2 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 41s (shard 3 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 42s (shard 4 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/link 22s (shard 1 of 4: 50 tests) ok github.com/novox/mesh-controller/internal/link 18s (shard 2 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 20s (shard 3 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 17s (shard 4 of 4: 49 tests) store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.25s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.28s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.26s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.26s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.23s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.21s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.01s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.83s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.30s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.15s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.24s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.20s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.25s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.23s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.23s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.25s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.30s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.28s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.24s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.41s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.33s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.20s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.19s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.18s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.33s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.27s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.32s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.28s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.21s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.24s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.19s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.16s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.21s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.10s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.78s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.32s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.21s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.21s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.20s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.55s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.27s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.33s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.34s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.22s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.44s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.27s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.25s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.18s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.26s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.20s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.20s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.23s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.22s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.28s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.20s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.16s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.21s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.24s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.33s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.27s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.23s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.29s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.28s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.33s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.24s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.46s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.34s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.27s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.16s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (25.48s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (7.36s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (11.43s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.41s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.39s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.31s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.34s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.29s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.24s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.25s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.35s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.61s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.65s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.49s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.34s) ./cmd/mesh-controller --- PASS: TestReplay867 (3.72s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (3.57s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.32s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (3.19s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (3.26s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.20s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.31s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.24s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.28s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.37s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.57s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.25s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.91s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.88s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.82s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.14s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.12s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.10s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.09s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.06s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.09s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.12s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.13s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.12s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.08s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.08s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.07s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.13s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.12s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.39s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.15s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.15s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.12s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.10s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.18s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.18s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.10s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.07s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.11s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.51s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.53s) ```
mesh-tools added the mesh/ready label 2026-10-17 12:44:55 +00:00
Author
Member

ready at 0f21fe7888

Reviewed by review-events@shanks: Milestone 2 of design 47 (issue 974, ADR 0406): approved after three review rounds; both checks green incl. acceptance 5 and 7. Marked through mesh-delivery.mark-ready (novox/hq issue 913).

ready at 0f21fe7888bed2ffaa8523120746d53a8637980e Reviewed by review-events@shanks: Milestone 2 of design 47 (issue 974, ADR 0406): approved after three review rounds; both checks green incl. acceptance 5 and 7. Marked through mesh-delivery.mark-ready (novox/hq issue 913).
Author
Member

Merge check at 0f21fe78
Judged: head 0f21fe7888be merged into trunk 7d80155d1636; read beside it: mesh-catalog 344935e313e4, mesh-controller-main 7d80155d1636, mesh-host cd13f7726ef0, mesh-tools 7412c5b6c9c5
Siblings read beside it: novox/mesh-catalog#345 94f65cccd9c1 merged onto a7d526838ab0 (main)

  • 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/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go, testdata/store-tests

Run by the build seat on ace as build-1792241225146243278 (builds --log build-1792241225146243278).

the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-17T12:06:07Z

modules the change moves:
  - mesh-controller (changed)

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 3 module(s) in 2 tier(s): build-agent, mesh-controller, route-proxy

notes:
  - cmd/mesh-controller/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go and testdata/store-tests read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-controller/cmd/mesh-builder	1.093s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.017s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.022s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.016s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.101s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.044s
?   	github.com/novox/mesh-controller/internal/beside	[no test files]
ok  	github.com/novox/mesh-controller/internal/broker	56.205s
ok  	github.com/novox/mesh-controller/internal/catalogue	23.884s
ok  	github.com/novox/mesh-controller/internal/conditions	2.642s
ok  	github.com/novox/mesh-controller/internal/envfile	1.027s
ok  	github.com/novox/mesh-controller/internal/facts	1.036s
ok  	github.com/novox/mesh-controller/internal/identity	6.464s
ok  	github.com/novox/mesh-controller/internal/lease	10.186s
ok  	github.com/novox/mesh-controller/internal/licences	4.682s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.027s
ok  	github.com/novox/mesh-controller/internal/lint	2.677s
ok  	github.com/novox/mesh-controller/internal/outward	1.060s
ok  	github.com/novox/mesh-controller/internal/overlay	1.046s
ok  	github.com/novox/mesh-controller/internal/recordmirror	17.622s
ok  	github.com/novox/mesh-controller/internal/secrets	1.422s
ok  	github.com/novox/mesh-controller/internal/store	3.429s
ok  	github.com/novox/mesh-controller/internal/testbus	1.227s
ok  	github.com/novox/mesh-controller/internal/token	1.030s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	52s	(shard 1 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	101s	(shard 2 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	74s	(shard 3 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	83s	(shard 4 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	57s	(shard 5 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	60s	(shard 6 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	143s	(shard 7 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	86s	(shard 8 of 8: 133 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	24s	(shard 1 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	23s	(shard 2 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	22s	(shard 3 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	22s	(shard 4 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/builder	21s	(shard 1 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	25s	(shard 2 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	34s	(shard 3 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	43s	(shard 4 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/link	25s	(shard 1 of 4: 50 tests)
ok  	github.com/novox/mesh-controller/internal/link	23s	(shard 2 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	23s	(shard 3 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	21s	(shard 4 of 4: 49 tests)
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.27s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.27s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.24s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.23s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.38s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (1.98s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.72s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.28s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.35s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.24s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.24s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.20s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.26s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.21s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.24s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.21s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.21s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.23s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.24s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.22s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.33s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.31s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.17s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.22s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.17s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.31s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.24s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.27s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.25s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.29s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.18s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.14s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.16s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.09s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.53s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.18s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.19s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.18s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.17s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.49s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.16s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.16s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.22s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.46s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (4.65s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.16s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.31s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.24s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.19s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.24s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.17s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.19s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.22s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.31s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.26s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.15s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.16s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.19s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.23s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.25s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.24s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.21s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.26s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.26s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.29s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.22s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.01s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.37s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.24s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.15s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (29.90s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (8.23s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (11.57s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.42s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.41s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.29s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.30s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.23s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.22s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.33s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.58s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.63s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.44s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.30s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (3.36s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (3.58s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.32s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (2.98s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (3.05s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.17s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.43s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.31s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.28s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.35s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.54s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.19s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.62s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.81s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.22s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.22s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.24s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.13s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.13s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.11s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.27s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.19s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.15s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.15s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.15s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.11s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.23s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.26s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.54s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.14s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.55s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.18s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.21s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.21s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.25s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.19s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.12s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.18s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.12s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.22s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.56s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.64s)
**Merge check** at `0f21fe78` Judged: head `0f21fe7888be` merged into trunk `7d80155d1636`; read beside it: mesh-catalog `344935e313e4`, mesh-controller-main `7d80155d1636`, mesh-host `cd13f7726ef0`, mesh-tools `7412c5b6c9c5` Siblings read beside it: novox/mesh-catalog#345 `94f65cccd9c1` merged onto `a7d526838ab0` (main) - `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/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go, testdata/store-tests Run by the build seat on ace as `build-1792241225146243278` (`builds --log build-1792241225146243278`). ``` the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-17T12:06:07Z modules the change moves: - mesh-controller (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 3 module(s) in 2 tier(s): build-agent, mesh-controller, route-proxy notes: - cmd/mesh-controller/checks_queue_test.go, cmd/mesh-controller/checks_test.go, cmd/mesh-controller/plan_looks_test.go, cmd/mesh-controller/plan_moved_every_writer_test.go, cmd/mesh-controller/rollout_events_test.go, cmd/mesh-controller/rollout_silent_bus_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/verb_looks_test.go, internal/broker/checks_test.go, internal/broker/controller_buckets_test.go, internal/broker/states_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/builds_nats_test.go, internal/link/checks_nats_test.go, internal/link/queue_order_test.go, internal/link/try_test.go and testdata/store-tests read by no module's build, and rebuild nothing (issue 280) --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-controller/cmd/mesh-builder 1.093s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.017s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.022s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.016s ok github.com/novox/mesh-controller/examples/route-proxy 1.101s ok github.com/novox/mesh-controller/internal/artifacts 1.044s ? github.com/novox/mesh-controller/internal/beside [no test files] ok github.com/novox/mesh-controller/internal/broker 56.205s ok github.com/novox/mesh-controller/internal/catalogue 23.884s ok github.com/novox/mesh-controller/internal/conditions 2.642s ok github.com/novox/mesh-controller/internal/envfile 1.027s ok github.com/novox/mesh-controller/internal/facts 1.036s ok github.com/novox/mesh-controller/internal/identity 6.464s ok github.com/novox/mesh-controller/internal/lease 10.186s ok github.com/novox/mesh-controller/internal/licences 4.682s ok github.com/novox/mesh-controller/internal/licences/adapters 1.027s ok github.com/novox/mesh-controller/internal/lint 2.677s ok github.com/novox/mesh-controller/internal/outward 1.060s ok github.com/novox/mesh-controller/internal/overlay 1.046s ok github.com/novox/mesh-controller/internal/recordmirror 17.622s ok github.com/novox/mesh-controller/internal/secrets 1.422s ok github.com/novox/mesh-controller/internal/store 3.429s ok github.com/novox/mesh-controller/internal/testbus 1.227s ok github.com/novox/mesh-controller/internal/token 1.030s ok github.com/novox/mesh-controller/cmd/mesh-controller 52s (shard 1 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 101s (shard 2 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 74s (shard 3 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 83s (shard 4 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 57s (shard 5 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 60s (shard 6 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 143s (shard 7 of 8: 133 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 86s (shard 8 of 8: 133 tests) ok github.com/novox/mesh-controller/internal/inventory 24s (shard 1 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 23s (shard 2 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 22s (shard 3 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/inventory 22s (shard 4 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/builder 21s (shard 1 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 25s (shard 2 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 34s (shard 3 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 43s (shard 4 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/link 25s (shard 1 of 4: 50 tests) ok github.com/novox/mesh-controller/internal/link 23s (shard 2 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 23s (shard 3 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 21s (shard 4 of 4: 49 tests) store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.27s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.27s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.24s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.23s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.38s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (1.98s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.72s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.28s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.35s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.24s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.24s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.20s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.26s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.21s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.24s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.21s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.21s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.23s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.24s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.22s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.33s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.31s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.17s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.22s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.17s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.31s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.24s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.27s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.25s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.29s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.21s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.18s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.14s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.16s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.09s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.53s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.29s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.18s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.19s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.18s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.17s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.49s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.16s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.16s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.22s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.46s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (4.65s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.16s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.31s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.24s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.19s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.24s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.17s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.19s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.22s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.31s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.26s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.15s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.16s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.19s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.23s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.25s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.24s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.21s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.26s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.26s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.29s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.22s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.01s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.37s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.24s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.15s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (29.90s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (8.23s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (11.57s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.42s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.41s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.32s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.29s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.30s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.23s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.22s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.33s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.58s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.63s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.44s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.30s) ./cmd/mesh-controller --- PASS: TestReplay867 (3.36s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (3.58s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.32s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (2.98s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (3.05s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.17s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.43s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.31s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.28s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.35s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.54s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.19s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.62s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.81s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.22s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.22s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.24s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.13s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.13s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.11s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.27s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.19s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.15s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.15s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.15s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.11s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.23s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.26s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.54s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.14s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.55s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.18s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.21s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.21s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.25s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.19s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.12s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.18s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.12s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.22s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.56s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.64s) ```
mesh-tools merged commit b8c810a349 into main 2026-10-17 12:52:34 +00:00
mesh-tools deleted branch feat/events-and-queues 2026-10-17 12:52:35 +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#368