A delivery plan backs up the data it moves before its first tier; a failed backup holds it and is said (issues 1065, 1066) #376

Merged
mesh-tools merged 6 commits from feat/backup-before-send-controller into main 2026-10-17 22:20:20 +00:00
Member

Design 47 milestone 4 (issue 980, ADR 0404), the controller half. It was #375 in the delivery group feat/backup-before-send; after mesh-catalog #353 merged on the group's Approve (23:48), #375 could not merge: its merge gate waited for a composed verdict the closed group never asks again. On the operator's word (00:09) #375's delivery was stopped and it is opened again here, alone. mesh-catalog #353 (mesh-delivery, restic) was delivered on its own at 00:11; its new hold acts only on a plan's backups record, which this change starts writing. The head 0bb54e2c is an empty commit on the reviewed 91a7c1ea (same tree), because mesh-delivery names a delivery by its commit and 91a7c1ea's is #375's stopped one.

  • Issue 1065. Once a plan has started and before its first tier is asked, the controller asks node-backup.now on every machine running each moved module that has an item protected by a backup, and reads backed-up's last night. The holders of node-backup are derived as seats derives them, and a failed read is tried again, never read as no holder. Nothing is asked of a builder or sent until every backup is done. A machine with no backup holder is said in the plan. A plan moving no backed-up item is unchanged. The plan record gains backups {state, asked:[{machine, module, state, asked_at, tried_at, words}], no_holder}, kept in the store by migration 0103 (release_plan.backups jsonb).
  • Issue 1066. A backup that fails, does not answer, or cannot be asked within ten minutes holds the plan (not failed, not retried), names the machine, the module and the backup's words, and raises one condition (backup-held). The new verb delivery-backups-again {plan, why} asks the failed backups again; mesh-delivery's release calls it.
  • Integration test backups_before_send_integration_test.go proves acceptance test 3 on the controller side; it passed at this tree (23:36, build-1792272687640891318).

Reviewed-by: review@shanks at 0bb54e2c1f

Design 47 milestone 4 (issue 980, ADR 0404), the controller half. It was #375 in the delivery group `feat/backup-before-send`; after mesh-catalog #353 merged on the group's Approve (23:48), #375 could not merge: its merge gate waited for a composed verdict the closed group never asks again. On the operator's word (00:09) #375's delivery was stopped and it is opened again here, alone. mesh-catalog #353 (mesh-delivery, restic) was delivered on its own at 00:11; its new hold acts only on a plan's backups record, which this change starts writing. The head 0bb54e2c is an empty commit on the reviewed 91a7c1ea (same tree), because mesh-delivery names a delivery by its commit and 91a7c1ea's is #375's stopped one. - **Issue 1065.** Once a plan has started and before its first tier is asked, the controller asks `node-backup.now` on every machine running each moved module that has an item protected by a backup, and reads `backed-up`'s last night. The holders of `node-backup` are derived as `seats` derives them, and a failed read is tried again, never read as no holder. Nothing is asked of a builder or sent until every backup is done. A machine with no backup holder is said in the plan. A plan moving no backed-up item is unchanged. The plan record gains `backups` {state, asked:[{machine, module, state, asked_at, tried_at, words}], no_holder}, kept in the store by migration 0103 (`release_plan.backups jsonb`). - **Issue 1066.** A backup that fails, does not answer, or cannot be asked within ten minutes holds the plan (not failed, not retried), names the machine, the module and the backup's words, and raises one condition (`backup-held`). The new verb `delivery-backups-again` {plan, why} asks the failed backups again; mesh-delivery's `release` calls it. - Integration test `backups_before_send_integration_test.go` proves acceptance test 3 on the controller side; it passed at this tree (23:36, build-1792272687640891318). Reviewed-by: review@shanks at 0bb54e2c1fa28c79ac7b1fd68b47e26c88e2cde2
mesh-tools added 5 commits 2026-10-17 22:09:03 +00:00
Fail a backup whose holder cannot be asked at the bound, not retry forever (issue 1066)
mesh/merge-gate head a39d6ce78d19 merged into trunk 7c9c187ca6e2 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head a39d6ce78d19 merged into trunk 7c9c187ca6e2 — fail: its merge-check.sh failed: --- FAIL: TestADeliveryThatMovesABackedUpModuleWaitsFor…
mesh/delivery-group group feat/backup-before-send rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
a39d6ce78d
Read the backup holders of every machine, and the notes fixture's data at a resource (issues 1065, 1066)
mesh/merge-gate waits for its group's composed check
mesh/repo-check head 08e000bb56aa merged into trunk 7c9c187ca6e2 beside mesh-catalog#353@c898a937 — fail: its merge-check.sh failed: --- FAIL: TestADeliver…
mesh/delivery-group group feat/backup-before-send rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
08e000bb56
Keep a plan's backups in the store: a migration and the plan's read and write (issues 1065, 1066)
mesh/repo-check waiting in the build queue since 00:05: asked by the merge tool against trunk 7c9c187ca6e2
mesh/delivery stopped: Operator's word (2026-10-18 00:09): split the group. After mesh-catalog #353 merged on the group's Approve (23:48:51), #375's merg…
mesh/delivery-group group feat/backup-before-send stopped: a member was stopped
mesh/merge-gate building on shanks since 00:10
91a7c1eaff
jschoubben added 1 commit 2026-10-17 22:13:10 +00:00
Open the controller half alone: #375's delivery was stopped to split its group (issue 980)
mesh/merge-gate head 0bb54e2c1fa2 merged into trunk 7c9c187ca6e2 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 0bb54e2c1fa2 merged into trunk 7c9c187ca6e2 — pass: its merge-check.sh passed
mesh/delivery delivered
0bb54e2c1f
Author
Member

