Let the catch-up read the router, and look only for pull request merges into the trunk since the records began (issue 1336, ADR 0457, ADR 0463) #408

Merged
mesh-tools merged 4 commits from fix/1336-router-read-after-stop into main 2026-10-20 17:45:05 +00:00
Member

Follow-up of mesh-controller #407 (ADR 0457's catch-up, delivered 2026-10-20 14:08 UTC). Its every pass logged 'the router cannot be read, so is not caught up now: nats: invalid subscription' for 110 gaps and planned nothing, keycloak #378's c0880c4d among them (issue 1336).

  • 030bdc53: routerAskIDs/askIDsOf ignores only nats.ErrBadSubscription from a second Stop: the lister stops its own watch at the last key (vendored nats.go jetstream/kv.go:1467-1480), so the second Stop always failed. Integration test router_ids_integration_test.go on a real bucket.
  • 0aa58877: only a pull request's merge into the trunk is a gap (ADR 0463 §1); merges made inside branches, which the trunk's history lists (15 of the 110), are not. Unit test on real forge subjects, seen failing on main.
  • 3045af47 + 9f0d9098: a merge before the earliest merge the controller keeps on any trunk, less ten minutes, is history (ADR 0463 §2, accepted with the operator's Approve 2026-10-20): Inventory.EarliestKept, sinceTheRecord; a trunk with no kept merge of its own keeps its later merges as gaps. Each pass logs where the record begins and, per trunk, how many merges fall since (§3). Unit and integration tests.

Checks before this pull request: try build-1792507790551679452 at this head passed (1456 unit tests in 2.33 s, 2627 integration tests).
Live after its delivery: the controller's log names where the records begin; a plan of novox/mesh-catalog carrying c0880c4d builds keycloak; no condition names a merge made inside a branch.
Opened along the way: 1420, 1421, 1422, 1424, 1425.

Reviewed-by: review-1336b@shanks at 9f0d9098b7

Issues: 1336

Follow-up of mesh-controller #407 (ADR 0457's catch-up, delivered 2026-10-20 14:08 UTC). Its every pass logged 'the router cannot be read, so <repo> <commit> is not caught up now: nats: invalid subscription' for 110 gaps and planned nothing, keycloak #378's c0880c4d among them (issue 1336). - 030bdc53: routerAskIDs/askIDsOf ignores only nats.ErrBadSubscription from a second Stop: the lister stops its own watch at the last key (vendored nats.go jetstream/kv.go:1467-1480), so the second Stop always failed. Integration test router_ids_integration_test.go on a real bucket. - 0aa58877: only a pull request's merge into the trunk is a gap (ADR 0463 §1); merges made inside branches, which the trunk's history lists (15 of the 110), are not. Unit test on real forge subjects, seen failing on main. - 3045af47 + 9f0d9098: a merge before the earliest merge the controller keeps on any trunk, less ten minutes, is history (ADR 0463 §2, accepted with the operator's Approve 2026-10-20): Inventory.EarliestKept, sinceTheRecord; a trunk with no kept merge of its own keeps its later merges as gaps. Each pass logs where the record begins and, per trunk, how many merges fall since (§3). Unit and integration tests. Checks before this pull request: try build-1792507790551679452 at this head passed (1456 unit tests in 2.33 s, 2627 integration tests). Live after its delivery: the controller's log names where the records begin; a plan of novox/mesh-catalog carrying c0880c4d builds keycloak; no condition names a merge made inside a branch. Opened along the way: 1420, 1421, 1422, 1424, 1425. Reviewed-by: review-1336b@shanks at 9f0d9098b7359b8a21e51ec1d62043ec0d373058 Issues: 1336
mesh-tools added 4 commits 2026-10-20 17:00:45 +00:00
Author
Member

Delivery novox/mesh-controller@9f0d9098b735 — delivered since 2026-10-20T17:48:28Z

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 17:00 (new) → proposed (announced): novox/mesh-controller#408's head announced
  • 2026-10-20 17:11 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-20 17:11 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-20 17:45 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 17:45 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 17:48 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@9f0d9098b735` — **delivered** since 2026-10-20T17:48:28Z **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 17:00 (new) → proposed (announced): novox/mesh-controller#408's head announced - 2026-10-20 17:11 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-20 17:11 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-20 17:45 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 17:45 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 17:48 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 9f0d9098
Judged: head 9f0d9098b735 merged into trunk d163304e3ff1; read beside it: mesh-catalog a67f01963f0d, mesh-controller-main d163304e3ff1, mesh-host ce1b97ad973d, mesh-tools 18260ce9beca

  • 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/catch_up_integration_test.go, cmd/mesh-controller/catch_up_test.go, cmd/mesh-controller/router_ids_integration_test.go, internal/inventory/chain_rollouts_test.go

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

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	5.027s
    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.273s
PASS
ok  	github.com/novox/mesh-controller/internal/token	1.030s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	105s	(shard 1 of 8: 158 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	59s	(shard 2 of 8: 158 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	95s	(shard 3 of 8: 158 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	370s	(shard 4 of 8: 158 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	156s	(shard 5 of 8: 158 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	231s	(shard 6 of 8: 158 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	130s	(shard 7 of 8: 158 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	134s	(shard 8 of 8: 157 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	17s	(shard 1 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	17s	(shard 2 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	18s	(shard 3 of 4: 92 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	15s	(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	17s	(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	20s	(shard 2 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	19s	(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): 2627 tests (3 skipped outside the shards), 404 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.32s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.32s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s)
  ./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 (1.98s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.84s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.24s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.19s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.23s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.25s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.27s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.30s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.30s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.37s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.32s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.17s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.21s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.19s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.34s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.30s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.38s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.32s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.24s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.31s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.25s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.08s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.57s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.37s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.24s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.19s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.20s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.56s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.18s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.32s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.65s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.30s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.26s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.58s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.25s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.22s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.24s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.28s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.18s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.19s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.21s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.21s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.32s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.19s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.18s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.30s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.30s)
  ./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.34s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.30s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.36s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.29s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.48s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.48s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.34s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.18s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (63.99s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (26.11s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (39.42s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.40s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.38s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.36s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.34s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.36s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.28s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.29s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.38s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.77s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.71s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.56s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.43s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (4.26s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.25s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.38s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.23s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.22s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.27s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.24s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.47s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.30s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.22s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.68s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.87s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.11s)
  ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (5.94s)
  ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.01s)
  ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.82s)
  ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.22s)
  ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.31s)
  ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.23s)
  ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.30s)
  ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.36s)
  ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.29s)
  ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.39s)
  ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.11s)
  ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.62s)
  ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (0.70s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.10s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.10s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.14s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.22s)
  ./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.07s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.16s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.13s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.12s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.08s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.07s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.69s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.10s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.10s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.12s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.08s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.10s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.10s)
  ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.08s)
  ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.07s)
  ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.12s)
  ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.09s)
  ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.07s)
  ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.08s)
  ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.10s)
  ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.09s)
  ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s)
  ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.07s)
  ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.19s)
  ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.11s)
  ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.08s)
  ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.44s)
  ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.10s)
  ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.07s)
  ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.09s)
  ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.08s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (2.25s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.47s)
**Merge check** at `9f0d9098` Judged: head `9f0d9098b735` merged into trunk `d163304e3ff1`; read beside it: mesh-catalog `a67f01963f0d`, mesh-controller-main `d163304e3ff1`, mesh-host `ce1b97ad973d`, mesh-tools `18260ce9beca` - `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/catch_up_integration_test.go, cmd/mesh-controller/catch_up_test.go, cmd/mesh-controller/router_ids_integration_test.go, internal/inventory/chain_rollouts_test.go Run by the build seat on shanks as `build-1792515649004815194` (`builds --log build-1792515649004815194`). ``` 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 5.027s 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.273s PASS ok github.com/novox/mesh-controller/internal/token 1.030s ok github.com/novox/mesh-controller/cmd/mesh-controller 105s (shard 1 of 8: 158 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 59s (shard 2 of 8: 158 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 95s (shard 3 of 8: 158 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 370s (shard 4 of 8: 158 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 156s (shard 5 of 8: 158 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 231s (shard 6 of 8: 158 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 130s (shard 7 of 8: 158 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 134s (shard 8 of 8: 157 tests) ok github.com/novox/mesh-controller/internal/inventory 17s (shard 1 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 17s (shard 2 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 18s (shard 3 of 4: 92 tests) ok github.com/novox/mesh-controller/internal/inventory 15s (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 17s (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 20s (shard 2 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 19s (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): 2627 tests (3 skipped outside the shards), 404 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.32s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.32s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s) ./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 (1.98s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.84s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.24s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.19s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.23s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.25s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.28s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.27s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.30s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.30s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.37s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.32s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.17s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.21s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.19s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.34s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.30s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.38s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.32s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.24s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.31s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.25s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.18s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.08s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.57s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.37s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.24s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.19s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.20s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.56s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.18s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.18s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.32s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.65s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.30s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.26s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.58s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.25s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.22s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.24s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.28s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.18s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.19s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.21s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.21s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.32s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.19s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.18s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.30s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.30s) ./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.34s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.30s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.36s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.29s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.48s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (3.48s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.34s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.18s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (63.99s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (26.11s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (39.42s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.40s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.38s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.36s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.34s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.36s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.28s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.29s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.38s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.77s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.71s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.56s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.43s) ./cmd/mesh-controller --- PASS: TestReplay867 (4.26s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.25s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.38s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.23s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.22s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.27s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.24s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.47s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.30s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.22s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.68s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.87s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (1.11s) ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (5.94s) ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (2.01s) ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.82s) ./cmd/mesh-controller --- PASS: TestAMergeWhosePlanCannotBeSavedIsHeldAndRecordedWhenHandedOverAgain (0.22s) ./cmd/mesh-controller --- PASS: TestOneReadOfAnAssignmentNamesItsCommitBuildAndRolloutAndOneReadOfTheRolloutListsItsAssignments (0.31s) ./cmd/mesh-controller --- PASS: TestASendOfWhatAMachineRunsAlreadyChangesNoLinkOfItsAssignment (0.23s) ./cmd/mesh-controller --- PASS: TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket (0.30s) ./cmd/mesh-controller --- PASS: TestNoTableOfTheControllersStoreHoldsBuildsRolloutsOrAssignments (0.36s) ./cmd/mesh-controller --- PASS: TestAComposedDeclarationCarriesModulesAndBuildsOnlyForANodeThatReadsThem (0.29s) ./cmd/mesh-controller --- PASS: TestAPlanPassesATierWhoseMachineNeverReportsAfterTheBoundAndSendsTheNextToTheOthers (3.39s) ./cmd/mesh-controller --- PASS: TestAMergeOnTheApproveIntoANewRepositoryAsksTheFirstBuildAndItsOutcomeRegistersTheModule (3.11s) ./cmd/mesh-controller --- PASS: TestTheApprovedFirstBuildPassesTheGuardOfAVerbAndIsQueued (0.62s) ./cmd/mesh-controller --- PASS: TestAPlanGoesOnWithoutAMachineAwayWhenItsTierIsSent (0.70s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.10s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.10s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.14s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.22s) ./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.07s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.16s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.13s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.12s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.08s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.08s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.07s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.69s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.10s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.10s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.10s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.10s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.12s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.08s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.10s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.10s) ./internal/inventory --- PASS: TestBuildsOnTheBusAreReadBackByEveryReader (0.08s) ./internal/inventory --- PASS: TestARequestIsTheBuildInStateAskedAndItsOutcomeTakesItsPlace (0.07s) ./internal/inventory --- PASS: TestAnAssignmentIsAKeyOfTheBucketAndAnUnassignmentEndsIt (0.12s) ./internal/inventory --- PASS: TestThePlansAreKeptInTheAssignmentsValuesAndNothingElseOfThemMoves (0.09s) ./internal/inventory --- PASS: TestAPendingAssignmentIsAKeyOfTheAssignmentsBucket (0.07s) ./internal/inventory --- PASS: TestARecordedPendingIsSkippedByAssignedAndTheJoins (0.08s) ./internal/inventory --- PASS: TestTwoClaimsOfOnePendingMakeOneAndTheOtherSeesFalse (0.10s) ./internal/inventory --- PASS: TestAssignOverAPendingKeepsItsRecordAsApplied (0.09s) ./internal/inventory --- PASS: TestAPendingIsMarkedOnceAndGoesWithItsMachine (0.08s) ./internal/inventory --- PASS: TestAReplacedWaitNeverLeavesTheOperatorWithoutItsCondition (0.07s) ./internal/inventory --- PASS: TestSentBuildsAnswersFromTheAssignmentsKeysOfTheNode (0.19s) ./internal/inventory --- PASS: TestASendReplacesTheWholeMapOfTheNodeAndAHandSendMakesItUnknown (0.11s) ./internal/inventory --- PASS: TestAFailedWriteOfTheLinksFailsTheRecordOfTheSend (0.08s) ./internal/inventory --- PASS: TestMigration0105RefusesAStoreWhoseRowsWereNotMovedAndDropsTheTablesOfAMovedOne (0.44s) ./internal/inventory --- PASS: TestMigration0105PassesAStoreThatNeverHeldARow (0.10s) ./internal/inventory --- PASS: TestTheColumnOfASentMachineIsCopiedOntoItsKeysAndEmptied (0.07s) ./internal/inventory --- PASS: TestASendEmptiesTheColumnSoALaterCopyLeavesAClearedKeyBare (0.09s) ./internal/inventory --- PASS: TestWhetherAMachineReadsModulesIsItsLatestWord (0.08s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (2.25s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.47s) ```
mesh-tools merged commit f2d7bc9480 into main 2026-10-20 17:45:05 +00:00
mesh-tools deleted branch fix/1336-router-read-after-stop 2026-10-20 17:45:05 +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#408