A batch that shares nothing with a running rollout starts beside it (issue 973, step 1) #366

Merged
mesh-tools merged 4 commits from feat/merge-window-on-the-bus into main 2026-10-16 23:11:17 +00:00
Member

Milestone 1 of hq design 47, step 1 (issues 973 and 525). Decisions: ADR 0407 §4, ADR 0306 §3, ADR 0360 §2, ADR 0276 §4.

  • relatedOpen names the open rollout a batch or rollout is related to (a shared repository, module with its dependents, graph edge or group head; unknown moves relate to everything); a rollout on the controller's own path relates to everything.
  • cutBatchesHeld cuts every closed batch related to no started rollout, beside them; a related one is queued behind the rollout it shares something with, and its note says why (BehindWhy). Only waiting rollouts related to the cut batch are folded into it.
  • advanceOnce/startedBeside, letGo and the retry's oneWalkAtATime defer only behind a related started rollout.
  • The failed rollout's search keeps everything waiting, as before.

Tests: pure tests in related_test.go (written first); store-backed TestAnUnrelatedBatchWalksBesideAnOpenWalk, TestARelatedBatchWaitsBehindTheOpenWalk, TestAnOwnPathBatchNeverWalksBeside, listed in testdata/store-tests; five existing store tests made to use related merges.

Reviewed (round 1, approved at 300d3c1b). Follow-ups opened: issues 983, 984.

Milestone 1 of hq design 47, step 1 (issues 973 and 525). Decisions: ADR 0407 §4, ADR 0306 §3, ADR 0360 §2, ADR 0276 §4. - `relatedOpen` names the open rollout a batch or rollout is related to (a shared repository, module with its dependents, graph edge or group head; unknown moves relate to everything); a rollout on the controller's own path relates to everything. - `cutBatchesHeld` cuts every closed batch related to no started rollout, beside them; a related one is queued behind the rollout it shares something with, and its note says why (`BehindWhy`). Only waiting rollouts related to the cut batch are folded into it. - `advanceOnce`/`startedBeside`, `letGo` and the retry's `oneWalkAtATime` defer only behind a related started rollout. - The failed rollout's search keeps everything waiting, as before. Tests: pure tests in `related_test.go` (written first); store-backed `TestAnUnrelatedBatchWalksBesideAnOpenWalk`, `TestARelatedBatchWaitsBehindTheOpenWalk`, `TestAnOwnPathBatchNeverWalksBeside`, listed in `testdata/store-tests`; five existing store tests made to use related merges. Reviewed (round 1, approved at 300d3c1b). Follow-ups opened: issues 983, 984.
mesh-tools added 3 commits 2026-10-16 22:53:27 +00:00
Cut a closed batch beside the open walks it shares nothing with, queue a related one with the reason, fold only related waiting walks (issue 973)
mesh/merge-gate head 300d3c1bf466 merged into trunk 6a62a7e552ea — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 300d3c1bf466 merged into trunk 6a62a7e552ea — fail: its merge-check.sh failed: --- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s)
mesh/delivery superseded: a newer head of the same pull request
300d3c1bf4
mesh-tools added the mesh/ready label 2026-10-16 22:53:35 +00:00
Author
Member

ready at 300d3c1bf4

Reviewed by review-973@shanks: round 1 approved at 300d3c1b: unrelated batches cut beside open rollouts, related ones queued with the reason, own path alone; checks green locally. Marked through mesh-delivery.mark-ready (novox/hq issue 913).

ready at 300d3c1bf466ada06c4523246a48c18d0dbeb93f Reviewed by review-973@shanks: round 1 approved at 300d3c1b: unrelated batches cut beside open rollouts, related ones queued with the reason, own path alone; checks green locally. Marked through mesh-delivery.mark-ready (novox/hq issue 913).
Author
Member

Delivery novox/mesh-controller@6355176fdab0 — delivered since 2026-10-16T23:15:21Z

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

  • tier 0: mesh-controller
  • tier 1: build-agent
  • ace: receives build-agent
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine

Machines

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

