The controller accepts a reviewed move of a module between repositories on the operator's Approve (issue 1025, ADR 0420) #369

Merged
mesh-tools merged 6 commits from feat/move-a-module into main 2026-10-17 15:39:58 +00:00
Member

Release 1 of design 47's phase II (issue 1025; ADR 0420 §4-§7, accepted 2026-10-17). One delivery group with mesh-catalog's feat/move-a-module (mesh-delivery announces each merge with its Approve).

  • A context naming the module's own repository is its own build source (ADR 0420 §4).
  • The merge gate judges a group's move of a module as a move: a name removed by one member and defined by another passes, both head orders; outside a group the refusals of issue 239 and ADR 0236 stand (§6).
  • Registration accepts a module's new repository only on mesh-delivery's merged announcement whose warrant, read back from the router, is the operator's Approve of that head (§7); a verb, no warrant or another head's warrant is still refused (ADR 0266 §44).
  • merge-check.sh vets and tests every nested Go module (§5).

Reviewed locally by an independent reviewer (round 2 of 3, approved at e42becb4). Integration test: moved_bus_test.go (store and bus), run by this merge check. Opened along the way: issue 1028 (hardening: match the head under its delivery id).

Release 1 of design 47's phase II (issue 1025; ADR 0420 §4-§7, accepted 2026-10-17). One delivery group with mesh-catalog's feat/move-a-module (mesh-delivery announces each merge with its Approve). - A context naming the module's own repository is its own build source (ADR 0420 §4). - The merge gate judges a group's move of a module as a move: a name removed by one member and defined by another passes, both head orders; outside a group the refusals of issue 239 and ADR 0236 stand (§6). - Registration accepts a module's new repository only on mesh-delivery's `merged` announcement whose warrant, read back from the router, is the operator's Approve of that head (§7); a verb, no warrant or another head's warrant is still refused (ADR 0266 §44). - merge-check.sh vets and tests every nested Go module (§5). Reviewed locally by an independent reviewer (round 2 of 3, approved at e42becb4). Integration test: moved_bus_test.go (store and bus), run by this merge check. Opened along the way: issue 1028 (hardening: match the head under its delivery id).
mesh-tools added 5 commits 2026-10-17 15:19:57 +00:00
issue 1025: the bus test makes the controller's consumers before it publishes mesh-delivery's word
mesh/merge-gate head e42becb479a4 merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — pass: builds build-agent, mesh-controller, route-proxy …
mesh/repo-check head e42becb479a4 merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — fail: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh):…
mesh/delivery-group group feat/move-a-module rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
e42becb479
Author
Member

Delivery novox/mesh-controller@7ee2b42230dc — delivered since 2026-10-17T15:46:20Z

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

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