Delivery novox/mesh-controller@0bb54e2c1fa2 — delivered since 2026-10-17T22:27:58Z

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

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

Machines

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

Transitions

  • 2026-10-17 22:13 (new) → proposed (announced): novox/mesh-controller#376's head announced
  • 2026-10-17 22:19 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-17 22:19 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-17 22:20 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-17 22:20 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
  • 2026-10-17 22:27 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@0bb54e2c1fa2` — **delivered** since 2026-10-17T22:27:58Z **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller, route-proxy - tier 1: build-agent - ace: receives route-proxy, build-agent - g14: receives build-agent - novox: receives mesh-controller, route-proxy, build-agent - shanks: receives build-agent - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine **Machines** - mesh-controller on every machine running it: sent - route-proxy on every machine running it: sent - build-agent on every machine running it: sent **Transitions** - 2026-10-17 22:13 (new) → proposed (announced): novox/mesh-controller#376's head announced - 2026-10-17 22:19 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-17 22:19 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-17 22:20 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-17 22:20 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit - 2026-10-17 22:27 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 0bb54e2c
Judged: head 0bb54e2c1fa2 merged into trunk 7c9c187ca6e2; read beside it: mesh-catalog 3395af96bc34, mesh-controller-main 7c9c187ca6e2, mesh-host 6469e8238443, mesh-tools 7412c5b6c9c5

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

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

  • tier 0: mesh-controller, route-proxy
  • tier 1: build-agent
  • ace: receives route-proxy, build-agent
  • g14: receives build-agent
  • novox: receives mesh-controller, route-proxy, build-agent
  • shanks: receives build-agent
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine
  • read by no module's build: cmd/mesh-controller/backups_before_send_integration_test.go, cmd/mesh-controller/plan_backups_hold_test.go, cmd/mesh-controller/plan_backups_test.go, internal/inventory/plan_backups_test.go, internal/inventory/plans_test.go

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

    lease_test.go:78: a: the controller lease (epoch 1) could not be renewed: the renewal could not be made: context deadline exceeded — it is kept: no new act starts after 2026-10-17T22:16:21Z and it is lost at 2026-10-17T22:16:22Z unless a renewal is made first
    lease_test.go:78: a: renewed the controller lease (epoch 1) after 1 renewal(s) that could not be made since 2026-10-17T22:16:21Z: this controller acts again
    lease_test.go:78: a: the controller lease (epoch 1) could not be renewed: the renewal could not be made: context deadline exceeded — it is kept: no new act starts after 2026-10-17T22:16:21Z and it is lost at 2026-10-17T22:16:22Z unless a renewal is made first
    lease_test.go:78: a: renewed the controller lease (epoch 1) after 1 renewal(s) that could not be made since 2026-10-17T22:16:21Z: this controller acts again
    lease_test.go:78: a: the controller lease (epoch 1) could not be renewed: the renewal could not be made: context deadline exceeded — it is kept: no new act starts after 2026-10-17T22:16:21Z and it is lost at 2026-10-17T22:16:22Z unless a renewal is made first
    lease_test.go:78: a: LOST the controller lease (epoch 1): the renewal at revision 1 was refused: another holder wrote the key (b, epoch 1, revision 2): nats: nats: API error: code=400 err_code=10071 description=wrong last sequence: 2: nats: key revision mismatch — this controller stops acting at once
    lease_test.go:78: a: LOST the controller lease (epoch 1): no renewal was made within the key's age of 3s (the last at 2026-10-17T22:16:19Z, 1 failed since): the renewal could not be made: context deadline exceeded — this controller stops acting at once
    lease_test.go:78: b: took the controller lease at epoch 2 (b)
    lease_test.go:78: a: LOST the controller lease (epoch 1): no renewal was made within the key's age of 3s (the last at 2026-10-17T22:16:19Z, 0 failed since) — this controller stops acting at once
    lease_test.go:78: a: gave the controller lease back (epoch 1)
    lease_test.go:78: b: took the controller lease at epoch 7 (b)
PASS
ok  	github.com/novox/mesh-controller/internal/lease	10.253s
PASS
ok  	github.com/novox/mesh-controller/internal/licences	5.777s
PASS
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.037s
    emptyonerror_test.go:26: 11 error branch(es) answer empty, each saying why
PASS
ok  	github.com/novox/mesh-controller/internal/lint	3.350s
PASS
ok  	github.com/novox/mesh-controller/internal/outward	1.071s
PASS
ok  	github.com/novox/mesh-controller/internal/overlay	1.058s
PASS
ok  	github.com/novox/mesh-controller/internal/recordmirror	17.835s
PASS
ok  	github.com/novox/mesh-controller/internal/secrets	1.583s
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.734s
    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.263s
PASS
ok  	github.com/novox/mesh-controller/internal/token	1.040s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	187s	(shard 1 of 8: 139 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	112s	(shard 2 of 8: 139 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	122s	(shard 3 of 8: 139 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	116s	(shard 4 of 8: 138 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	91s	(shard 5 of 8: 138 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	76s	(shard 6 of 8: 138 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	52s	(shard 7 of 8: 138 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	66s	(shard 8 of 8: 138 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	26s	(shard 1 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	25s	(shard 2 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	24s	(shard 3 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	24s	(shard 4 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/builder	24s	(shard 1 of 4: 54 tests)
ok  	github.com/novox/mesh-controller/internal/builder	27s	(shard 2 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/builder	38s	(shard 3 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/builder	25s	(shard 4 of 4: 53 tests)
ok  	github.com/novox/mesh-controller/internal/link	24s	(shard 1 of 4: 50 tests)
ok  	github.com/novox/mesh-controller/internal/link	17s	(shard 2 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	20s	(shard 3 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	27s	(shard 4 of 4: 49 tests)
integration level (the whole suite, tag integration): 3328 tests (6 skipped outside the shards), 192 s
nested module modules/build-agent:
ok  	build-agent	1.015s
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.37s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.33s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.34s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.30s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.25s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.01s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.95s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.41s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.31s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.27s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.24s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.28s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.27s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.25s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.28s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.27s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.26s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.38s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.34s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.22s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.21s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.26s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.35s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.31s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.33s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.30s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.22s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.27s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.19s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.19s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.11s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.62s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.36s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.23s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.22s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.31s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.22s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.63s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.20s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.20s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.27s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.32s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (6.17s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.24s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.38s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.28s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.27s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.22s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.27s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.20s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.21s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.25s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.26s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.35s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.21s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.21s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.24s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.27s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.31s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.31s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.25s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.30s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.35s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.26s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.38s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.14s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.29s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (38.25s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (9.13s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (14.06s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.47s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.45s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.35s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.34s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.36s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.32s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.32s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.38s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.71s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.73s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.51s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.39s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (4.57s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.42s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.37s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.24s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.37s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.27s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.26s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.42s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.58s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.23s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.92s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.91s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.74s)
  ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.98s)
  ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (1.18s)
  ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.76s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.10s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.10s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.11s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.11s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.09s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.08s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.11s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.10s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.08s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.11s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.12s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.10s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.08s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.11s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.09s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.46s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.12s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.52s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.11s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.10s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.10s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.09s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.13s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.10s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.08s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.39s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.51s)
**Merge check** at `0bb54e2c` Judged: head `0bb54e2c1fa2` merged into trunk `7c9c187ca6e2`; read beside it: mesh-catalog `3395af96bc34`, mesh-controller-main `7c9c187ca6e2`, mesh-host `6469e8238443`, mesh-tools `7412c5b6c9c5` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller, route-proxy - tier 1: build-agent - ace: receives route-proxy, build-agent - g14: receives build-agent - novox: receives mesh-controller, route-proxy, build-agent - shanks: receives build-agent - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine - read by no module's build: cmd/mesh-controller/backups_before_send_integration_test.go, cmd/mesh-controller/plan_backups_hold_test.go, cmd/mesh-controller/plan_backups_test.go, internal/inventory/plan_backups_test.go, internal/inventory/plans_test.go Run by the build seat on shanks as `build-1792275192852414490` (`builds --log build-1792275192852414490`). ``` lease_test.go:78: a: the controller lease (epoch 1) could not be renewed: the renewal could not be made: context deadline exceeded — it is kept: no new act starts after 2026-10-17T22:16:21Z and it is lost at 2026-10-17T22:16:22Z unless a renewal is made first lease_test.go:78: a: renewed the controller lease (epoch 1) after 1 renewal(s) that could not be made since 2026-10-17T22:16:21Z: this controller acts again lease_test.go:78: a: the controller lease (epoch 1) could not be renewed: the renewal could not be made: context deadline exceeded — it is kept: no new act starts after 2026-10-17T22:16:21Z and it is lost at 2026-10-17T22:16:22Z unless a renewal is made first lease_test.go:78: a: renewed the controller lease (epoch 1) after 1 renewal(s) that could not be made since 2026-10-17T22:16:21Z: this controller acts again lease_test.go:78: a: the controller lease (epoch 1) could not be renewed: the renewal could not be made: context deadline exceeded — it is kept: no new act starts after 2026-10-17T22:16:21Z and it is lost at 2026-10-17T22:16:22Z unless a renewal is made first lease_test.go:78: a: LOST the controller lease (epoch 1): the renewal at revision 1 was refused: another holder wrote the key (b, epoch 1, revision 2): nats: nats: API error: code=400 err_code=10071 description=wrong last sequence: 2: nats: key revision mismatch — this controller stops acting at once lease_test.go:78: a: LOST the controller lease (epoch 1): no renewal was made within the key's age of 3s (the last at 2026-10-17T22:16:19Z, 1 failed since): the renewal could not be made: context deadline exceeded — this controller stops acting at once lease_test.go:78: b: took the controller lease at epoch 2 (b) lease_test.go:78: a: LOST the controller lease (epoch 1): no renewal was made within the key's age of 3s (the last at 2026-10-17T22:16:19Z, 0 failed since) — this controller stops acting at once lease_test.go:78: a: gave the controller lease back (epoch 1) lease_test.go:78: b: took the controller lease at epoch 7 (b) PASS ok github.com/novox/mesh-controller/internal/lease 10.253s PASS ok github.com/novox/mesh-controller/internal/licences 5.777s PASS ok github.com/novox/mesh-controller/internal/licences/adapters 1.037s emptyonerror_test.go:26: 11 error branch(es) answer empty, each saying why PASS ok github.com/novox/mesh-controller/internal/lint 3.350s PASS ok github.com/novox/mesh-controller/internal/outward 1.071s PASS ok github.com/novox/mesh-controller/internal/overlay 1.058s PASS ok github.com/novox/mesh-controller/internal/recordmirror 17.835s PASS ok github.com/novox/mesh-controller/internal/secrets 1.583s 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.734s 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.263s PASS ok github.com/novox/mesh-controller/internal/token 1.040s ok github.com/novox/mesh-controller/cmd/mesh-controller 187s (shard 1 of 8: 139 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 112s (shard 2 of 8: 139 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 122s (shard 3 of 8: 139 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 116s (shard 4 of 8: 138 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 91s (shard 5 of 8: 138 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 76s (shard 6 of 8: 138 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 52s (shard 7 of 8: 138 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 66s (shard 8 of 8: 138 tests) ok github.com/novox/mesh-controller/internal/inventory 26s (shard 1 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 25s (shard 2 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 24s (shard 3 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 24s (shard 4 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/builder 24s (shard 1 of 4: 54 tests) ok github.com/novox/mesh-controller/internal/builder 27s (shard 2 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/builder 38s (shard 3 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/builder 25s (shard 4 of 4: 53 tests) ok github.com/novox/mesh-controller/internal/link 24s (shard 1 of 4: 50 tests) ok github.com/novox/mesh-controller/internal/link 17s (shard 2 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 20s (shard 3 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 27s (shard 4 of 4: 49 tests) integration level (the whole suite, tag integration): 3328 tests (6 skipped outside the shards), 192 s nested module modules/build-agent: ok build-agent 1.015s 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.37s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.33s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.34s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.30s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.25s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.01s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.95s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.41s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.31s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.27s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.24s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.28s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.27s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.25s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.28s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.27s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.26s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.38s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.34s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.22s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.21s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.26s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.35s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.31s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.33s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.30s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.22s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.27s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.21s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.19s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.19s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.11s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.62s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.36s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.23s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.22s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.31s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.22s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.63s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.20s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.20s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.27s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.32s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (6.17s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.24s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.38s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.28s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.27s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.22s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.27s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.20s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.21s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.25s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.26s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.35s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.21s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.21s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.24s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.27s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.31s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.31s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.25s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.32s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.30s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.35s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.26s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.38s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.14s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.29s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (38.25s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (9.13s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (14.06s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.47s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.45s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.35s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.34s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.36s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.32s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.32s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.38s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.71s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.73s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.51s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.39s) ./cmd/mesh-controller --- PASS: TestReplay867 (4.57s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (4.42s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.37s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.24s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.37s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.27s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.26s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.42s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.58s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.23s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.92s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.91s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.74s) ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.98s) ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (1.18s) ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.76s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.10s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.10s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.11s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.11s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.09s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.08s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.11s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.10s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.08s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.11s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.12s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.10s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.08s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.11s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.09s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.46s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.12s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.52s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.11s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.09s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.10s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.10s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.09s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.13s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.11s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.10s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.08s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.39s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.51s) ```
mesh-tools merged commit 47f9290b37 into main 2026-10-17 22:20:20 +00:00
mesh-tools deleted branch feat/backup-before-send-controller 2026-10-17 22:20:20 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#376