Transitions

  • 2026-10-16 23:00 (new) → proposed (announced): novox/mesh-controller#366's head announced
  • 2026-10-16 23:07 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-16 23:07 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-16 23:11 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-16 23:11 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-16 23:15 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@6355176fdab0` — **delivered** since 2026-10-16T23:15:21Z **Delivery plan** — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - ace: receives build-agent - g14: receives build-agent - novox: receives mesh-controller, build-agent - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine **Machines** - mesh-controller on every machine running it: sent - build-agent on every machine running it: sent **Transitions** - 2026-10-16 23:00 (new) → proposed (announced): novox/mesh-controller#366's head announced - 2026-10-16 23:07 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-16 23:07 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-16 23:11 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-16 23:11 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-16 23:15 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 300d3c1b
Judged: head 300d3c1bf466 merged into trunk 6a62a7e552ea; read beside it: mesh-catalog 734a77f5a91a, mesh-controller-main 6a62a7e552ea, mesh-host cd13f7726ef0, 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)
  • mesh/repo-check: FAIL — its merge-check.sh failed: --- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s)

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

  • tier 0: mesh-controller
  • tier 1: build-agent
  • ace: receives build-agent
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
  • read by no module's build: cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_test.go, testdata/store-tests

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

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-16T22:44:37Z

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 2 module(s) in 2 tier(s): build-agent, mesh-controller

notes:
  - cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_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.241s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.043s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.124s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.035s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.267s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.110s
?   	github.com/novox/mesh-controller/internal/beside	[no test files]
ok  	github.com/novox/mesh-controller/internal/broker	54.973s
--- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s)
    ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:18: these assignments cannot be applied:
          - nothing provides "forge-account", wanted by ssh-client
FAIL
FAIL	github.com/novox/mesh-controller/internal/catalogue	20.202s
ok  	github.com/novox/mesh-controller/internal/conditions	4.075s
ok  	github.com/novox/mesh-controller/internal/envfile	1.113s
ok  	github.com/novox/mesh-controller/internal/facts	1.103s
ok  	github.com/novox/mesh-controller/internal/identity	8.644s
ok  	github.com/novox/mesh-controller/internal/lease	10.411s
ok  	github.com/novox/mesh-controller/internal/licences	6.409s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.069s
ok  	github.com/novox/mesh-controller/internal/lint	4.408s
ok  	github.com/novox/mesh-controller/internal/outward	1.177s
ok  	github.com/novox/mesh-controller/internal/overlay	1.138s
ok  	github.com/novox/mesh-controller/internal/recordmirror	16.019s
ok  	github.com/novox/mesh-controller/internal/secrets	2.004s
ok  	github.com/novox/mesh-controller/internal/store	4.043s
ok  	github.com/novox/mesh-controller/internal/testbus	1.310s
ok  	github.com/novox/mesh-controller/internal/token	1.057s
FAIL
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	86s	(shard 1 of 8: 131 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	76s	(shard 2 of 8: 131 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	87s	(shard 3 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	41s	(shard 4 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	39s	(shard 5 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	124s	(shard 6 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	74s	(shard 7 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	30s	(shard 8 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	15s	(shard 1 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	15s	(shard 2 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	13s	(shard 3 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	13s	(shard 4 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/builder	16s	(shard 1 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	19s	(shard 2 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	40s	(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	14s	(shard 1 of 4: 48 tests)
ok  	github.com/novox/mesh-controller/internal/link	17s	(shard 2 of 4: 48 tests)
ok  	github.com/novox/mesh-controller/internal/link	16s	(shard 3 of 4: 47 tests)
ok  	github.com/novox/mesh-controller/internal/link	22s	(shard 4 of 4: 47 tests)
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.25s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.32s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.30s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.27s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.24s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.23s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.02s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.81s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.32s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.21s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.26s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.26s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.23s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.26s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.22s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.25s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.26s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.28s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.41s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.35s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.19s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.22s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.19s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.32s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.27s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.31s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.27s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.26s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.18s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.24s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.10s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.71s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.34s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.21s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.22s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.22s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.20s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.64s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.22s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.28s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.42s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.26s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.20s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.45s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.28s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.25s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.22s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.32s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.24s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.21s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.29s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.29s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.29s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.18s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.15s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.22s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.28s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.54s)
  ./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.27s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.41s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.24s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.74s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.12s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.29s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.17s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (18.56s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (8.47s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (10.50s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.39s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.35s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.27s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.30s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.33s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.24s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.24s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.33s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.63s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.68s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (2.33s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.35s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (4.40s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.51s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.33s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (3.54s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (3.56s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.18s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.69s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.46s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.39s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.21s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.19s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.11s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.12s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.09s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.10s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.15s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.21s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.18s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.12s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.12s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.12s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.09s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.56s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.13s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.14s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.12s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.11s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.19s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.17s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.14s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.10s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.16s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.62s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.58s)
the suite failed: each package or shard that failed is said above with its output
--- what failed, picked from the whole of its output (the whole is in the build's log)
--- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s)
    ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:18: these assignments cannot be applied:
          - nothing provides "forge-account", wanted by ssh-client
FAIL	github.com/novox/mesh-controller/internal/catalogue	20.202s
**Merge check** at `300d3c1b` Judged: head `300d3c1bf466` merged into trunk `6a62a7e552ea`; read beside it: mesh-catalog `734a77f5a91a`, mesh-controller-main `6a62a7e552ea`, mesh-host `cd13f7726ef0`, 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) - `mesh/repo-check`: **FAIL** — its merge-check.sh failed: --- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s) **Delivery plan** — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - ace: receives build-agent - g14: receives build-agent - novox: receives mesh-controller, build-agent - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine - read by no module's build: cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_test.go, testdata/store-tests Run by the build seat on ace as `build-1792191208888890229` (`builds --log build-1792191208888890229`). ``` 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-16T22:44:37Z 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 2 module(s) in 2 tier(s): build-agent, mesh-controller notes: - cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_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.241s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.043s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.124s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.035s ok github.com/novox/mesh-controller/examples/route-proxy 1.267s ok github.com/novox/mesh-controller/internal/artifacts 1.110s ? github.com/novox/mesh-controller/internal/beside [no test files] ok github.com/novox/mesh-controller/internal/broker 54.973s --- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s) ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:18: these assignments cannot be applied: - nothing provides "forge-account", wanted by ssh-client FAIL FAIL github.com/novox/mesh-controller/internal/catalogue 20.202s ok github.com/novox/mesh-controller/internal/conditions 4.075s ok github.com/novox/mesh-controller/internal/envfile 1.113s ok github.com/novox/mesh-controller/internal/facts 1.103s ok github.com/novox/mesh-controller/internal/identity 8.644s ok github.com/novox/mesh-controller/internal/lease 10.411s ok github.com/novox/mesh-controller/internal/licences 6.409s ok github.com/novox/mesh-controller/internal/licences/adapters 1.069s ok github.com/novox/mesh-controller/internal/lint 4.408s ok github.com/novox/mesh-controller/internal/outward 1.177s ok github.com/novox/mesh-controller/internal/overlay 1.138s ok github.com/novox/mesh-controller/internal/recordmirror 16.019s ok github.com/novox/mesh-controller/internal/secrets 2.004s ok github.com/novox/mesh-controller/internal/store 4.043s ok github.com/novox/mesh-controller/internal/testbus 1.310s ok github.com/novox/mesh-controller/internal/token 1.057s FAIL ok github.com/novox/mesh-controller/cmd/mesh-controller 86s (shard 1 of 8: 131 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 76s (shard 2 of 8: 131 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 87s (shard 3 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 41s (shard 4 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 39s (shard 5 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 124s (shard 6 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 74s (shard 7 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 30s (shard 8 of 8: 130 tests) ok github.com/novox/mesh-controller/internal/inventory 15s (shard 1 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 15s (shard 2 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 13s (shard 3 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/inventory 13s (shard 4 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/builder 16s (shard 1 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 19s (shard 2 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 40s (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 14s (shard 1 of 4: 48 tests) ok github.com/novox/mesh-controller/internal/link 17s (shard 2 of 4: 48 tests) ok github.com/novox/mesh-controller/internal/link 16s (shard 3 of 4: 47 tests) ok github.com/novox/mesh-controller/internal/link 22s (shard 4 of 4: 47 tests) store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.25s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.32s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.30s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.27s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.24s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.23s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.02s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.81s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.32s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.21s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.26s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.26s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.23s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.26s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.22s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.25s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.26s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.28s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.41s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.35s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.19s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.22s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.19s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.32s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.27s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.31s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.27s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.21s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.26s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.18s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.24s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.21s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.10s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.71s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.34s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.21s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.22s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.22s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.20s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.64s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.22s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.28s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.42s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.26s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.20s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.45s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.28s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.25s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.22s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.32s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.24s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.21s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.29s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.29s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.29s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.18s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.15s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.22s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.28s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.54s) ./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.27s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.41s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.24s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.74s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.12s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.29s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.17s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (18.56s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (8.47s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (10.50s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.39s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.35s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.27s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.30s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.33s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.24s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.24s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.33s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.63s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.68s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (2.33s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.35s) ./cmd/mesh-controller --- PASS: TestReplay867 (4.40s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.51s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.33s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (3.54s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (3.56s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.18s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.69s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.46s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.39s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.21s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.19s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.11s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.12s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.09s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.10s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.15s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.21s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.18s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.12s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.12s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.12s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.09s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.56s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.13s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.14s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.12s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.11s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.19s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.17s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.14s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.10s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.16s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.62s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.58s) the suite failed: each package or shard that failed is said above with its output --- what failed, picked from the whole of its output (the whole is in the build's log) --- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s) ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:14: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:18: these assignments cannot be applied: - nothing provides "forge-account", wanted by ssh-client FAIL github.com/novox/mesh-controller/internal/catalogue 20.202s ```
Author
Member

mesh-delivery: not merged. This pull request is marked ready at 300d3c1bf4, and its check failed: every machine composes with the change as it did without (4 of 4 compose) (head 300d3c1bf4 merged into trunk 6a62a7e552). A new head, marked ready once reviewed, or a recheck that passes, merges it.

mesh-delivery: **not merged.** This pull request is marked ready at 300d3c1bf466ada06c4523246a48c18d0dbeb93f, and its check failed: every machine composes with the change as it did without (4 of 4 compose) (head 300d3c1bf466 merged into trunk 6a62a7e552ea). A new head, marked ready once reviewed, or a recheck that passes, merges it.
jschoubben added 1 commit 2026-10-16 23:00:42 +00:00
The ssh-client test offers the forge from another node, as the catalogue's ssh-client now requires forge-account (issue 985)
mesh/merge-gate head 6355176fdab0 merged into trunk 6a62a7e552ea — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 6355176fdab0 merged into trunk 6a62a7e552ea — pass: its merge-check.sh passed
mesh/delivery delivered
6355176fda
Author
Member

ready at 6355176fda

Reviewed by review-973@shanks: round 2 approved at 6355176f: only the ssh-client test fix for issue 985 on top of round 1's approved step. Marked through mesh-delivery.mark-ready (novox/hq issue 913).

ready at 6355176fdab00ebe8d82793f5619740212dbf244 Reviewed by review-973@shanks: round 2 approved at 6355176f: only the ssh-client test fix for issue 985 on top of round 1's approved step. Marked through mesh-delivery.mark-ready (novox/hq issue 913).
Author
Member

Merge check at 6355176f
Judged: head 6355176fdab0 merged into trunk 6a62a7e552ea; read beside it: mesh-catalog 734a77f5a91a, mesh-controller-main 6a62a7e552ea, mesh-host cd13f7726ef0, 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)
  • mesh/repo-check: PASS — its merge-check.sh passed

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

  • tier 0: mesh-controller
  • tier 1: build-agent
  • ace: receives build-agent
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
  • read by no module's build: cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_test.go, internal/catalogue/ssh_client_test.go, testdata/store-tests

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

HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
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
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
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-16T22:44:37Z

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 2 module(s) in 2 tier(s): build-agent, mesh-controller

notes:
  - cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_test.go, internal/catalogue/ssh_client_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.222s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.033s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.067s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.027s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.352s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.095s
?   	github.com/novox/mesh-controller/internal/beside	[no test files]
ok  	github.com/novox/mesh-controller/internal/broker	57.869s
ok  	github.com/novox/mesh-controller/internal/catalogue	26.577s
ok  	github.com/novox/mesh-controller/internal/conditions	4.092s
ok  	github.com/novox/mesh-controller/internal/envfile	1.059s
ok  	github.com/novox/mesh-controller/internal/facts	1.048s
ok  	github.com/novox/mesh-controller/internal/identity	13.730s
ok  	github.com/novox/mesh-controller/internal/lease	10.493s
ok  	github.com/novox/mesh-controller/internal/licences	12.118s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.067s
ok  	github.com/novox/mesh-controller/internal/lint	4.638s
ok  	github.com/novox/mesh-controller/internal/outward	1.141s
ok  	github.com/novox/mesh-controller/internal/overlay	1.168s
ok  	github.com/novox/mesh-controller/internal/recordmirror	20.028s
ok  	github.com/novox/mesh-controller/internal/secrets	2.214s
ok  	github.com/novox/mesh-controller/internal/store	7.853s
ok  	github.com/novox/mesh-controller/internal/testbus	1.535s
ok  	github.com/novox/mesh-controller/internal/token	1.081s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	113s	(shard 1 of 8: 131 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	96s	(shard 2 of 8: 131 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	110s	(shard 3 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	58s	(shard 4 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	54s	(shard 5 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	166s	(shard 6 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	94s	(shard 7 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	44s	(shard 8 of 8: 130 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	26s	(shard 1 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	26s	(shard 2 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	23s	(shard 3 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	23s	(shard 4 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/builder	22s	(shard 1 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	26s	(shard 2 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	43s	(shard 3 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	52s	(shard 4 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/link	16s	(shard 1 of 4: 48 tests)
ok  	github.com/novox/mesh-controller/internal/link	24s	(shard 2 of 4: 48 tests)
ok  	github.com/novox/mesh-controller/internal/link	18s	(shard 3 of 4: 47 tests)
ok  	github.com/novox/mesh-controller/internal/link	24s	(shard 4 of 4: 47 tests)
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.35s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.40s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.39s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.34s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.34s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.28s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.04s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (1.00s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.41s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.17s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.30s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.34s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.27s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.31s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.30s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.37s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.41s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.33s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.52s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.46s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.24s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.20s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.23s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.43s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.35s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.38s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.37s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.25s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.33s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.29s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.33s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.36s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.13s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.88s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.45s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.31s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.33s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.30s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.29s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.66s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.25s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.22s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.34s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.48s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (6.84s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.24s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.60s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.34s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.33s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.37s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.26s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.25s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.32s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.28s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.47s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.26s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.23s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.27s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.31s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.35s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.35s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.32s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.34s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.34s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.38s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.28s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (3.22s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.80s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.37s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (32.81s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (11.95s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (13.40s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.59s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.51s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.37s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.36s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.44s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.33s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.37s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.43s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.81s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.96s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.65s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.47s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (5.42s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (5.20s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.43s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (4.80s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (4.63s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.25s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.37s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.31s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.17s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.19s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.12s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.12s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.10s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.13s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.13s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.12s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.13s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.12s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.09s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.12s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.14s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.50s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.11s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.13s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.11s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.13s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.16s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.15s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.11s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.10s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.12s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.57s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.56s)
**Merge check** at `6355176f` Judged: head `6355176fdab0` merged into trunk `6a62a7e552ea`; read beside it: mesh-catalog `734a77f5a91a`, mesh-controller-main `6a62a7e552ea`, mesh-host `cd13f7726ef0`, 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) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - ace: receives build-agent - g14: receives build-agent - novox: receives mesh-controller, build-agent - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine - read by no module's build: cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_test.go, internal/catalogue/ssh_client_test.go, testdata/store-tests Run by the build seat on shanks as `build-1792191645989606872` (`builds --log build-1792191645989606872`). ``` HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus 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 HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus 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-16T22:44:37Z 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 2 module(s) in 2 tier(s): build-agent, mesh-controller notes: - cmd/mesh-controller/batches_test.go, cmd/mesh-controller/beside_test.go, cmd/mesh-controller/lone_merge_test.go, cmd/mesh-controller/related_test.go, internal/catalogue/ssh_client_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.222s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.033s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.067s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.027s ok github.com/novox/mesh-controller/examples/route-proxy 1.352s ok github.com/novox/mesh-controller/internal/artifacts 1.095s ? github.com/novox/mesh-controller/internal/beside [no test files] ok github.com/novox/mesh-controller/internal/broker 57.869s ok github.com/novox/mesh-controller/internal/catalogue 26.577s ok github.com/novox/mesh-controller/internal/conditions 4.092s ok github.com/novox/mesh-controller/internal/envfile 1.059s ok github.com/novox/mesh-controller/internal/facts 1.048s ok github.com/novox/mesh-controller/internal/identity 13.730s ok github.com/novox/mesh-controller/internal/lease 10.493s ok github.com/novox/mesh-controller/internal/licences 12.118s ok github.com/novox/mesh-controller/internal/licences/adapters 1.067s ok github.com/novox/mesh-controller/internal/lint 4.638s ok github.com/novox/mesh-controller/internal/outward 1.141s ok github.com/novox/mesh-controller/internal/overlay 1.168s ok github.com/novox/mesh-controller/internal/recordmirror 20.028s ok github.com/novox/mesh-controller/internal/secrets 2.214s ok github.com/novox/mesh-controller/internal/store 7.853s ok github.com/novox/mesh-controller/internal/testbus 1.535s ok github.com/novox/mesh-controller/internal/token 1.081s ok github.com/novox/mesh-controller/cmd/mesh-controller 113s (shard 1 of 8: 131 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 96s (shard 2 of 8: 131 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 110s (shard 3 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 58s (shard 4 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 54s (shard 5 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 166s (shard 6 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 94s (shard 7 of 8: 130 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 44s (shard 8 of 8: 130 tests) ok github.com/novox/mesh-controller/internal/inventory 26s (shard 1 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 26s (shard 2 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 23s (shard 3 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/inventory 23s (shard 4 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/builder 22s (shard 1 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 26s (shard 2 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 43s (shard 3 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 52s (shard 4 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/link 16s (shard 1 of 4: 48 tests) ok github.com/novox/mesh-controller/internal/link 24s (shard 2 of 4: 48 tests) ok github.com/novox/mesh-controller/internal/link 18s (shard 3 of 4: 47 tests) ok github.com/novox/mesh-controller/internal/link 24s (shard 4 of 4: 47 tests) store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.35s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.40s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.39s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.34s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.34s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.28s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.04s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (1.00s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.41s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.17s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.30s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.34s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.27s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.31s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.30s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.29s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.32s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.37s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.41s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.33s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.52s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.46s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.24s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.20s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.23s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.43s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.35s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.38s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.37s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.25s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.33s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.29s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.33s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.36s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.13s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.88s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.45s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.31s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.33s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.30s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.29s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.66s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.25s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.22s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.34s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.48s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (6.84s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.24s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.60s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.34s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.33s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.37s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.26s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.25s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.32s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.28s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.47s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.26s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.23s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.27s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.31s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.35s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.35s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.32s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.34s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.34s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.38s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.28s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (3.22s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.80s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.37s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (32.81s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (11.95s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (13.40s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.59s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.51s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.37s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.36s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.44s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.33s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.37s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.43s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.81s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.96s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.65s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.47s) ./cmd/mesh-controller --- PASS: TestReplay867 (5.42s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (5.20s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.43s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (4.80s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (4.63s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.25s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.37s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.29s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.31s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.17s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.19s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.12s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.12s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.10s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.13s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.13s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.12s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.13s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.12s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.09s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.12s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.14s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.50s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.11s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.13s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.11s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.13s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.16s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.15s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.11s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.10s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.12s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.57s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.56s) ```
mesh-tools merged commit b0d489a86c into main 2026-10-16 23:11:17 +00:00
mesh-tools deleted branch feat/merge-window-on-the-bus 2026-10-16 23:11:17 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#366