Group feat/move-a-module, in order: novox/mesh-controller@7ee2b42230 → novox/mesh-catalog@40eed3a036

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 15:29 (new) → proposed (announced): novox/mesh-controller#369's head announced
  • 2026-10-17 15:36 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-17 15:36 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-17 15:41 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 15:41 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 15:46 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@7ee2b42230dc` — **delivered** since 2026-10-17T15:46:20Z **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller, route-proxy - tier 1: build-agent - ace: receives route-proxy, build-agent - g14: receives build-agent - novox: receives mesh-controller, route-proxy, build-agent - shanks: receives build-agent - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine **Group** `feat/move-a-module`, in order: novox/mesh-controller@7ee2b42230dc → novox/mesh-catalog@40eed3a036db - novox/mesh-controller@7ee2b42230dc before novox/mesh-catalog@40eed3a036db: built by - composed together: pass — every machine composes with the change as it did without (4 of 4 compose) **Machines** - mesh-controller on every machine running it: sent - route-proxy on every machine running it: sent - build-agent on every machine running it: sent **Transitions** - 2026-10-17 15:29 (new) → proposed (announced): novox/mesh-controller#369's head announced - 2026-10-17 15:36 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-17 15:36 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-17 15:41 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 15:41 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 15:46 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 e42becb4
Judged: head e42becb479a4 merged into trunk b8c810a3499c; read beside it: mesh-catalog 4c1d9adeaccb, mesh-controller-main b8c810a3499c, mesh-host cd13f7726ef0, mesh-tools 7412c5b6c9c5
Siblings read beside it: novox/mesh-catalog#348 40eed3a036db merged onto 0d2fc5e4d79c (main)

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: FAIL — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh failed: --- FAIL: TestTheMergeCheckVetsAndTestsEveryNestedGoModule (0.00s)

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/build_source_test.go, cmd/mesh-controller/merge_check_nested_test.go, cmd/mesh-controller/merge_gate_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/moved_test.go, cmd/mesh-controller/planner_rules_test.go, internal/broker/testdata/composed.conf, internal/link/contracts_test.go, merge-check.sh, testdata/store-tests

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

  ✓ docker port (0s)
  $ (.) docker exec build-1792250620197546038-store pg_isready -U postgres
  ✓ docker exec (0s)
  $ (.) docker run --label mesh.build=build-1792250620197546038 -d --rm --name build-1792250620197546038-bus -p 127.0.0.1::4222 nats:2.11.17-alpine -js
  ✓ docker run (1ms)
  $ (.) docker port build-1792250620197546038-bus 4222/tcp
  ✓ docker port (0s)
  $ (mesh-con) git rev-parse --verify --quiet HEAD^{tree}
  ✓ git rev-parse (1ms)
  $ (mesh-hos) git rev-parse --verify --quiet HEAD^{tree}
  ✓ git rev-parse (1ms)
  $ (mesh-con) git rev-parse --verify --quiet HEAD^{commit}
  ✓ git rev-parse (1ms)
  $ (check) git clone --quiet --no-local --no-checkout /tmp/TestReplay8671105482020/006/check/mesh-controller /tmp/TestReplay8671105482020/006/check/judge-src
  ✓ git clone (31ms)
  $ (judge-sr) git checkout --quiet --detach b2475d4f66739d87840cd83e3a4f13191d13a1f8
  ✓ git checkout (3ms)
  $ (check) docker run --label mesh.build=build-1792250620197546038 --volume /tmp/TestReplay8671105482020/001/homes/build-1792250620197546038:/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038 --volume /tmp/TestReplay8671105482020/001/go-cache:/tmp/TestReplay8671105482020/001/go-cache --rm --network host --volume /tmp/TestReplay8671105482020/006:/tmp/TestReplay8671105482020/006 --workdir /tmp/TestReplay8671105482020/006/check/judge-src --user 0:0 --env HOME=/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038 --env GIT_CONFIG_COUNT=1 --env GIT_CONFIG_KEY_0=safe.directory --env GIT_CONFIG_VALUE_0=* --env XDG_CONFIG_HOME=/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038/.config --env GIT_CONFIG_GLOBAL=/dev/null --env GIT_CONFIG_NOSYSTEM=1 --env GOENV=off --env GOCACHE=/tmp/TestReplay8671105482020/001/go-cache --env GOPATH=/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038/go --env CGO_ENABLED=0 --env GOFLAGS=-mod=vendor -buildvcs=false --env GOPROXY=off golang go build -o /tmp/TestReplay8671105482020/006/check/bin/judge-of-the-group ./cmd/mesh-controller
  ✓ docker run (169ms)
  $ (.) docker ps -aq --filter label=mesh.build=build-1792250620197546038
  ✓ docker ps (0s)
release-1792250621230207913: 2 build(s) wait for a gate on anchor, laptop; one machine first, then the rest at once, each judged
release-1792250621230207913: sent anchor 1 build(s) that waited for a gate; judging them there
plan-app: tier 0 built; anchor already runs app's build: nothing sent again, judged from that send, going on from the readings of release-1792250621230207913
settings-1792250621937432229: the settings of app on the whole mesh — approved (ask s3): sent to anchor, laptop, one machine at a time, each judged
settings-1792250621937432229: sent anchor the settings of app on the whole mesh (ask s3), every build there kept; judging app there
settings-1792250621937432229: sent laptop the settings of app on the whole mesh (ask s3), every build there kept; judging app there
settings-1792250621937432229: the settings of app on the whole mesh (ask s3) delivered on anchor, laptop
mailer on the whole mesh:
  + tags.todo.name
  run `push --behind` to send it to the machines running it
plan-tier: tier 0 built; sent 2 module(s) to anchor first in one send (node-tools, app1), the rest once its gate passes
plan-tier: node-tools passed its gate on anchor (healthy 1 times over 0s, by the tool runner's rule: one reading once it answers, after the node-engine's witness window (novox/hq ADR 0351)); the rest are sent
plan-tier: tier 0 built; sent node-tools, app1 to laptop, one send each
plan-tier: done — novox/mesh-catalog at c2, 1 tier(s)
requests on laptop now holds "tv-api" from anchor, sealed to both machines.
  the mesh cannot read it back, will not replace it with one of its own, and will not rotate it
  run `push anchor` and `push laptop` to send it
the vault now holds accept/<nil> (generation 1), accepted: sealed at this terminal to the vault's key for this call, opened in the vault alone and never remade by it; its machine takes it from the vault
this act by hand could NOT be recorded in the hand-act log, and is done anyway: the hand-act log mesh-controller_hand-acts is not on the bus — the controller asserts it at its start, so one older than this has not: nats: bucket not found
release-1792250636299130592: 2 build(s) wait for a gate on anchor, laptop; one machine first, then the rest at once, each judged
release-1792250636299130592 releases it; `plans release-1792250636299130592` says where it is
FAIL
FAIL	github.com/novox/mesh-controller/cmd/mesh-controller	65s	(shard 6 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	64s	(shard 7 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	124s	(shard 8 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	14s	(shard 1 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	14s	(shard 2 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	13s	(shard 3 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	13s	(shard 4 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/builder	16s	(shard 1 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	18s	(shard 2 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	32s	(shard 3 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	37s	(shard 4 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/link	22s	(shard 1 of 4: 50 tests)
ok  	github.com/novox/mesh-controller/internal/link	19s	(shard 2 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	21s	(shard 3 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	17s	(shard 4 of 4: 49 tests)
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.26s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.27s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.28s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.25s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.23s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.00s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.86s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.36s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.18s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.24s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.20s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.20s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.26s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.31s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.24s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.22s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.22s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.22s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.35s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.38s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.18s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.17s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.18s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.32s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.28s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.28s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.28s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.19s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.23s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.20s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.17s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.27s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.16s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.08s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.62s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.34s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.19s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.19s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.18s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.50s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.17s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.16s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.23s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.50s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.65s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.22s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.41s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.24s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.21s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.20s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.24s)
  ./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.20s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.31s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.20s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.17s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.22s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.23s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.26s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.25s)
  ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.21s)
  ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.27s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.25s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.29s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.23s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.21s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.39s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.25s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.16s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (21.35s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (7.37s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (10.77s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.37s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.37s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.28s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.32s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.25s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.28s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.37s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.69s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.72s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.54s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.43s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (3.43s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (3.25s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.32s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (3.07s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (2.97s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.19s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.52s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.41s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.42s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.39s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.59s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.26s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.62s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.82s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.83s)
  ./cmd/mesh-controller --- FAIL: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (3.26s)
  ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (1.73s)
  ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.72s)
  ./cmd/mesh-controller FAIL: go test exited 1
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.13s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.13s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.10s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.10s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.09s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.08s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.23s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.13s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.13s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.12s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.14s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.12s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.09s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.10s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.10s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.50s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.13s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.13s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.12s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.13s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.11s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.17s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.12s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.12s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.12s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.10s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.11s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.58s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.51s)
2 store test(s) listed in testdata/store-tests did not run and pass against the store
--- what failed, picked from the whole of its output (the whole is in the build's log)
FAIL	github.com/novox/mesh-controller/cmd/mesh-controller	71s	(shard 5 of 8: 134 tests)
--- FAIL: TestTheMergeCheckVetsAndTestsEveryNestedGoModule (0.00s)
    merge_check_nested_test.go:35: a repository with no nested module failed: exit status 2
        lstat cmd: no such file or directory
        lstat internal: no such file or directory
        lstat examples: no such file or directory
FAIL	github.com/novox/mesh-controller/cmd/mesh-controller	65s	(shard 6 of 8: 134 tests)
**Merge check** at `e42becb4` Judged: head `e42becb479a4` merged into trunk `b8c810a3499c`; read beside it: mesh-catalog `4c1d9adeaccb`, mesh-controller-main `b8c810a3499c`, mesh-host `cd13f7726ef0`, mesh-tools `7412c5b6c9c5` Siblings read beside it: novox/mesh-catalog#348 `40eed3a036db` merged onto `0d2fc5e4d79c` (main) - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **FAIL** — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh failed: --- FAIL: TestTheMergeCheckVetsAndTestsEveryNestedGoModule (0.00s) **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/build_source_test.go, cmd/mesh-controller/merge_check_nested_test.go, cmd/mesh-controller/merge_gate_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/moved_test.go, cmd/mesh-controller/planner_rules_test.go, internal/broker/testdata/composed.conf, internal/link/contracts_test.go, merge-check.sh, testdata/store-tests Run by the build seat on ace as `build-1792250399175088280` (`builds --log build-1792250399175088280`). ``` ✓ docker port (0s) $ (.) docker exec build-1792250620197546038-store pg_isready -U postgres ✓ docker exec (0s) $ (.) docker run --label mesh.build=build-1792250620197546038 -d --rm --name build-1792250620197546038-bus -p 127.0.0.1::4222 nats:2.11.17-alpine -js ✓ docker run (1ms) $ (.) docker port build-1792250620197546038-bus 4222/tcp ✓ docker port (0s) $ (mesh-con) git rev-parse --verify --quiet HEAD^{tree} ✓ git rev-parse (1ms) $ (mesh-hos) git rev-parse --verify --quiet HEAD^{tree} ✓ git rev-parse (1ms) $ (mesh-con) git rev-parse --verify --quiet HEAD^{commit} ✓ git rev-parse (1ms) $ (check) git clone --quiet --no-local --no-checkout /tmp/TestReplay8671105482020/006/check/mesh-controller /tmp/TestReplay8671105482020/006/check/judge-src ✓ git clone (31ms) $ (judge-sr) git checkout --quiet --detach b2475d4f66739d87840cd83e3a4f13191d13a1f8 ✓ git checkout (3ms) $ (check) docker run --label mesh.build=build-1792250620197546038 --volume /tmp/TestReplay8671105482020/001/homes/build-1792250620197546038:/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038 --volume /tmp/TestReplay8671105482020/001/go-cache:/tmp/TestReplay8671105482020/001/go-cache --rm --network host --volume /tmp/TestReplay8671105482020/006:/tmp/TestReplay8671105482020/006 --workdir /tmp/TestReplay8671105482020/006/check/judge-src --user 0:0 --env HOME=/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038 --env GIT_CONFIG_COUNT=1 --env GIT_CONFIG_KEY_0=safe.directory --env GIT_CONFIG_VALUE_0=* --env XDG_CONFIG_HOME=/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038/.config --env GIT_CONFIG_GLOBAL=/dev/null --env GIT_CONFIG_NOSYSTEM=1 --env GOENV=off --env GOCACHE=/tmp/TestReplay8671105482020/001/go-cache --env GOPATH=/tmp/TestReplay8671105482020/001/homes/build-1792250620197546038/go --env CGO_ENABLED=0 --env GOFLAGS=-mod=vendor -buildvcs=false --env GOPROXY=off golang go build -o /tmp/TestReplay8671105482020/006/check/bin/judge-of-the-group ./cmd/mesh-controller ✓ docker run (169ms) $ (.) docker ps -aq --filter label=mesh.build=build-1792250620197546038 ✓ docker ps (0s) release-1792250621230207913: 2 build(s) wait for a gate on anchor, laptop; one machine first, then the rest at once, each judged release-1792250621230207913: sent anchor 1 build(s) that waited for a gate; judging them there plan-app: tier 0 built; anchor already runs app's build: nothing sent again, judged from that send, going on from the readings of release-1792250621230207913 settings-1792250621937432229: the settings of app on the whole mesh — approved (ask s3): sent to anchor, laptop, one machine at a time, each judged settings-1792250621937432229: sent anchor the settings of app on the whole mesh (ask s3), every build there kept; judging app there settings-1792250621937432229: sent laptop the settings of app on the whole mesh (ask s3), every build there kept; judging app there settings-1792250621937432229: the settings of app on the whole mesh (ask s3) delivered on anchor, laptop mailer on the whole mesh: + tags.todo.name run `push --behind` to send it to the machines running it plan-tier: tier 0 built; sent 2 module(s) to anchor first in one send (node-tools, app1), the rest once its gate passes plan-tier: node-tools passed its gate on anchor (healthy 1 times over 0s, by the tool runner's rule: one reading once it answers, after the node-engine's witness window (novox/hq ADR 0351)); the rest are sent plan-tier: tier 0 built; sent node-tools, app1 to laptop, one send each plan-tier: done — novox/mesh-catalog at c2, 1 tier(s) requests on laptop now holds "tv-api" from anchor, sealed to both machines. the mesh cannot read it back, will not replace it with one of its own, and will not rotate it run `push anchor` and `push laptop` to send it the vault now holds accept/<nil> (generation 1), accepted: sealed at this terminal to the vault's key for this call, opened in the vault alone and never remade by it; its machine takes it from the vault this act by hand could NOT be recorded in the hand-act log, and is done anyway: the hand-act log mesh-controller_hand-acts is not on the bus — the controller asserts it at its start, so one older than this has not: nats: bucket not found release-1792250636299130592: 2 build(s) wait for a gate on anchor, laptop; one machine first, then the rest at once, each judged release-1792250636299130592 releases it; `plans release-1792250636299130592` says where it is FAIL FAIL github.com/novox/mesh-controller/cmd/mesh-controller 65s (shard 6 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 64s (shard 7 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 124s (shard 8 of 8: 134 tests) ok github.com/novox/mesh-controller/internal/inventory 14s (shard 1 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 14s (shard 2 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 13s (shard 3 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/inventory 13s (shard 4 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/builder 16s (shard 1 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 18s (shard 2 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 32s (shard 3 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 37s (shard 4 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/link 22s (shard 1 of 4: 50 tests) ok github.com/novox/mesh-controller/internal/link 19s (shard 2 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 21s (shard 3 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 17s (shard 4 of 4: 49 tests) store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.26s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.27s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.28s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.28s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.25s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.23s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.00s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (0.86s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.36s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.18s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.24s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.20s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.20s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.26s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.31s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.24s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.22s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.22s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.29s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.22s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.35s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.38s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.18s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.17s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.18s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.32s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.28s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.28s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.28s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.19s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.23s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.20s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.17s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.27s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.16s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.08s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.62s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.34s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.19s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.19s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.18s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.50s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.17s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.16s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.23s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.50s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (5.65s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.22s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.41s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.24s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.21s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.20s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.24s) ./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.20s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.31s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.20s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.17s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.22s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOwnSecretTakesThePathOfItsModulesForm (0.23s) ./cmd/mesh-controller --- PASS: TestAcceptForAProviderTakesThePathOfTheProvidersModule (0.26s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedTrustedModuleAnnouncesBeforeTheVaultIsAsked (0.25s) ./cmd/mesh-controller --- PASS: TestAcceptForAMovedModuleRecordsAHandActAndNeverTheValue (0.21s) ./cmd/mesh-controller --- PASS: TestAcceptOfAnOutsideOfferTakesThePathOfTheProvidersModule (0.27s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.25s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.29s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.23s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.21s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.39s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.25s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.16s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (21.35s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (7.37s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (10.77s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.37s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.37s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.29s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.28s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.32s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.25s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.28s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.37s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.69s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (0.72s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.54s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.43s) ./cmd/mesh-controller --- PASS: TestReplay867 (3.43s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (3.25s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.32s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (3.07s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (2.97s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.19s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.52s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.41s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.42s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.39s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.59s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.26s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.62s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.82s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.83s) ./cmd/mesh-controller --- FAIL: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (3.26s) ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (1.73s) ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.72s) ./cmd/mesh-controller FAIL: go test exited 1 ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.13s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.13s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.10s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.10s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.09s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.08s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.23s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.13s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.13s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.12s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.14s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.12s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.09s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.10s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.10s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.50s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.13s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.13s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.12s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.13s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.11s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.17s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.12s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.12s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.12s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.10s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.11s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.58s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.51s) 2 store test(s) listed in testdata/store-tests did not run and pass against the store --- what failed, picked from the whole of its output (the whole is in the build's log) FAIL github.com/novox/mesh-controller/cmd/mesh-controller 71s (shard 5 of 8: 134 tests) --- FAIL: TestTheMergeCheckVetsAndTestsEveryNestedGoModule (0.00s) merge_check_nested_test.go:35: a repository with no nested module failed: exit status 2 lstat cmd: no such file or directory lstat internal: no such file or directory lstat examples: no such file or directory FAIL github.com/novox/mesh-controller/cmd/mesh-controller 65s (shard 6 of 8: 134 tests) ```
jschoubben added 1 commit 2026-10-17 15:29:57 +00:00
issue 1025: the nested-module check is a file of its own, and the gate test keeps the app module in its repository
mesh/merge-gate head 7ee2b42230dc merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — pass: builds build-agent, mesh-controller, route-proxy …
mesh/repo-check head 7ee2b42230dc merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh):…
mesh/delivery delivered
mesh/delivery-group group feat/move-a-module delivered: every member is delivered
7ee2b42230
Author
Member

Merge check at 7ee2b422
Judged: head 7ee2b42230dc merged into trunk b8c810a3499c; read beside it: mesh-catalog 0b0503a29e5e, mesh-controller-main b8c810a3499c, mesh-host cd13f7726ef0, mesh-tools 7412c5b6c9c5
Siblings read beside it: novox/mesh-catalog#348 40eed3a036db merged onto 0d2fc5e4d79c (main)

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: PASS — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; 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: check-nested-modules.sh, cmd/mesh-controller/build_source_test.go, cmd/mesh-controller/merge_check_nested_test.go, cmd/mesh-controller/merge_gate_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/moved_test.go, cmd/mesh-controller/planner_rules_test.go, internal/broker/testdata/composed.conf, internal/link/contracts_test.go, merge-check.sh, testdata/store-tests

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


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

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

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

notes:
  - check-nested-modules.sh, cmd/mesh-controller/build_source_test.go, cmd/mesh-controller/merge_check_nested_test.go, cmd/mesh-controller/merge_gate_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/moved_test.go, cmd/mesh-controller/planner_rules_test.go, internal/broker/testdata/composed.conf, internal/link/contracts_test.go, merge-check.sh and testdata/store-tests read by no module's build, and rebuild nothing (issue 280)
--- THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-controller/cmd/mesh-builder	1.139s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.021s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.033s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.021s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.206s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.063s
?   	github.com/novox/mesh-controller/internal/beside	[no test files]
ok  	github.com/novox/mesh-controller/internal/broker	61.920s
ok  	github.com/novox/mesh-controller/internal/catalogue	22.228s
ok  	github.com/novox/mesh-controller/internal/conditions	4.460s
ok  	github.com/novox/mesh-controller/internal/envfile	1.037s
ok  	github.com/novox/mesh-controller/internal/facts	1.065s
ok  	github.com/novox/mesh-controller/internal/identity	24.532s
ok  	github.com/novox/mesh-controller/internal/lease	10.348s
ok  	github.com/novox/mesh-controller/internal/licences	18.051s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.035s
ok  	github.com/novox/mesh-controller/internal/lint	4.125s
ok  	github.com/novox/mesh-controller/internal/outward	1.139s
ok  	github.com/novox/mesh-controller/internal/overlay	1.138s
ok  	github.com/novox/mesh-controller/internal/recordmirror	20.647s
ok  	github.com/novox/mesh-controller/internal/secrets	1.699s
ok  	github.com/novox/mesh-controller/internal/store	8.738s
ok  	github.com/novox/mesh-controller/internal/testbus	1.299s
ok  	github.com/novox/mesh-controller/internal/token	1.105s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	107s	(shard 1 of 8: 135 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	50s	(shard 2 of 8: 135 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	121s	(shard 3 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	95s	(shard 4 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	105s	(shard 5 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	91s	(shard 6 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	89s	(shard 7 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	169s	(shard 8 of 8: 134 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	40s	(shard 1 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	39s	(shard 2 of 4: 78 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	38s	(shard 3 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/inventory	37s	(shard 4 of 4: 77 tests)
ok  	github.com/novox/mesh-controller/internal/builder	37s	(shard 1 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	41s	(shard 2 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	47s	(shard 3 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/builder	61s	(shard 4 of 4: 55 tests)
ok  	github.com/novox/mesh-controller/internal/link	31s	(shard 1 of 4: 50 tests)
ok  	github.com/novox/mesh-controller/internal/link	29s	(shard 2 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	31s	(shard 3 of 4: 49 tests)
ok  	github.com/novox/mesh-controller/internal/link	32s	(shard 4 of 4: 49 tests)
store tests, each run against the store:
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.38s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.35s)
  ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.40s)
  ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.33s)
  ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.38s)
  ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.30s)
  ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.11s)
  ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (1.04s)
  ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.56s)
  ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.23s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.28s)
  ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.24s)
  ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.25s)
  ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.32s)
  ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.25s)
  ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.29s)
  ./cmd/mesh-controller --- PASS: TestReplay237 (0.32s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.29s)
  ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s)
  ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s)
  ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.41s)
  ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.38s)
  ./cmd/mesh-controller --- PASS: TestReplay201 (0.22s)
  ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.33s)
  ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.24s)
  ./cmd/mesh-controller --- PASS: TestReplay401 (0.43s)
  ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.36s)
  ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.35s)
  ./cmd/mesh-controller --- PASS: TestReplay340 (0.73s)
  ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.23s)
  ./cmd/mesh-controller --- PASS: TestReplay349 (0.37s)
  ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.31s)
  ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.26s)
  ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.29s)
  ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.21s)
  ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.12s)
  ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.75s)
  ./cmd/mesh-controller --- PASS: TestReplay164 (0.46s)
  ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.23s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.24s)
  ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.24s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.23s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.63s)
  ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.21s)
  ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.21s)
  ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.28s)
  ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.42s)
  ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (7.53s)
  ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.27s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.41s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.33s)
  ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.27s)
  ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.25s)
  ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.33s)
  ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.22s)
  ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.21s)
  ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.26s)
  ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.25s)
  ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.35s)
  ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.25s)
  ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.27s)
  ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.37s)
  ./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.33s)
  ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.30s)
  ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.34s)
  ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.27s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.54s)
  ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.72s)
  ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.33s)
  ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s)
  ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (26.80s)
  ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (12.39s)
  ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (13.24s)
  ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.50s)
  ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.48s)
  ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.38s)
  ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.38s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.36s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.30s)
  ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.31s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.63s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.87s)
  ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (1.09s)
  ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.75s)
  ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.44s)
  ./cmd/mesh-controller --- PASS: TestReplay867 (5.41s)
  ./cmd/mesh-controller --- PASS: TestReplay867Recheck (5.06s)
  ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.46s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (4.14s)
  ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (4.06s)
  ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.31s)
  ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.56s)
  ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.31s)
  ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.33s)
  ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.40s)
  ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.62s)
  ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.25s)
  ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.69s)
  ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.88s)
  ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.91s)
  ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.88s)
  ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (1.87s)
  ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.76s)
  ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.15s)
  ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.17s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.10s)
  ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.09s)
  ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.08s)
  ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.13s)
  ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.13s)
  ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.20s)
  ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.12s)
  ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s)
  ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.10s)
  ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.08s)
  ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.11s)
  ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s)
  ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.13s)
  ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.44s)
  ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.10s)
  ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.12s)
  ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.24s)
  ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.13s)
  ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.20s)
  ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.15s)
  ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.15s)
  ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.12s)
  ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s)
  ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.10s)
  ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s)
  ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.13s)
  ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.62s)
  ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.56s)
