Wait out a bus that briefly refuses a build's ask instead of failing the delivery (issue 1334) #406

Merged
mesh-tools merged 2 commits from fix/1334-a-bus-reload-fails-a-tier-2 into main 2026-10-20 13:55:35 +00:00
Member

Issue 1334 (notes 3 and 4 hold the diagnosis). A send gives modules new credentials, and the bus reloads its user list; for a few seconds its JetStream API refuses ('no responders', 'jetstream not enabled'). askModule failed the module and the whole delivery plan on any ask error, so R3e's delivery failed 36 builds at once on 2026-10-20 11:36 UTC.

  • ask_bus_wait.go: busDidNotAnswer (ErrNoChain, ErrNoResponders, both ErrJetStreamNotEnabled, and their text where the opener wraps with %v) and waitForTheBus. A refused module stays unasked with the note 'the bus did not answer', and is asked again at the next look; past 10 minutes it fails with 'the bus did not answer an ask for 10m0s (since …): …'. A module's own fault still fails at once.
  • release_plan.go: advanceHeld reports a failed look while a plan has a bus-waiting module, so the looker's retry (5 s doubling to 1 min) comes back even when no other event comes; nothing is saved while nothing changed. BusWaitFrom is cleared on an ask and on a failure.
  • plan_retry.go: Retry and rebuild say a bus wait in words; a Retry whose modules all wait for the bus says 'nothing asked yet' (half of issue 1403, 97062250).
  • internal/inventory/plans.go: PlanModule.BusWaitFrom (JSON, no column, no migration).

Tests (seen failing first where they can run without a store): ask_bus_moment_test.go, retry_words_test.go and the integration tests ask_bus_look_integration_test.go.
Checks before this pull request: try build-1792498234624855268 at b76cbf70 on main b718d24f passed (1441 unit tests in 2.61 s, 2603 integration tests).
Moved onto main after mesh-controller #405 as one commit; it differs from the reviewed fd20b40d by the test's catalogue import only.
Its first merge check (12:59 UTC) failed only on TestTheCataloguesDerivedSubjectsMeet, a catalogue fault fixed by mesh-catalog #382; the recheck of 13:32 UTC was lost (issue 1340).
Opened along the way: 1402, 1403, 1408.

Reviewed-by: review-1334@shanks at 970622505b

Issues: 1334, 1403