**Merge check** at `7ee2b422` Judged: head `7ee2b42230dc` merged into trunk `b8c810a3499c`; read beside it: mesh-catalog `0b0503a29e5e`, mesh-controller-main `b8c810a3499c`, mesh-host `cd13f7726ef0`, mesh-tools `7412c5b6c9c5` Siblings read beside it: novox/mesh-catalog#348 `40eed3a036db` merged onto `0d2fc5e4d79c` (main) - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **PASS** — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; 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: check-nested-modules.sh, cmd/mesh-controller/build_source_test.go, cmd/mesh-controller/merge_check_nested_test.go, cmd/mesh-controller/merge_gate_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/moved_test.go, cmd/mesh-controller/planner_rules_test.go, internal/broker/testdata/composed.conf, internal/link/contracts_test.go, merge-check.sh, testdata/store-tests Run by the build seat on shanks as `build-1792250998997742786` (`builds --log build-1792250998997742786`). ``` modules the change moves: - mesh-controller (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 3 module(s) in 2 tier(s): build-agent, mesh-controller, route-proxy notes: - check-nested-modules.sh, cmd/mesh-controller/build_source_test.go, cmd/mesh-controller/merge_check_nested_test.go, cmd/mesh-controller/merge_gate_test.go, cmd/mesh-controller/moved_bus_test.go, cmd/mesh-controller/moved_test.go, cmd/mesh-controller/planner_rules_test.go, internal/broker/testdata/composed.conf, internal/link/contracts_test.go, merge-check.sh and testdata/store-tests read by no module's build, and rebuild nothing (issue 280) --- THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-controller/cmd/mesh-builder 1.139s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.021s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.033s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.021s ok github.com/novox/mesh-controller/examples/route-proxy 1.206s ok github.com/novox/mesh-controller/internal/artifacts 1.063s ? github.com/novox/mesh-controller/internal/beside [no test files] ok github.com/novox/mesh-controller/internal/broker 61.920s ok github.com/novox/mesh-controller/internal/catalogue 22.228s ok github.com/novox/mesh-controller/internal/conditions 4.460s ok github.com/novox/mesh-controller/internal/envfile 1.037s ok github.com/novox/mesh-controller/internal/facts 1.065s ok github.com/novox/mesh-controller/internal/identity 24.532s ok github.com/novox/mesh-controller/internal/lease 10.348s ok github.com/novox/mesh-controller/internal/licences 18.051s ok github.com/novox/mesh-controller/internal/licences/adapters 1.035s ok github.com/novox/mesh-controller/internal/lint 4.125s ok github.com/novox/mesh-controller/internal/outward 1.139s ok github.com/novox/mesh-controller/internal/overlay 1.138s ok github.com/novox/mesh-controller/internal/recordmirror 20.647s ok github.com/novox/mesh-controller/internal/secrets 1.699s ok github.com/novox/mesh-controller/internal/store 8.738s ok github.com/novox/mesh-controller/internal/testbus 1.299s ok github.com/novox/mesh-controller/internal/token 1.105s ok github.com/novox/mesh-controller/cmd/mesh-controller 107s (shard 1 of 8: 135 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 50s (shard 2 of 8: 135 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 121s (shard 3 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 95s (shard 4 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 105s (shard 5 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 91s (shard 6 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 89s (shard 7 of 8: 134 tests) ok github.com/novox/mesh-controller/cmd/mesh-controller 169s (shard 8 of 8: 134 tests) ok github.com/novox/mesh-controller/internal/inventory 40s (shard 1 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 39s (shard 2 of 4: 78 tests) ok github.com/novox/mesh-controller/internal/inventory 38s (shard 3 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/inventory 37s (shard 4 of 4: 77 tests) ok github.com/novox/mesh-controller/internal/builder 37s (shard 1 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 41s (shard 2 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 47s (shard 3 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/builder 61s (shard 4 of 4: 55 tests) ok github.com/novox/mesh-controller/internal/link 31s (shard 1 of 4: 50 tests) ok github.com/novox/mesh-controller/internal/link 29s (shard 2 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 31s (shard 3 of 4: 49 tests) ok github.com/novox/mesh-controller/internal/link 32s (shard 4 of 4: 49 tests) store tests, each run against the store: ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeWalksTheOthersAgain (0.38s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeEndsTheMergesThatContainIt (0.35s) ./cmd/mesh-controller --- PASS: TestAStopWalksTheOthersAgainInTheOpenBatch (0.40s) ./cmd/mesh-controller --- PASS: TestAStopNamesWhatStaysOnTheMachinesAndWhatStillCarriesIt (0.33s) ./cmd/mesh-controller --- PASS: TestAStopWithoutAMergeLeavesItOutOfABatch (0.38s) ./cmd/mesh-controller --- PASS: TestSavingPlansAndMovingMergesIsOneAct (0.30s) ./cmd/mesh-controller --- PASS: TestAPlanFollowedFromTheStoreAnswersWhenItMoves (2.11s) ./cmd/mesh-controller --- PASS: TestIssue969TheGateRaisesEachMachineAsItsEngineStatedItself (1.04s) ./cmd/mesh-controller --- PASS: TestNodeShowAndStatusReadTheLastSendFromTheStore (0.56s) ./cmd/mesh-controller --- PASS: TestTheConditionsVerbReadsTheLooksTheBucketNoLongerHolds (0.23s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoAndStoppedByVerbsIsSaidStartedAndEnded (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedOrClosedByAPersonIsSaidEndedStopped (0.28s) ./cmd/mesh-controller --- PASS: TestAWalkRetriedByAPersonIsSaidStartedAgain (0.24s) ./cmd/mesh-controller --- PASS: TestABacklogReleasedByAPersonIsSaidStarted (0.25s) ./cmd/mesh-controller --- PASS: TestAWalkEndedByCancelOrClearIsSaidEnded (0.32s) ./cmd/mesh-controller --- PASS: TestAWalkRestartedByARebuildIsSaidStarted (0.25s) ./cmd/mesh-controller --- PASS: TestAWalkStoppedByHandAndRetriedEndsFailedWhenItFailsAgain (0.29s) ./cmd/mesh-controller --- PASS: TestReplay237 (0.32s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeUnresolvedSaysSoOnceInItsAnswer (0.29s) ./cmd/mesh-controller --- PASS: TestAnUnassignThatLeavesItsNodeResolvedSaysNothingOfIt (0.29s) ./cmd/mesh-controller --- PASS: TestAnAssignThatLeavesItsNodeUnresolvedSaysOnlyThePlansRefusal (0.29s) ./cmd/mesh-controller --- PASS: TestADirectoryOwnersKeyIsRefusedThroughAVerb (0.29s) ./cmd/mesh-controller --- PASS: TestTheSendMakesNoValueForAnOutsideSecretNobodyGave (0.41s) ./cmd/mesh-controller --- PASS: TestAQuestionComposesWithoutAnOutsideSecretNobodyGave (0.38s) ./cmd/mesh-controller --- PASS: TestReplay201 (0.22s) ./cmd/mesh-controller --- PASS: TestARollbackWhoseSendWasRefusedIsCompletedByTheNextSend (0.33s) ./cmd/mesh-controller --- PASS: TestAGateJudgesTheOtherMovesBesideAKeptCore (0.24s) ./cmd/mesh-controller --- PASS: TestReplay401 (0.43s) ./cmd/mesh-controller --- PASS: TestReplay201ThePlansSend (0.36s) ./cmd/mesh-controller --- PASS: TestPlanAndNodeListAnOptionalRequirementLeftUnbound (0.35s) ./cmd/mesh-controller --- PASS: TestReplay340 (0.73s) ./cmd/mesh-controller --- PASS: TestOnlyATrustedFilesNamedKeyIsRefusedThroughAVerb (0.23s) ./cmd/mesh-controller --- PASS: TestReplay349 (0.37s) ./cmd/mesh-controller --- PASS: TestReplay348AFaultFromBeforeTheSendFailsNoGate (0.31s) ./cmd/mesh-controller --- PASS: TestReplay239AModuleNameIsNotTakenOverByAnotherRepository (0.26s) ./cmd/mesh-controller --- PASS: TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns (0.29s) ./cmd/mesh-controller --- PASS: TestAWalkWhoseEveryBuildCameOutTheSameIsDone (0.21s) ./cmd/mesh-controller --- PASS: TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles (0.12s) ./cmd/mesh-controller --- PASS: TestOneAcceptForAProviderIsPlacedForEveryConsumer (0.75s) ./cmd/mesh-controller --- PASS: TestReplay164 (0.46s) ./cmd/mesh-controller --- PASS: TestAnApprovedLayerOpensTheWalkThatSendsIt (0.23s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsOneMachineAtATimeEachJudged (0.24s) ./cmd/mesh-controller --- PASS: TestAFailedSettingsWalkStopsAndHoldsNothingBack (0.24s) ./cmd/mesh-controller --- PASS: TestASettingsWalkSendsTheLayerAloneEveryBuildKept (0.23s) ./cmd/mesh-controller --- PASS: TestASettingsWalkStopsBeforeADataMoveAndPassesOverAMachineAway (0.63s) ./cmd/mesh-controller --- PASS: TestACrossingSendSupersedesASettingsGate (0.21s) ./cmd/mesh-controller --- PASS: TestASettingsWalkFailsOnARefusalThatCannotClear (0.21s) ./cmd/mesh-controller --- PASS: TestAProviderElsewhereServesItsOwnComposedName (0.28s) ./cmd/mesh-controller --- PASS: TestAReusedCheckBuildIsRegisteredByItsDigestAndGatedAsABuiltOne (0.42s) ./cmd/mesh-controller --- PASS: TestTheMergeGateJudgesEachManifestAgainstTheListOfTheTree (7.53s) ./cmd/mesh-controller --- PASS: TestRegistrationPublishesTheNewestTrunkListAndJudgesEveryModuleAgainstIt (0.27s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterPlacementMoves (0.41s) ./cmd/mesh-controller --- PASS: TestAReleaseSendsTheRestAtOnceAfterTheFirstPasses (0.33s) ./cmd/mesh-controller --- PASS: TestARestMachineThatFailsIsPutBackAloneAndTheOthersAreJudgedOn (0.27s) ./cmd/mesh-controller --- PASS: TestAWalkTakesOverTheReadingsOfAGateJudgingTheSameBuildThere (0.25s) ./cmd/mesh-controller --- PASS: TestAFirstSendMadeAndNotKeptIsNotSentAgain (0.33s) ./cmd/mesh-controller --- PASS: TestAReleaseSendKeptAndMadeIsNotMadeAgain (0.22s) ./cmd/mesh-controller --- PASS: TestAFirstMachineThatFailsStillStopsTheWalk (0.21s) ./cmd/mesh-controller --- PASS: TestTheControlNodeIsSentLastInAStep (0.26s) ./cmd/mesh-controller --- PASS: TestARestMachineSilentPastItsBoundIsLeftAndSaid (0.25s) ./cmd/mesh-controller --- PASS: TestANoMoveTierWaitsForNoNewReport (0.35s) ./cmd/mesh-controller --- PASS: TestOneProviderDownAndThreeConsumersFailingAreOneCondition (0.25s) ./cmd/mesh-controller --- PASS: TestAConsumerFailingBesideAHealthyProviderIsItsOwn (0.27s) ./cmd/mesh-controller --- PASS: TestTheProvisionerClientsAccountIsIssuedForItsServiceAndNeverInvented (0.37s) ./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.33s) ./cmd/mesh-controller --- PASS: TestAnAskAtTheDeskTakesThePathOfItsModulesForm (0.30s) ./cmd/mesh-controller --- PASS: TestAnIssuedValueTakesThePathOfItsProvidersModule (0.34s) ./cmd/mesh-controller --- PASS: TestARotationTakesThePathOfItsModulesForm (0.27s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameWhileTheWordsAreStillInTheLayers (2.54s) ./cmd/mesh-controller --- PASS: TestADeclarationIsTheSameAfterTheMoveOfPlacement (4.72s) ./cmd/mesh-controller --- PASS: TestTheSendSealsNoSecretOfAModuleHandedThere (0.33s) ./cmd/mesh-controller --- PASS: TestAModulesSecretsAreTheVaultsOnceItIsMarkedMoved (0.20s) ./cmd/mesh-controller --- PASS: TestEveryMachineIsToldTheSameAfterTheMoveOfConfig (26.80s) ./cmd/mesh-controller --- PASS: TestTheMoveOfConfigRefusesWhatWouldChangeAMachine (12.39s) ./cmd/mesh-controller --- PASS: TestTheSettingsVerbForwardsToConfigOnceTheValuesMoved (13.24s) ./cmd/mesh-controller --- PASS: TestTheSendCarriesTheVaultsBoxForACoreCredentialAndKeepsIt (0.50s) ./cmd/mesh-controller --- PASS: TestASilentVaultHoldsTheKeptBoxAndSaysSo (0.48s) ./cmd/mesh-controller --- PASS: TestACoreModuleFirstPlacedWhileTheVaultIsSilentIsSealedByTheController (0.38s) ./cmd/mesh-controller --- PASS: TestAnEngineBelowTheContractIsSentTheControllersSealAsBefore (0.38s) ./cmd/mesh-controller --- PASS: TestModuleIssueHandsACoveredAccountToTheVaultAndOnlyThat (0.36s) ./cmd/mesh-controller --- PASS: TestModuleIssueFailsWhenTheVaultDoesNotTakeACoveredAccount (0.30s) ./cmd/mesh-controller --- PASS: TestModuleIssueBeforeTheVaultIsInstalledKeepsTheValueAndHandsNothing (0.31s) ./cmd/mesh-controller --- PASS: TestARecordedModulesBundleOnlyMoveRollsOutInItsWalk (0.63s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatRecreatesAContainerWaits (0.87s) ./cmd/mesh-controller --- PASS: TestARecordedModulesMoveThatTouchesDataOrAProviderWaits (1.09s) ./cmd/mesh-controller --- PASS: TestAPersonsRecordAndTheBusHoldEveryMove (0.75s) ./cmd/mesh-controller --- PASS: TestARecordedMoveThatCannotBeJudgedWaits (0.44s) ./cmd/mesh-controller --- PASS: TestReplay867 (5.41s) ./cmd/mesh-controller --- PASS: TestReplay867Recheck (5.06s) ./cmd/mesh-controller --- PASS: TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn (0.46s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionIntoAReleaseBranchIsJudgedByItsOwnController (4.14s) ./cmd/mesh-controller --- PASS: TestAGroupsCompositionJudgedWithTheValidatorIntoAReleaseBranchIsJudgedByItsOwnController (4.06s) ./cmd/mesh-controller --- PASS: TestAssigningTheClientIssuesItsAccount (0.31s) ./cmd/mesh-controller --- PASS: TestAnUnrelatedBatchWalksBesideAnOpenWalk (0.56s) ./cmd/mesh-controller --- PASS: TestARelatedBatchWaitsBehindTheOpenWalk (0.31s) ./cmd/mesh-controller --- PASS: TestAnOwnPathBatchNeverWalksBeside (0.33s) ./cmd/mesh-controller --- PASS: TestMergesHeardWhileAnotherHolderHasThePlansAreRecordedAndCarried (7.40s) ./cmd/mesh-controller --- PASS: TestABatchWindowClosesByTheExpiryOfItsKey (1.62s) ./cmd/mesh-controller --- PASS: TestEveryMoveAMergeAndTheCutMakeOfAPlanIsSaid (0.25s) ./cmd/mesh-controller --- PASS: TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt (3.69s) ./cmd/mesh-controller --- PASS: TestAWalkLetGoByTheDeliverVerbIsAskedWithNoOtherEvent (0.88s) ./cmd/mesh-controller --- PASS: TestTwoMergesWithinAMinuteLeaveEachOpenPullRequestOneQueuedCheck (0.91s) ./cmd/mesh-controller --- PASS: TestADeliveryGroupMovingAModuleMachinesRunPassesTheGate (6.88s) ./cmd/mesh-controller --- PASS: TestAModuleMovesOnTheOperatorsApproveOfTheMergeThatMovedIt (1.87s) ./cmd/mesh-controller --- PASS: TestAModuleBuiltFromANewRepositoryIsRegisteredOnlyOnTheOperatorsApproveOnTheBus (0.76s) ./internal/inventory --- PASS: TestTheLastSendSaysWhatTheMachineAnswered (0.15s) ./internal/inventory --- PASS: TestAReportIsTheLastSendsAnswerOnlyWhenItIsAboutThatSend (0.17s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedToEveryHolderOnceAndNotAgain (0.10s) ./internal/inventory --- PASS: TestAnIssuedValueIsSealedAgainAfterAKeyChangeOrAnAcceptance (0.09s) ./internal/inventory --- PASS: TestAConditionsLooksAreKeptBesideTheBucket (0.08s) ./internal/inventory --- PASS: TestAPlanIdHoldingAQuoteIsReadAsAPlainId (0.13s) ./internal/inventory --- PASS: TestAWalksStartIsKeptAndARefusedSaveLeavesItUnsaid (0.13s) ./internal/inventory --- PASS: TestAWalksRestIsReadFromEachMachinesOwnSend (0.20s) ./internal/inventory --- PASS: TestAStoredBuildWithASilentMergeableFileIsStillReadAndComposed (0.12s) ./internal/inventory --- PASS: TestACredentialIssuedOutsideIsNeverMade (0.10s) ./internal/inventory --- PASS: TestOneAcceptForAProviderIsSealedToEveryConsumer (0.10s) ./internal/inventory --- PASS: TestASharedOwnSecretIssuedOutsideIsNeverMade (0.08s) ./internal/inventory --- PASS: TestAModuleInTheConfigFormIsMirroredWithItsWholeDeclaration (0.11s) ./internal/inventory --- PASS: TestAReportOfABusyContainerIsKeptAndReadBack (0.09s) ./internal/inventory --- PASS: TestANewerBuildsListReplacesTheKeptOneAndAnOlderOneHeardLaterDoesNot (0.13s) ./internal/inventory --- PASS: TestPlacementMovesOutOfTheSettingsLayers (0.44s) ./internal/inventory --- PASS: TestASettingRoutesPlacementBesideTheLayer (0.10s) ./internal/inventory --- PASS: TestTheProvisionerClientsMachineHasAnAccountOfItsOwn (0.12s) ./internal/inventory --- PASS: TestTheFourWordsAreKeptBesideTheLayer (0.24s) ./internal/inventory --- PASS: TestALayerStillHoldingTheWordsReadsThemAsPlacement (0.13s) ./internal/inventory --- PASS: TestTheMoveOfPlacementMovesWhatTheLayersStillHold (0.20s) ./internal/inventory --- PASS: TestTheMoveReadsEveryRowSealedToAMachineAsItIs (0.15s) ./internal/inventory --- PASS: TestASendKeepsThePlansItHandedAndTheMirrorCarriesThem (0.15s) ./internal/inventory --- PASS: TestTheLayersAreReadUntilTheMoveOfConfigHasRun (0.12s) ./internal/inventory --- PASS: TestAModuleReadsMeshConfigOnlyWhereItsValuesAre (0.11s) ./internal/inventory --- PASS: TestTheEndOfTheMoveRefusesALayerChangedSinceItWasRead (0.10s) ./internal/inventory --- PASS: TestACoreCredentialsVaultBoxIsKeptPerMachineAndReplaced (0.09s) ./internal/inventory --- PASS: TestWhatRunsIsTheRegisteredBuildNotANewerOnePutBack (0.13s) ./internal/recordmirror --- PASS: TestNatsAnAssignmentAndARegistrationEachChangeOneKeyAndRaiseOneEvent (3.62s) ./internal/recordmirror --- PASS: TestNatsTheListOfPredefinedKeysKeptChangesTheMirrorsOneKey (1.56s) ```
mesh-tools added the mesh/ready label 2026-10-17 15:37:15 +00:00
Author
Member

ready at 7ee2b42230

Reviewed by reviewer-1025@shanks: issue 1025 / ADR 0420 §4-7 approved after 3 rounds; both checks pass at 7ee2b422, the store tests for the group move and the Approve-only registration (bus test) passed in the log. Marked through mesh-delivery.mark-ready (novox/hq issue 913).

ready at 7ee2b42230dc276b59229c9c23706be0527fc432 Reviewed by reviewer-1025@shanks: issue 1025 / ADR 0420 §4-7 approved after 3 rounds; both checks pass at 7ee2b422, the store tests for the group move and the Approve-only registration (bus test) passed in the log. Marked through mesh-delivery.mark-ready (novox/hq issue 913).
mesh-tools merged commit c43772fd94 into main 2026-10-17 15:39:58 +00:00
mesh-tools deleted branch feat/move-a-module 2026-10-17 15:39:58 +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#369