Issue 1334 (notes 3 and 4 hold the diagnosis). A send gives modules new credentials, and the bus reloads its user list; for a few seconds its JetStream API refuses ('no responders', 'jetstream not enabled'). askModule failed the module and the whole delivery plan on any ask error, so R3e's delivery failed 36 builds at once on 2026-10-20 11:36 UTC. - ask_bus_wait.go: busDidNotAnswer (ErrNoChain, ErrNoResponders, both ErrJetStreamNotEnabled, and their text where the opener wraps with %v) and waitForTheBus. A refused module stays unasked with the note 'the bus did not answer', and is asked again at the next look; past 10 minutes it fails with 'the bus did not answer an ask for 10m0s (since …): …'. A module's own fault still fails at once. - release_plan.go: advanceHeld reports a failed look while a plan has a bus-waiting module, so the looker's retry (5 s doubling to 1 min) comes back even when no other event comes; nothing is saved while nothing changed. BusWaitFrom is cleared on an ask and on a failure. - plan_retry.go: Retry and rebuild say a bus wait in words; a Retry whose modules all wait for the bus says 'nothing asked yet' (half of issue 1403, 97062250). - internal/inventory/plans.go: PlanModule.BusWaitFrom (JSON, no column, no migration). Tests (seen failing first where they can run without a store): ask_bus_moment_test.go, retry_words_test.go and the integration tests ask_bus_look_integration_test.go. Checks before this pull request: try build-1792498234624855268 at b76cbf70 on main b718d24f passed (1441 unit tests in 2.61 s, 2603 integration tests). Moved onto main after mesh-controller #405 as one commit; it differs from the reviewed fd20b40d by the test's catalogue import only. Its first merge check (12:59 UTC) failed only on TestTheCataloguesDerivedSubjectsMeet, a catalogue fault fixed by mesh-catalog #382; the recheck of 13:32 UTC was lost (issue 1340). Opened along the way: 1402, 1403, 1408. Reviewed-by: review-1334@shanks at 970622505b30a475c59ccb52c3bebb6f3aa11253 Issues: 1334, 1403
mesh-tools added 1 commit 2026-10-20 12:48:01 +00:00
Ask a module again at the next look when the bus did not answer, and fail the plan only after ten minutes (issue 1334)
mesh/merge-gate checking again: its repo-check failed at 12:59 UTC only on TestTheCataloguesDerivedSubjectsMeet, a catalogue fault (mesh-issues' dead subsc…
mesh/repo-check checking again: its repo-check failed at 12:59 UTC only on TestTheCataloguesDerivedSubjectsMeet, a catalogue fault (mesh-issues' dead subsc…
mesh/delivery superseded: a newer head of the same pull request
b76cbf708a
Author
Member

Delivery novox/mesh-controller@970622505b30 — delivered since 2026-10-20T13:58:46Z

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-20 13:44 (new) → proposed (announced): novox/mesh-controller#406's head announced
  • 2026-10-20 13:54 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-20 13:54 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-20 13:55 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-20 13:55 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
  • 2026-10-20 13:58 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@970622505b30` — **delivered** since 2026-10-20T13:58:46Z **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-20 13:44 (new) → proposed (announced): novox/mesh-controller#406's head announced - 2026-10-20 13:54 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-20 13:54 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-20 13:55 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-20 13:55 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit - 2026-10-20 13:58 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 b76cbf70
Judged: head b76cbf708ad3 merged into trunk b718d24f84b9; read beside it: mesh-catalog db32f8ac5632, mesh-controller-main b718d24f84b9, mesh-host cdcba9ca7375, mesh-tools 7412c5b6c9c5

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller)
  • mesh/repo-check: FAIL — its merge-check.sh failed: --- FAIL: TestTheCataloguesDerivedSubjectsMeet (0.01s); and TestTheCataloguesDerivedSubjectsMeet

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/ask_bus_look_integration_test.go, cmd/mesh-controller/ask_bus_moment_test.go

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

ok  	github.com/novox/mesh-controller/internal/store	4.304s
    testbus_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
PASS
ok  	github.com/novox/mesh-controller/internal/testbus	1.370s
PASS
ok  	github.com/novox/mesh-controller/internal/token	1.046s
FAIL
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	380s	(shard 1 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	205s	(shard 2 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	260s	(shard 3 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	168s	(shard 4 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	127s	(shard 5 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	59s	(shard 6 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	40s	(shard 7 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	57s	(shard 8 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	17s	(shard 1 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	18s	(shard 2 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	14s	(shard 3 of 4: 91 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	16s	(shard 4 of 4: 91 tests)
ok  	github.com/novox/mesh-controller/internal/builder	16s	(shard 1 of 4: 57 tests)
ok  	github.com/novox/mesh-controller/internal/builder	29s	(shard 2 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/builder	18s	(shard 3 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/builder	21s	(shard 4 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/link	26s	(shard 1 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	19s	(shard 2 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	20s	(shard 3 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	12s	(shard 4 of 4: 52 tests)
integration level (the whole suite, tag integration): 2603 tests (3 skipped outside the shards), 414 s
nested module modules/build-agent:
ok  	build-agent	1.016s
nested module modules/route-proxy:
ok  	route-proxy/cmd/route-provider	1.015s
nested modules: 3 s
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.34s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.31s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.32s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.27s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.27s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.20s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.04s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.86s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.25s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.16s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.31s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.23s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.24s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.25s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.34s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.27s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.34s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.30s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.25s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.21s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.34s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.24s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.34s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.33s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.25s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.29s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.20s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.24s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.22s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.13s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.55s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.35s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.26s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.22s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.21s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.21s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.63s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.19s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.36s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.53s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.52s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.29s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.51s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.26s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.25s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.21s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.31s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.20s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.20s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.25s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.22s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.50s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.20s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.17s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.28s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.31s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.34s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.37s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.30s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.35s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.41s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.31s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.52s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.87s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.31s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (65.93s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (28.01s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (37.77s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.37s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.42s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.34s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.31s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.61s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.29s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.28s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.37s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.67s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.72s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.53s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.44s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (4.74s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (5.40s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.46s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.22s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.22s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.26s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.24s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.41s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.30s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.23s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.94s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.93s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.23s)
  ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.00s)
  ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.00s)
  ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.76s)
  ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.19s)
  ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.32s)
  ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.22s)
  ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.28s)
  ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.36s)
  ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.26s)
  ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.42s)
  ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.15s)
  ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.62s)
  ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (0.69s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.10s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.10s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.16s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.15s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.11s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.07s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.07s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.08s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.08s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.15s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.16s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.14s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.10s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.08s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.54s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.09s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.11s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.08s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.09s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.11s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.08s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.14s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.13s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.16s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.23s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.10s)
  ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.08s)
  ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.08s)
  ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.14s)
  ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.16s)
  ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.07s)
  ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.09s)
  ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.09s)
  ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.08s)
  ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s)
  ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.07s)
  ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.10s)
  ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.08s)
  ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.10s)
  ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.42s)
  ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.11s)
  ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.08s)
  ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.10s)
  ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.08s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (2.34s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.47s)
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: TestTheCataloguesDerivedSubjectsMeet (0.01s)
    genesis_template_test.go:29: judged against /var/lib/build-agent/workspace/check/mesh-host as cloned beside this check
    genesis_template_test.go:38: the installer's user list does not let the controller publish $JS.ACK.EVENTS.controller-merges.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, which is when it acknowledges a merge (ADR 0407 decision 3, issue 973)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_builds.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_checks-running.>, but that falls back rather than refuses: refused: the controller asserts this bucket through the API and writes none of its keys — the build seat's holders do (ADR 0406 §3, issue 974)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_delivery-merges.>, but that falls back rather than refuses: refused: the controller then keeps no merge mesh-delivery announced, so the build of a moved module is refused as it is without the operator's Approve — failing closed (ADR 0420 §7, issue 1025)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_merge-window.>, but that falls back rather than refuses: refused: the controller closes a batch's window by a timer of its own for that batch, as the window setting says (ADR 0407 decision 1, issue 973)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollout-silent.>, but that falls back rather than refuses: refused: the controller looks at the plans when a wait for a machine's report is up, by a timer of its own for that wait (ADR 0406 §5, issue 974)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollouts.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089)
    genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.mesh-controller.event.sent, but that falls back rather than refuses: refused: the controller says a tier sent to a machine only for outsiders, and a send that could not be said is printed and goes on (ADR 0406 §5, issue 974)
    genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.node-build-agent.check.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and a check asked before that is asked again by the next announcement of its head (ADR 0406 §3, issue 974)
    genesis_template_test.go:102: the installer's user list does not let the controller publish mesh.seat.operator-channel.tool.tell, but that falls back rather than refuses: refused: the controller raises the secret-given condition as before (ADR 0380 §9)
FAIL	github.com/novox/mesh-controller/internal/broker	0.406s
--- FAIL: TestTheCataloguesDerivedSubjectsMeet (0.07s)
    genesis_template_test.go:29: judged against /var/lib/build-agent/workspace/check/mesh-host as cloned beside this check
    genesis_template_test.go:38: the installer's user list does not let the controller publish $JS.ACK.EVENTS.controller-merges.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, which is when it acknowledges a merge (ADR 0407 decision 3, issue 973)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_builds.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_checks-running.>, but that falls back rather than refuses: refused: the controller asserts this bucket through the API and writes none of its keys — the build seat's holders do (ADR 0406 §3, issue 974)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_delivery-merges.>, but that falls back rather than refuses: refused: the controller then keeps no merge mesh-delivery announced, so the build of a moved module is refused as it is without the operator's Approve — failing closed (ADR 0420 §7, issue 1025)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_merge-window.>, but that falls back rather than refuses: refused: the controller closes a batch's window by a timer of its own for that batch, as the window setting says (ADR 0407 decision 1, issue 973)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollout-silent.>, but that falls back rather than refuses: refused: the controller looks at the plans when a wait for a machine's report is up, by a timer of its own for that wait (ADR 0406 §5, issue 974)
    genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollouts.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089)
    genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.mesh-controller.event.sent, but that falls back rather than refuses: refused: the controller says a tier sent to a machine only for outsiders, and a send that could not be said is printed and goes on (ADR 0406 §5, issue 974)
    genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.node-build-agent.check.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and a check asked before that is asked again by the next announcement of its head (ADR 0406 §3, issue 974)
    genesis_template_test.go:102: the installer's user list does not let the controller publish mesh.seat.operator-channel.tool.tell, but that falls back rather than refuses: refused: the controller raises the secret-given condition as before (ADR 0380 §9)
    snapshot_live_test.go:30: MESH_TEST_DOCKER is not 1: this starts a throwaway nats container
FAIL	github.com/novox/mesh-controller/internal/broker	59.635s
**Merge check** at `b76cbf70` Judged: head `b76cbf708ad3` merged into trunk `b718d24f84b9`; read beside it: mesh-catalog `db32f8ac5632`, mesh-controller-main `b718d24f84b9`, mesh-host `cdcba9ca7375`, mesh-tools `7412c5b6c9c5` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller) - `mesh/repo-check`: **FAIL** — its merge-check.sh failed: --- FAIL: TestTheCataloguesDerivedSubjectsMeet (0.01s); and TestTheCataloguesDerivedSubjectsMeet **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/ask_bus_look_integration_test.go, cmd/mesh-controller/ask_bus_moment_test.go Run by the build seat on shanks as `build-1792500484240390723` (`builds --log build-1792500484240390723`). ``` ok github.com/novox/mesh-controller/internal/store 4.304s testbus_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check PASS ok github.com/novox/mesh-controller/internal/testbus 1.370s PASS ok github.com/novox/mesh-controller/internal/token 1.046s FAIL ok github.com/novox/mesh-controller/cmd/mesh-controller 380s (shard 1 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 205s (shard 2 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 260s (shard 3 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 168s (shard 4 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 127s (shard 5 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 59s (shard 6 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 40s (shard 7 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 57s (shard 8 of 8: 155 tests) ok github.com/novox/mesh-controller/internal/inventory 17s (shard 1 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 18s (shard 2 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 14s (shard 3 of 4: 91 tests) ok github.com/novox/mesh-controller/internal/inventory 16s (shard 4 of 4: 91 tests) ok github.com/novox/mesh-controller/internal/builder 16s (shard 1 of 4: 57 tests) ok github.com/novox/mesh-controller/internal/builder 29s (shard 2 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/builder 18s (shard 3 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/builder 21s (shard 4 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/link 26s (shard 1 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 19s (shard 2 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 20s (shard 3 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 12s (shard 4 of 4: 52 tests) integration level (the whole suite, tag integration): 2603 tests (3 skipped outside the shards), 414 s nested module modules/build-agent: ok build-agent 1.016s nested module modules/route-proxy: ok route-proxy/cmd/route-provider 1.015s nested modules: 3 s store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.34s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.31s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.32s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.27s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.27s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.20s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.04s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.86s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.25s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.16s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.31s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.23s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.24s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.25s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.34s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.28s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.27s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.34s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.30s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.25s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.21s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.21s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.34s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.24s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.34s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.33s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.25s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.29s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.20s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.24s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.22s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.13s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.55s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.35s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.26s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.22s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.21s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.21s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.63s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.19s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.36s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.53s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.52s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.29s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.51s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.26s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.25s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.21s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.31s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.20s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.20s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.25s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.22s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.50s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.20s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.17s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.28s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.31s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.34s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.37s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.30s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.35s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.32s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.41s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.31s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.52s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.87s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.31s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (65.93s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (28.01s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (37.77s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.37s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.42s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.34s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.31s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.61s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.29s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.28s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.37s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.67s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.72s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.53s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.44s) ./cmd/mesh-controller --- PASS: TestReplay867 (4.74s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (5.40s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.46s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.22s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.22s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.26s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.24s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.41s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.30s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.23s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.94s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.93s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.23s) ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.00s) ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.00s) ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.76s) ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.19s) ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.32s) ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.22s) ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.28s) ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.36s) ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.26s) ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.42s) ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.15s) ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.62s) ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (0.69s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.10s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.10s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.16s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.15s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.11s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.07s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.07s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.08s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.08s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.15s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.16s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.14s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.10s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.08s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.54s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.09s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.11s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.08s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.09s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.11s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.08s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.14s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.13s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.16s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.23s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.10s) ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.08s) ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.08s) ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.14s) ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.16s) ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.07s) ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.09s) ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.09s) ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.08s) ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s) ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.07s) ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.10s) ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.08s) ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.10s) ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.42s) ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.11s) ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.08s) ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.10s) ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.08s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (2.34s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.47s) 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: TestTheCataloguesDerivedSubjectsMeet (0.01s) genesis_template_test.go:29: judged against /var/lib/build-agent/workspace/check/mesh-host as cloned beside this check genesis_template_test.go:38: the installer's user list does not let the controller publish $JS.ACK.EVENTS.controller-merges.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, which is when it acknowledges a merge (ADR 0407 decision 3, issue 973) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_builds.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_checks-running.>, but that falls back rather than refuses: refused: the controller asserts this bucket through the API and writes none of its keys — the build seat's holders do (ADR 0406 §3, issue 974) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_delivery-merges.>, but that falls back rather than refuses: refused: the controller then keeps no merge mesh-delivery announced, so the build of a moved module is refused as it is without the operator's Approve — failing closed (ADR 0420 §7, issue 1025) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_merge-window.>, but that falls back rather than refuses: refused: the controller closes a batch's window by a timer of its own for that batch, as the window setting says (ADR 0407 decision 1, issue 973) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollout-silent.>, but that falls back rather than refuses: refused: the controller looks at the plans when a wait for a machine's report is up, by a timer of its own for that wait (ADR 0406 §5, issue 974) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollouts.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089) genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.mesh-controller.event.sent, but that falls back rather than refuses: refused: the controller says a tier sent to a machine only for outsiders, and a send that could not be said is printed and goes on (ADR 0406 §5, issue 974) genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.node-build-agent.check.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and a check asked before that is asked again by the next announcement of its head (ADR 0406 §3, issue 974) genesis_template_test.go:102: the installer's user list does not let the controller publish mesh.seat.operator-channel.tool.tell, but that falls back rather than refuses: refused: the controller raises the secret-given condition as before (ADR 0380 §9) FAIL github.com/novox/mesh-controller/internal/broker 0.406s --- FAIL: TestTheCataloguesDerivedSubjectsMeet (0.07s) genesis_template_test.go:29: judged against /var/lib/build-agent/workspace/check/mesh-host as cloned beside this check genesis_template_test.go:38: the installer's user list does not let the controller publish $JS.ACK.EVENTS.controller-merges.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, which is when it acknowledges a merge (ADR 0407 decision 3, issue 973) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_builds.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_checks-running.>, but that falls back rather than refuses: refused: the controller asserts this bucket through the API and writes none of its keys — the build seat's holders do (ADR 0406 §3, issue 974) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_delivery-merges.>, but that falls back rather than refuses: refused: the controller then keeps no merge mesh-delivery announced, so the build of a moved module is refused as it is without the operator's Approve — failing closed (ADR 0420 §7, issue 1025) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_merge-window.>, but that falls back rather than refuses: refused: the controller closes a batch's window by a timer of its own for that batch, as the window setting says (ADR 0407 decision 1, issue 973) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollout-silent.>, but that falls back rather than refuses: refused: the controller looks at the plans when a wait for a machine's report is up, by a timer of its own for that wait (ADR 0406 §5, issue 974) genesis_template_test.go:38: the installer's user list does not let the controller publish $KV.mesh-controller_rollouts.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and writes the chain only after that, holding the lease (ADR 0408 §2 and §8, issue 1089) genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.mesh-controller.event.sent, but that falls back rather than refuses: refused: the controller says a tier sent to a machine only for outsiders, and a send that could not be said is printed and goes on (ADR 0406 §5, issue 974) genesis_template_test.go:38: the installer's user list does not let the controller publish mesh.seat.node-build-agent.check.>, but that falls back rather than refuses: carried only at genesis: the controller composes its own permissions and pushes them to the bus at its first push, and a check asked before that is asked again by the next announcement of its head (ADR 0406 §3, issue 974) genesis_template_test.go:102: the installer's user list does not let the controller publish mesh.seat.operator-channel.tool.tell, but that falls back rather than refuses: refused: the controller raises the secret-given condition as before (ADR 0380 §9) snapshot_live_test.go:30: MESH_TEST_DOCKER is not 1: this starts a throwaway nats container FAIL github.com/novox/mesh-controller/internal/broker 59.635s ```
mesh-tools added 1 commit 2026-10-20 13:44:06 +00:00
Say a retry asked nothing when every module of it still waits for the bus (issue 1403)
mesh/merge-gate head 970622505b30 merged into trunk b718d24f84b9 — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 970622505b30 merged into trunk b718d24f84b9 — pass: its merge-check.sh passed
mesh/delivery delivered
970622505b
Author
Member

Merge check at 97062250
Judged: head 970622505b30 merged into trunk b718d24f84b9; read beside it: mesh-catalog a67f01963f0d, mesh-controller-main b718d24f84b9, mesh-host ce1b97ad973d, 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/ask_bus_look_integration_test.go, cmd/mesh-controller/ask_bus_moment_test.go, cmd/mesh-controller/retry_words_test.go

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

MESH_STORE_EXAMPLE_PORT is "${seat:mesh-store:5432}", a placeholder nothing filled in — ignored; the port in MESH_STORE_EXAMPLE stands. The control plane composing this declaration is older than the manifest naming it: rebuild and push it
PASS
ok  	github.com/novox/mesh-controller/internal/store	3.770s
    testbus_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
PASS
ok  	github.com/novox/mesh-controller/internal/testbus	1.284s
PASS
ok  	github.com/novox/mesh-controller/internal/token	1.035s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	364s	(shard 1 of 8: 156 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	152s	(shard 2 of 8: 156 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	233s	(shard 3 of 8: 156 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	129s	(shard 4 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	162s	(shard 5 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	72s	(shard 6 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	79s	(shard 7 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	54s	(shard 8 of 8: 155 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	17s	(shard 1 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	18s	(shard 2 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	16s	(shard 3 of 4: 91 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	17s	(shard 4 of 4: 91 tests)
ok  	github.com/novox/mesh-controller/internal/builder	16s	(shard 1 of 4: 57 tests)
ok  	github.com/novox/mesh-controller/internal/builder	28s	(shard 2 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/builder	17s	(shard 3 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/builder	19s	(shard 4 of 4: 56 tests)
ok  	github.com/novox/mesh-controller/internal/link	27s	(shard 1 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	20s	(shard 2 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	20s	(shard 3 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	13s	(shard 4 of 4: 52 tests)
integration level (the whole suite, tag integration): 2606 tests (3 skipped outside the shards), 393 s
nested module modules/build-agent:
ok  	build-agent	1.016s
nested module modules/route-proxy:
ok  	route-proxy/cmd/route-provider	1.016s
nested modules: 3 s
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.28s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.30s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.25s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.29s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.21s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.00s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.84s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.24s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.27s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.31s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.30s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.22s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.26s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.26s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.27s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.28s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.32s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.30s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.18s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.20s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.20s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.34s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.24s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.33s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.33s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.24s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.28s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.20s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.32s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.08s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.52s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.35s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.24s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.20s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.57s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.19s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.31s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.58s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.45s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.34s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.47s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.28s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.19s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.28s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.19s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.19s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.21s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.20s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.33s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.19s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.21s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.31s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.28s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.33s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.32s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.27s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.35s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.37s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.28s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.52s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.59s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.31s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.18s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (63.31s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (24.76s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (35.62s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.38s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.37s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.33s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.29s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.37s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.27s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.28s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.41s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.73s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.74s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.57s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.43s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (4.24s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.20s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.40s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.23s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.55s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.48s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.44s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.31s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.22s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.67s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.88s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.71s)
  ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (5.89s)
  ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.04s)
  ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (1.06s)
  ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.21s)
  ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.55s)
  ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.51s)
  ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.53s)
  ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.49s)
  ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.26s)
  ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.41s)
  ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.16s)
  ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.62s)
  ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (0.94s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.15s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.15s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.09s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.11s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.12s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.12s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.10s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.10s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.19s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.16s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.14s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.13s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.12s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.12s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.59s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.09s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.45s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.16s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.16s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.14s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.09s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.09s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.07s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.14s)
  ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.08s)
  ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.08s)
  ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.10s)
  ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.08s)
  ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.08s)
  ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.08s)
  ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.10s)
  ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.08s)
  ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s)
  ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.07s)
  ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.08s)
  ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.08s)
  ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.08s)
  ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.43s)
  ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.11s)
  ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.07s)
  ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.07s)
  ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.12s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (1.88s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.49s)
**Merge check** at `97062250` Judged: head `970622505b30` merged into trunk `b718d24f84b9`; read beside it: mesh-catalog `a67f01963f0d`, mesh-controller-main `b718d24f84b9`, mesh-host `ce1b97ad973d`, 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/ask_bus_look_integration_test.go, cmd/mesh-controller/ask_bus_moment_test.go, cmd/mesh-controller/retry_words_test.go Run by the build seat on shanks as `build-1792503848891824288` (`builds --log build-1792503848891824288`). ``` MESH_STORE_EXAMPLE_PORT is "${seat:mesh-store:5432}", a placeholder nothing filled in — ignored; the port in MESH_STORE_EXAMPLE stands. The control plane composing this declaration is older than the manifest naming it: rebuild and push it PASS ok github.com/novox/mesh-controller/internal/store 3.770s testbus_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check PASS ok github.com/novox/mesh-controller/internal/testbus 1.284s PASS ok github.com/novox/mesh-controller/internal/token 1.035s ok github.com/novox/mesh-controller/cmd/mesh-controller 364s (shard 1 of 8: 156 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 152s (shard 2 of 8: 156 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 233s (shard 3 of 8: 156 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 129s (shard 4 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 162s (shard 5 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 72s (shard 6 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 79s (shard 7 of 8: 155 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 54s (shard 8 of 8: 155 tests) ok github.com/novox/mesh-controller/internal/inventory 17s (shard 1 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 18s (shard 2 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 16s (shard 3 of 4: 91 tests) ok github.com/novox/mesh-controller/internal/inventory 17s (shard 4 of 4: 91 tests) ok github.com/novox/mesh-controller/internal/builder 16s (shard 1 of 4: 57 tests) ok github.com/novox/mesh-controller/internal/builder 28s (shard 2 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/builder 17s (shard 3 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/builder 19s (shard 4 of 4: 56 tests) ok github.com/novox/mesh-controller/internal/link 27s (shard 1 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 20s (shard 2 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 20s (shard 3 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 13s (shard 4 of 4: 52 tests) integration level (the whole suite, tag integration): 2606 tests (3 skipped outside the shards), 393 s nested module modules/build-agent: ok build-agent 1.016s nested module modules/route-proxy: ok route-proxy/cmd/route-provider 1.016s nested modules: 3 s store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.28s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.30s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.25s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.29s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.21s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.00s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.84s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.24s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.27s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.31s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.30s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.22s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.26s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.28s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.28s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.26s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.27s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.28s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.32s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.30s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.18s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.20s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.20s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.34s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.24s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.33s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.33s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.24s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.28s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.20s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.32s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.08s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.52s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.35s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.24s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.20s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.57s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.19s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.31s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.58s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.45s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.34s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.47s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.28s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.19s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.28s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.19s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.19s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.21s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.20s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.33s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.19s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.21s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.31s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.28s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.33s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.32s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.27s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.35s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.32s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.37s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.28s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.52s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.59s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.31s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.18s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (63.31s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (24.76s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (35.62s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.38s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.37s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.33s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.29s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.37s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.27s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.28s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.41s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.73s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.74s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.57s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.43s) ./cmd/mesh-controller --- PASS: TestReplay867 (4.24s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.20s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.40s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.28s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.23s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.55s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.48s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.44s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.31s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.22s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.67s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.88s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.71s) ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (5.89s) ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.04s) ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (1.06s) ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.21s) ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.55s) ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.51s) ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.53s) ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.49s) ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.26s) ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.41s) ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.16s) ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.62s) ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (0.94s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.15s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.15s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.09s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.11s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.12s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.12s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.10s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.10s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.19s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.16s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.14s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.13s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.12s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.12s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.59s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.09s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.45s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.16s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.16s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.14s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.09s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.09s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.07s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.14s) ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.08s) ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.08s) ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.10s) ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.08s) ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.08s) ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.08s) ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.10s) ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.08s) ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s) ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.07s) ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.08s) ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.08s) ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.08s) ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.43s) ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.11s) ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.07s) ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.07s) ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.12s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (1.88s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.49s) ```
mesh-tools merged commit 1816e8753b into main 2026-10-20 13:55:35 +00:00
mesh-tools deleted branch fix/1334-a-bus-reload-fails-a-tier-2 2026-10-20 13:55: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#406