Feature 57 (config and provisioning): release mesh-controller #354

Closed
mesh-tools wants to merge 40 commits from feat/57-config-and-provisioning into main
Member

Feature 57's release of mesh-controller: the release branch feat/57-config-and-provisioning (reviewed and merged there: #346, #353 for issue 876) into main. Delivery group 57 bundle A with mesh-sdk, mesh-host and hq. Right after its delivery: mesh-controller.secret-move (until then machines on contract 12 raise an Urgent vault-silent condition; review C r1 finding 3, issue 755).

Feature 57's release of mesh-controller: the release branch feat/57-config-and-provisioning (reviewed and merged there: #346, #353 for issue 876) into main. Delivery group 57 bundle A with mesh-sdk, mesh-host and hq. Right after its delivery: mesh-controller.secret-move (until then machines on contract 12 raise an Urgent vault-silent condition; review C r1 finding 3, issue 755).
mesh-tools added 40 commits 2026-10-16 08:16:58 +00:00
So the packages of hq design 57 meet here, reviewed one by one, and reach main as one delivery group.
A file's text may live in files/<name> beside the manifest instead of inline,
so modules can move their files out of module.json (ADR 0349 clause 2, issue
654). The build packs files/ into the module's declared archive and reads each
template back from the packed bytes, proven by the digest, into content: the
manifest the mesh holds, composition and the node-engine stay as they are.
module check, the merge gate and module add read templates from the tree beside
the manifest, so a change to a template alone is judged. A file naming both
template and content, a template outside files/, a missing one, and a held
manifest that still names one are refused by name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Let a file resource name a template file in its module's repository: composition, check and gate tests
mesh/merge-gate head f45e0a1de508 merged into trunk bfc79c64d989 — pass: the change touches no module of the mesh's graph
mesh/repo-check head f45e0a1de508 merged into trunk bfc79c64d989 — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
f45e0a1de5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ADR 0348 clause 11: places, accesses and kept networks are placement, not config.
Today's mergeable files still take them as said, so nothing composes differently.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The settings verb's path splits a layer it is given into its config values and
its placement, so what a person types still works; a layer reads back and goes
into the history whole.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The facts snapshot, the take preview and the settings history read a layer as it
was set; tests that place give the layer through LayerOf.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Written by the integration branch's controller at bfc79c6 from the seed of
TestADeclarationIsTheSameAfterPlacementMoves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move every layer's placement out with migration 0097, and prove no machine is told anything new (issue 651)
mesh/delivery delivered
mesh/merge-gate head 912d76df25f8 merged into trunk 617881c3093d — pass: the change touches no module of the mesh's graph
mesh/repo-check head 912d76df25f8 merged into trunk 617881c3093d — pass: its merge-check.sh passed
912d76df25
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refuse templates read through a symlink anywhere under files/
mesh/delivery delivered
mesh/merge-gate head def3ccefe3c8 merged into trunk bfc79c64d989 — pass: the change touches no module of the mesh's graph
mesh/repo-check head def3ccefe3c8 merged into trunk bfc79c64d989 — pass: its merge-check.sh passed
def3ccefe3
A symlinked files/ or a symlinked directory under it let module check, the merge
gate and module add read a template from outside the repository tree, and a
symlink no template names passed them while the build's packing refuses it
(review of mesh-controller#313). Every entry under files/ must now be a plain
directory or file, and templates are read through an os.Root of the module's
directory.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Promise get on the vault's seat, so the Go vault can serve it (issue 674)
mesh/merge-gate head 661918f4e4e0 merged into trunk 71362c196dbc — pass: the change touches no module of the mesh's graph
mesh/repo-check head 661918f4e4e0 merged into trunk 71362c196dbc — pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group pkg/57-v1-vault-in-go delivered: every member is delivered
661918f4e4
The vault hands a secret only on request and reply, sealed to the asker's key
(hq ADR 0349 §11). The seat set is the controller's, so the verb is promised
here; optional until the vault that runs serves it (design 33 §7).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The manifest's hooks for the config form: read into the fields the settings form fills, written back as read, and judged by ConfigProblems; the rules are in config.go.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The config form's declaration and its registration refusals, each by name with what to do (ADR 0348, design 57 package K1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Prove each config refusal and the byte-identical composition of a module moved to config (issue 660)
mesh/merge-gate out of date: judged against trunk dc36536e199e, the trunk is now 60d390adeddc; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk dc36536e199e, the trunk is now 60d390adeddc; judged again on a recheck or when it is merged
mesh/delivery superseded: a newer head of the same pull request
ae071e2b59
One registration refusal test per rule of design 57 package K1, the forms kept apart and written back as read, and dunst rewritten from settings to config composing to the same bytes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Stop a settings layer replacing what a provider serves (issue 696)
mesh/merge-gate head c5fe7d4795d7 merged into trunk dc36536e199e — pass: the change touches no module of the mesh's graph
mesh/repo-check head c5fe7d4795d7 merged into trunk dc36536e199e — pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group pkg/57-f2b-served-keys delivered: every member is delivered
c5fe7d4795
What a provider serves is its definition's (ADR 0348 clause 11): a layer
fills only the keys it asks for as ${setting:<key>}. Settle replaced any
served key a layer named, so a setting for one of a provider's files could
change what every consumer was told. influxdb on ace was the one live layer
relying on it and now serves its settings (mesh-catalog, merged first), so
grafana's data source composes byte for byte as before. UnusedSettings no
longer counts a literal served key as a place a setting lands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refuse an undeclared takes-config key, and say an unset required value in the config form's words
mesh/merge-gate head 9aa033269495 merged into trunk 60d390adeddc — pass: the change touches no module of the mesh's graph
mesh/repo-check head 9aa033269495 merged into trunk 60d390adeddc — pass: its merge-check.sh passed
mesh/delivery delivered
9aa0332694
A key a mergeable file took had no type, validation or trusted mark, and the config verb could never set it (ADR 0348 §4). A required config value nothing sets was refused naming ${setting:} and settings set, words the module does not use. Review of mesh-controller#320 (issue 660).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mesh and node config may hold values only for keys on a fixed, reviewed list (hq ADR 0348 clause 7, design 57 package K2, issue 661). A build reads predefined.json at the root of the repository at the commit it builds and carries it with the commit's generation; module check and the merge gate read it from the tree. (Part 1 of 2: the changes to existing files.)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The list itself, read strictly (catalogue/predefined.go); the controller keeps a catalogue trunk build's list in its store when its commit's generation is larger than the one kept (migration 0098), so an older build's list heard later never replaces a newer one, and loads it with its store (hq ADR 0348 clause 7, issue 661). Part 2 of 2: the new files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Part 3: the list's own reading (catalogue/predefined.go) and the tests of the build, module check, merge gate and registration (hq ADR 0348 clause 7, issue 661).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Prove the list is read strictly and judges module check, the gate and registration
mesh/delivery-group group pkg/57-k2-predefined-keys rejected: a member's own check failed
mesh/merge-gate head fbcf44702cd6 merged into trunk 9932adfa00fe — fail: head fbcf44702cd6 does not merge cleanly into trunk 9932adfa00fe: in conflict test…
mesh/repo-check head fbcf44702cd6 merged into trunk 9932adfa00fe — fail: head fbcf44702cd6 does not merge cleanly into trunk 9932adfa00fe: in conflict test…
mesh/delivery superseded: a newer head of the same pull request
fbcf44702c
Part 4: the tests of the list's reading and of the controller's commands on it (hq ADR 0348 clause 7, issue 661).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
So the release branch carries what main gained; parts 2 and 3 follow on this branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
So the release branch carries what main gained; part 3 follows on this branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bring main into release 57's branch, conflicts resolved
mesh/merge-gate head 4b2eac702ab1 merged into trunk 221fe5a60d1f — pass: the change touches no module of the mesh's graph
mesh/repo-check head 4b2eac702ab1 merged into trunk 221fe5a60d1f — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): feat/57-config-and-provisioning'…
mesh/delivery delivered
4b2eac702a
So the release branch carries what main gained, and the store-tests drop check passes again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Take the integration branch's store-test list before merging it
mesh/delivery-group group pkg/57-k2-predefined-keys checking: 1 of 2 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate head e75c376a7dd9 merged into trunk 9932adfa00fe — pass: the change touches no module of the mesh's graph
mesh/repo-check head e75c376a7dd9 merged into trunk 9932adfa00fe — pass: its merge-check.sh passed
e75c376a7d
The two lists added lines at the same place; taking the integration branch's here lets it merge cleanly, and the K2 store tests are listed again right after.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
List the K2 store tests again, apart from the integration branch's new lines
mesh/merge-gate head 197e60c97bcc merged into trunk 9932adfa00fe — pass: the change touches no module of the mesh's graph
mesh/repo-check head 197e60c97bcc merged into trunk 9932adfa00fe — pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group pkg/57-k2-predefined-keys delivered: every member is delivered
197e60c97b
Placed above the lines both branches added at the end of the file, so the pull request merges into feat/57-config-and-provisioning without a conflict and the merged list is the union of both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The controller plans config, templates and moved providers' provisions,
hands bus accounts to the vault and judges the new manifest words, on the
feature's SDK and node-engine validator (feature 57, config and provisioning).
Restore the final blank line of seven golden files the patch push dropped
mesh/delivery-group group 57-config-and-provisioning rejected: a member's own check failed
mesh/merge-gate head 37e4219e28fd merged into trunk fcdecb436117 — pass: [release feat/57-config-and-provisioning, judged by its controller e2ea694217a7] t…
mesh/repo-check head 37e4219e28fd merged into trunk fcdecb436117 — fail: [release feat/57-config-and-provisioning, judged by its controller e2ea694217a7] T…
mesh/delivery superseded: a newer head of the same pull request
37e4219e28
The forge applied the feature's patch without the last, empty, added line of
these files, so the commit's tree differed from the reviewed head (issue 866).
Restore the previous log writer in the 675 accept test, so later tests can log (issues 675 and 804)
mesh/merge-gate head c711e62287ff merged into trunk fcdecb436117 beside mesh-host#114@5a7ec377 — pass: [release feat/57-config-and-provisioning, judged by …
mesh/repo-check head c711e62287ff merged into trunk fcdecb436117 beside mesh-host#114@5a7ec377 — pass: [release feat/57-config-and-provisioning, judged by …
mesh/delivery delivered
mesh/delivery-group group 57-config-and-provisioning stopped: a member was stopped
c711e62287
Co-Authored-By: Claude <noreply@anthropic.com>
Judge a moved module in the merge gate as a real build hands it its templates, so the gate no longer refuses every moved module (issue 876)
mesh/merge-gate head efc5f901afb7 merged into trunk cf897e89fe31 — pass: [release feat/57-config-and-provisioning, judged by its controller 93b947cc53b5] t…
mesh/repo-check head efc5f901afb7 merged into trunk cf897e89fe31 — pass: [release feat/57-config-and-provisioning, judged by its controller 93b947cc53b5] i…
mesh/delivery delivered
efc5f901af
Merge pull request 'The merge gate judges a moved module as a real build hands it its templates (issue 876)' (#353) from fix/876-gate-judges-moved-modules into feat/57-config-and-provisioning
mesh/merge-gate head 6a6628a76961 merged into trunk d70bb1f38867 — fail: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 6a6628a76961 merged into trunk d70bb1f38867 — fail: head 6a6628a76961 does not merge cleanly into trunk d70bb1f38867: in conflict cmd/…
mesh/delivery-group group feat/57-config-and-provisioning rejected: a member's own check failed
mesh/delivery stopped: the pull request closed unmerged
6a6628a769
Author
Member

Delivery novox/mesh-controller@6a6628a76961 — stopped since 2026-10-16T08:32:26Z

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

Transitions

  • 2026-10-16 08:17 (new) → proposed (announced): novox/mesh-controller#354's head announced
  • 2026-10-16 08:17 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-16 08:17 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed
  • 2026-10-16 08:32 rejected → stopped (closed): the pull request closed unmerged

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@6a6628a76961` — **stopped** since 2026-10-16T08:32:26Z **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 **Transitions** - 2026-10-16 08:17 (new) → proposed (announced): novox/mesh-controller#354's head announced - 2026-10-16 08:17 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-16 08:17 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed - 2026-10-16 08:32 rejected → stopped (closed): the pull request closed unmerged The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Author
Member

Merge check at 6a6628a7
Judged: head 6a6628a76961 merged into trunk d70bb1f38867

  • mesh/merge-gate: FAIL — head 6a6628a769 does not merge cleanly into trunk d70bb1f388: in conflict cmd/mesh-builder/main.go, cmd/mesh-builder/release_test.go, cmd/mesh-controller/checks.go, cmd/mesh-controller/desk_secret.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/release.go, cmd/mesh-controller/release_plan.go, internal/broker/streams.go, internal/broker/testdata/composed.conf, internal/builder/check.go, internal/catalogue/manifest.go, internal/catalogue/streams.go, internal/link/build.go, internal/link/events.go, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: FAIL — head 6a6628a769 does not merge cleanly into trunk d70bb1f388: in conflict cmd/mesh-builder/main.go, cmd/mesh-builder/release_test.go, cmd/mesh-controller/checks.go, cmd/mesh-controller/desk_secret.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/release.go, cmd/mesh-controller/release_plan.go, internal/broker/streams.go, internal/broker/testdata/composed.conf, internal/builder/check.go, internal/catalogue/manifest.go, internal/catalogue/streams.go, internal/link/build.go, internal/link/events.go, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests

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: RELEASE-57.md, cmd/mesh-builder/release_test.go, cmd/mesh-builder/tried_test.go, cmd/mesh-controller/addresses_test.go, cmd/mesh-controller/batches_test.go, cmd/mesh-controller/bus_users_closed_test.go, cmd/mesh-controller/check_builds_test.go, cmd/mesh-controller/config_moved_test.go, cmd/mesh-controller/core_box_test.go, cmd/mesh-controller/deadletters_aging_test.go, cmd/mesh-controller/desk_secret_test.go, cmd/mesh-controller/found_wait_test.go, cmd/mesh-controller/gate_followup_test.go, cmd/mesh-controller/gate_test.go, cmd/mesh-controller/given_test.go, cmd/mesh-controller/heard_withheld_test.go, cmd/mesh-controller/issue352_test.go, cmd/mesh-controller/issue648_test.go, cmd/mesh-controller/issued_test.go, cmd/mesh-controller/issued_to_vault_test.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/mesh_for_test.go, cmd/mesh-controller/meshcli_reads_test.go, cmd/mesh-controller/person_wait_test.go, cmd/mesh-controller/placement_moved_test.go, cmd/mesh-controller/placement_words_moved_test.go, cmd/mesh-controller/planner_records_test.go, cmd/mesh-controller/planner_rules_test.go, cmd/mesh-controller/predefined_test.go, cmd/mesh-controller/provisioned_test.go, cmd/mesh-controller/provisioner_account_test.go, cmd/mesh-controller/queue_test.go, cmd/mesh-controller/recorded_moves_test.go, cmd/mesh-controller/reissue_hearing_test.go, cmd/mesh-controller/release_branch_test.go, cmd/mesh-controller/release_plan_test.go, cmd/mesh-controller/release_provisioned_test.go, cmd/mesh-controller/release_test.go, cmd/mesh-controller/replay318_test.go, cmd/mesh-controller/replay335_test.go, cmd/mesh-controller/replay336_test.go, cmd/mesh-controller/replays_test.go, cmd/mesh-controller/rest_at_once_test.go, cmd/mesh-controller/rotate_vault_test.go, cmd/mesh-controller/runtime_health_test.go, cmd/mesh-controller/same_program_test.go, cmd/mesh-controller/sayable_test.go, cmd/mesh-controller/seatverbs_schema_test.go, cmd/mesh-controller/secret_move_test.go, cmd/mesh-controller/sent_required_by_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/template_test.go, cmd/mesh-controller/testdata/config-moved/mesh.json, cmd/mesh-controller/testdata/placement-moved/anchor.json, cmd/mesh-controller/testdata/placement-moved/laptop.json, cmd/mesh-controller/testdata/placement-words-moved/anchor.json, cmd/mesh-controller/testdata/placement-words-moved/laptop.json, cmd/mesh-controller/testdata/placement-words-moved/mesh.json, cmd/mesh-controller/tier_send_test.go, cmd/mesh-controller/try_test.go, cmd/mesh-controller/urgent_unhealthy_test.go, cmd/mesh-controller/vault_handed_test.go, cmd/mesh-controller/vault_secrets_test.go, cmd/mesh-controller/vault_switch_test.go, cmd/mesh-controller/walk_wait_rebuild_754_test.go, cmd/mesh-controller/worker_order_test.go, internal/broker/bus_module_emits_test.go, internal/broker/config_owner_live_test.go, internal/broker/controller_buckets_test.go, internal/broker/genesis_template_test.go, internal/broker/log_test.go, internal/broker/modstreams_live_test.go, internal/broker/modstreams_test.go, internal/broker/move_secrets_test.go, internal/broker/msgttl_live_test.go, internal/broker/node_key_test.go, internal/broker/prov_applied_live_test.go, internal/broker/provisioner_live_test.go, internal/broker/provisioner_server_live_test.go, internal/broker/provisioner_test.go, internal/broker/states_agreement_test.go, internal/broker/stream_names_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/vault_calls_live_test.go, internal/broker/waits_test.go, internal/broker/writers_test.go, internal/builder/builder_test.go, internal/builder/check_merge_test.go, internal/builder/check_test.go, internal/builder/lend_test.go, internal/builder/predefined_test.go, internal/builder/release_branch_test.go, internal/builder/replay713_test.go, internal/builder/replay716_test.go, internal/builder/reuse_test.go, internal/builder/same_program_test.go, internal/builder/template_test.go, internal/builder/warm_go_cache_test.go, internal/catalogue/adoption_test.go, internal/catalogue/backup_placement_test.go, internal/catalogue/bus_snapshot_test.go, internal/catalogue/co_located_test.go, internal/catalogue/collections_bar_test.go, internal/catalogue/collections_l2_test.go, internal/catalogue/collections_l3_test.go, internal/catalogue/collections_test.go, internal/catalogue/config_rename_test.go, internal/catalogue/config_test.go, internal/catalogue/contribution_dependencies_test.go, internal/catalogue/core_credentials_test.go, internal/catalogue/data_test.go, internal/catalogue/derived_for_consumer_test.go, internal/catalogue/endpoints_setting_test.go, internal/catalogue/environment_items_test.go, internal/catalogue/filtering_test.go, internal/catalogue/foundation_manifests_test.go, internal/catalogue/handed_bound_test.go, internal/catalogue/handed_consumers_test.go, internal/catalogue/handed_merge_test.go, internal/catalogue/handed_providers_test.go, internal/catalogue/handed_pulled_in_test.go, internal/catalogue/handed_secrets_test.go, internal/catalogue/handed_test.go, internal/catalogue/holds_test.go, internal/catalogue/own_secret_prompt_test.go, internal/catalogue/placement_test.go, internal/catalogue/predefined_test.go, internal/catalogue/reach_test.go, internal/catalogue/resolver_file_is_the_uplinks_test.go, internal/catalogue/runtime_health_test.go, internal/catalogue/runtime_test.go, internal/catalogue/seat_contributions_test.go, internal/catalogue/seat_data_test.go, internal/catalogue/seat_dependencies_test.go, internal/catalogue/seats_declared_test.go, internal/catalogue/seats_test.go, internal/catalogue/served_by_setting_test.go, internal/catalogue/setting_defaults_test.go, internal/catalogue/setting_in_owner_test.go, internal/catalogue/settings_judge_test.go, internal/catalogue/settings_test.go, internal/catalogue/state_test.go, internal/catalogue/streams_test.go, internal/catalogue/template_test.go, internal/catalogue/templates_dir_test.go, internal/catalogue/terminal_settings_test.go, internal/catalogue/testdata/bars/bar-battery, internal/catalogue/testdata/bars/bar-power-draw, internal/catalogue/testdata/bars/battery.bottom-bar.toml, internal/catalogue/testdata/bars/battery.top-bar.toml, internal/catalogue/testdata/bars/both.bottom-bar.toml, internal/catalogue/testdata/bars/both.top-bar.toml, internal/catalogue/testdata/bars/bottom-bar.toml, internal/catalogue/testdata/bars/none.bottom-bar.toml, internal/catalogue/testdata/bars/none.top-bar.toml, internal/catalogue/testdata/bars/power-meter.bottom-bar.toml, internal/catalogue/testdata/bars/power-meter.top-bar.toml, internal/catalogue/testdata/bars/top-bar.toml, internal/catalogue/testdata/environment/all.posix, internal/catalogue/testdata/environment/all.systemd, internal/catalogue/testdata/environment/zsh.posix, internal/catalogue/testdata/environment/zsh.systemd, internal/catalogue/testdata/influxdb-served-by-setting/grafana-ace.json, internal/catalogue/testdata/influxdb-served-by-setting/grafana-unlayered.json, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.contribution-node-hotkeys-trigger, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.shell-after-wake-normal, internal/catalogue/testdata/l2-moved/items/claude-code.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/mesh-cli.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/powerlevel10k.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-autosuggestions.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-syntax-highlighting.shell-zsh-last, internal/catalogue/testdata/l2-moved/templates/power, internal/catalogue/testdata/l2-moved/templates/triggerhappy, internal/catalogue/testdata/l2-moved/templates/zsh, internal/catalogue/testdata/l2-moved/want/power, internal/catalogue/testdata/l2-moved/want/triggerhappy, internal/catalogue/testdata/l2-moved/want/zsh, internal/catalogue/unhealthy_test.go, internal/catalogue/vault_seat_test.go, internal/catalogue/waits_test.go, internal/conditions/plain_test.go, internal/inventory/busrecords_test.go, internal/inventory/config_move_test.go, internal/inventory/core_box_test.go, internal/inventory/placement_test.go, internal/inventory/placement_words_test.go, internal/inventory/plans_test.go, internal/inventory/predefined_test.go, internal/inventory/provisioned_test.go, internal/inventory/provisioning_test.go, internal/inventory/record_mirrors_test.go, internal/inventory/registered_held_test.go, internal/inventory/secret_move_test.go, internal/inventory/sent_builds_test.go, internal/inventory/sent_plans_test.go, internal/inventory/streams_test.go, internal/inventory/template_test.go, internal/inventory/waits_grants_test.go, internal/inventory/walkphases_582_test.go, internal/inventory/walkphases_test.go, internal/lease/lease_test.go, internal/link/busfaults_test.go, internal/link/calls_kept_test.go, internal/link/check_builds_test.go, internal/link/deadletters_module_stream_test.go, internal/link/deadletters_restricted_test.go, internal/link/movesecret_test.go, internal/link/protocol_node_key_test.go, internal/link/receive_nats_test.go, internal/link/seat_as_test.go, internal/link/try_test.go, internal/link/vault_changed_test.go, internal/recordmirror/mirror.go, internal/recordmirror/mirror_store_test.go, internal/recordmirror/mirror_test.go, internal/recordmirror/provisioning_live_test.go, internal/recordmirror/readers_test.go, merge-check.sh, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests, vendor/git.novox.be/novox/mesh-sdk/go/seal/seal.go

Run by the build seat on novox as build-1792138625417766116 (builds --log build-1792138625417766116).

head 6a6628a76961 does not merge cleanly into trunk d70bb1f38867: in conflict cmd/mesh-builder/main.go, cmd/mesh-builder/release_test.go, cmd/mesh-controller/checks.go, cmd/mesh-controller/desk_secret.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/release.go, cmd/mesh-controller/release_plan.go, internal/broker/streams.go, internal/broker/testdata/composed.conf, internal/builder/check.go, internal/catalogue/manifest.go, internal/catalogue/streams.go, internal/link/build.go, internal/link/events.go, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests
**Merge check** at `6a6628a7` Judged: head `6a6628a76961` merged into trunk `d70bb1f38867` - `mesh/merge-gate`: **FAIL** — head 6a6628a76961 does not merge cleanly into trunk d70bb1f38867: in conflict cmd/mesh-builder/main.go, cmd/mesh-builder/release_test.go, cmd/mesh-controller/checks.go, cmd/mesh-controller/desk_secret.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/release.go, cmd/mesh-controller/release_plan.go, internal/broker/streams.go, internal/broker/testdata/composed.conf, internal/builder/check.go, internal/catalogue/manifest.go, internal/catalogue/streams.go, internal/link/build.go, internal/link/events.go, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **FAIL** — head 6a6628a76961 does not merge cleanly into trunk d70bb1f38867: in conflict cmd/mesh-builder/main.go, cmd/mesh-builder/release_test.go, cmd/mesh-controller/checks.go, cmd/mesh-controller/desk_secret.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/release.go, cmd/mesh-controller/release_plan.go, internal/broker/streams.go, internal/broker/testdata/composed.conf, internal/builder/check.go, internal/catalogue/manifest.go, internal/catalogue/streams.go, internal/link/build.go, internal/link/events.go, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests **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: RELEASE-57.md, cmd/mesh-builder/release_test.go, cmd/mesh-builder/tried_test.go, cmd/mesh-controller/addresses_test.go, cmd/mesh-controller/batches_test.go, cmd/mesh-controller/bus_users_closed_test.go, cmd/mesh-controller/check_builds_test.go, cmd/mesh-controller/config_moved_test.go, cmd/mesh-controller/core_box_test.go, cmd/mesh-controller/deadletters_aging_test.go, cmd/mesh-controller/desk_secret_test.go, cmd/mesh-controller/found_wait_test.go, cmd/mesh-controller/gate_followup_test.go, cmd/mesh-controller/gate_test.go, cmd/mesh-controller/given_test.go, cmd/mesh-controller/heard_withheld_test.go, cmd/mesh-controller/issue352_test.go, cmd/mesh-controller/issue648_test.go, cmd/mesh-controller/issued_test.go, cmd/mesh-controller/issued_to_vault_test.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/mesh_for_test.go, cmd/mesh-controller/meshcli_reads_test.go, cmd/mesh-controller/person_wait_test.go, cmd/mesh-controller/placement_moved_test.go, cmd/mesh-controller/placement_words_moved_test.go, cmd/mesh-controller/planner_records_test.go, cmd/mesh-controller/planner_rules_test.go, cmd/mesh-controller/predefined_test.go, cmd/mesh-controller/provisioned_test.go, cmd/mesh-controller/provisioner_account_test.go, cmd/mesh-controller/queue_test.go, cmd/mesh-controller/recorded_moves_test.go, cmd/mesh-controller/reissue_hearing_test.go, cmd/mesh-controller/release_branch_test.go, cmd/mesh-controller/release_plan_test.go, cmd/mesh-controller/release_provisioned_test.go, cmd/mesh-controller/release_test.go, cmd/mesh-controller/replay318_test.go, cmd/mesh-controller/replay335_test.go, cmd/mesh-controller/replay336_test.go, cmd/mesh-controller/replays_test.go, cmd/mesh-controller/rest_at_once_test.go, cmd/mesh-controller/rotate_vault_test.go, cmd/mesh-controller/runtime_health_test.go, cmd/mesh-controller/same_program_test.go, cmd/mesh-controller/sayable_test.go, cmd/mesh-controller/seatverbs_schema_test.go, cmd/mesh-controller/secret_move_test.go, cmd/mesh-controller/sent_required_by_test.go, cmd/mesh-controller/superseded_test.go, cmd/mesh-controller/template_test.go, cmd/mesh-controller/testdata/config-moved/mesh.json, cmd/mesh-controller/testdata/placement-moved/anchor.json, cmd/mesh-controller/testdata/placement-moved/laptop.json, cmd/mesh-controller/testdata/placement-words-moved/anchor.json, cmd/mesh-controller/testdata/placement-words-moved/laptop.json, cmd/mesh-controller/testdata/placement-words-moved/mesh.json, cmd/mesh-controller/tier_send_test.go, cmd/mesh-controller/try_test.go, cmd/mesh-controller/urgent_unhealthy_test.go, cmd/mesh-controller/vault_handed_test.go, cmd/mesh-controller/vault_secrets_test.go, cmd/mesh-controller/vault_switch_test.go, cmd/mesh-controller/walk_wait_rebuild_754_test.go, cmd/mesh-controller/worker_order_test.go, internal/broker/bus_module_emits_test.go, internal/broker/config_owner_live_test.go, internal/broker/controller_buckets_test.go, internal/broker/genesis_template_test.go, internal/broker/log_test.go, internal/broker/modstreams_live_test.go, internal/broker/modstreams_test.go, internal/broker/move_secrets_test.go, internal/broker/msgttl_live_test.go, internal/broker/node_key_test.go, internal/broker/prov_applied_live_test.go, internal/broker/provisioner_live_test.go, internal/broker/provisioner_server_live_test.go, internal/broker/provisioner_test.go, internal/broker/states_agreement_test.go, internal/broker/stream_names_agreement_test.go, internal/broker/streams_test.go, internal/broker/testdata/composed.conf, internal/broker/vault_calls_live_test.go, internal/broker/waits_test.go, internal/broker/writers_test.go, internal/builder/builder_test.go, internal/builder/check_merge_test.go, internal/builder/check_test.go, internal/builder/lend_test.go, internal/builder/predefined_test.go, internal/builder/release_branch_test.go, internal/builder/replay713_test.go, internal/builder/replay716_test.go, internal/builder/reuse_test.go, internal/builder/same_program_test.go, internal/builder/template_test.go, internal/builder/warm_go_cache_test.go, internal/catalogue/adoption_test.go, internal/catalogue/backup_placement_test.go, internal/catalogue/bus_snapshot_test.go, internal/catalogue/co_located_test.go, internal/catalogue/collections_bar_test.go, internal/catalogue/collections_l2_test.go, internal/catalogue/collections_l3_test.go, internal/catalogue/collections_test.go, internal/catalogue/config_rename_test.go, internal/catalogue/config_test.go, internal/catalogue/contribution_dependencies_test.go, internal/catalogue/core_credentials_test.go, internal/catalogue/data_test.go, internal/catalogue/derived_for_consumer_test.go, internal/catalogue/endpoints_setting_test.go, internal/catalogue/environment_items_test.go, internal/catalogue/filtering_test.go, internal/catalogue/foundation_manifests_test.go, internal/catalogue/handed_bound_test.go, internal/catalogue/handed_consumers_test.go, internal/catalogue/handed_merge_test.go, internal/catalogue/handed_providers_test.go, internal/catalogue/handed_pulled_in_test.go, internal/catalogue/handed_secrets_test.go, internal/catalogue/handed_test.go, internal/catalogue/holds_test.go, internal/catalogue/own_secret_prompt_test.go, internal/catalogue/placement_test.go, internal/catalogue/predefined_test.go, internal/catalogue/reach_test.go, internal/catalogue/resolver_file_is_the_uplinks_test.go, internal/catalogue/runtime_health_test.go, internal/catalogue/runtime_test.go, internal/catalogue/seat_contributions_test.go, internal/catalogue/seat_data_test.go, internal/catalogue/seat_dependencies_test.go, internal/catalogue/seats_declared_test.go, internal/catalogue/seats_test.go, internal/catalogue/served_by_setting_test.go, internal/catalogue/setting_defaults_test.go, internal/catalogue/setting_in_owner_test.go, internal/catalogue/settings_judge_test.go, internal/catalogue/settings_test.go, internal/catalogue/state_test.go, internal/catalogue/streams_test.go, internal/catalogue/template_test.go, internal/catalogue/templates_dir_test.go, internal/catalogue/terminal_settings_test.go, internal/catalogue/testdata/bars/bar-battery, internal/catalogue/testdata/bars/bar-power-draw, internal/catalogue/testdata/bars/battery.bottom-bar.toml, internal/catalogue/testdata/bars/battery.top-bar.toml, internal/catalogue/testdata/bars/both.bottom-bar.toml, internal/catalogue/testdata/bars/both.top-bar.toml, internal/catalogue/testdata/bars/bottom-bar.toml, internal/catalogue/testdata/bars/none.bottom-bar.toml, internal/catalogue/testdata/bars/none.top-bar.toml, internal/catalogue/testdata/bars/power-meter.bottom-bar.toml, internal/catalogue/testdata/bars/power-meter.top-bar.toml, internal/catalogue/testdata/bars/top-bar.toml, internal/catalogue/testdata/environment/all.posix, internal/catalogue/testdata/environment/all.systemd, internal/catalogue/testdata/environment/zsh.posix, internal/catalogue/testdata/environment/zsh.systemd, internal/catalogue/testdata/influxdb-served-by-setting/grafana-ace.json, internal/catalogue/testdata/influxdb-served-by-setting/grafana-unlayered.json, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.contribution-node-hotkeys-trigger, internal/catalogue/testdata/l2-moved/items/asus-zephyrus-g14.shell-after-wake-normal, internal/catalogue/testdata/l2-moved/items/claude-code.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/mesh-cli.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/powerlevel10k.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-autosuggestions.shell-zsh-normal, internal/catalogue/testdata/l2-moved/items/zsh-syntax-highlighting.shell-zsh-last, internal/catalogue/testdata/l2-moved/templates/power, internal/catalogue/testdata/l2-moved/templates/triggerhappy, internal/catalogue/testdata/l2-moved/templates/zsh, internal/catalogue/testdata/l2-moved/want/power, internal/catalogue/testdata/l2-moved/want/triggerhappy, internal/catalogue/testdata/l2-moved/want/zsh, internal/catalogue/unhealthy_test.go, internal/catalogue/vault_seat_test.go, internal/catalogue/waits_test.go, internal/conditions/plain_test.go, internal/inventory/busrecords_test.go, internal/inventory/config_move_test.go, internal/inventory/core_box_test.go, internal/inventory/placement_test.go, internal/inventory/placement_words_test.go, internal/inventory/plans_test.go, internal/inventory/predefined_test.go, internal/inventory/provisioned_test.go, internal/inventory/provisioning_test.go, internal/inventory/record_mirrors_test.go, internal/inventory/registered_held_test.go, internal/inventory/secret_move_test.go, internal/inventory/sent_builds_test.go, internal/inventory/sent_plans_test.go, internal/inventory/streams_test.go, internal/inventory/template_test.go, internal/inventory/waits_grants_test.go, internal/inventory/walkphases_582_test.go, internal/inventory/walkphases_test.go, internal/lease/lease_test.go, internal/link/busfaults_test.go, internal/link/calls_kept_test.go, internal/link/check_builds_test.go, internal/link/deadletters_module_stream_test.go, internal/link/deadletters_restricted_test.go, internal/link/movesecret_test.go, internal/link/protocol_node_key_test.go, internal/link/receive_nats_test.go, internal/link/seat_as_test.go, internal/link/try_test.go, internal/link/vault_changed_test.go, internal/recordmirror/mirror.go, internal/recordmirror/mirror_store_test.go, internal/recordmirror/mirror_test.go, internal/recordmirror/provisioning_live_test.go, internal/recordmirror/readers_test.go, merge-check.sh, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests, vendor/git.novox.be/novox/mesh-sdk/go/seal/seal.go Run by the build seat on novox as `build-1792138625417766116` (`builds --log build-1792138625417766116`). ``` head 6a6628a76961 does not merge cleanly into trunk d70bb1f38867: in conflict cmd/mesh-builder/main.go, cmd/mesh-builder/release_test.go, cmd/mesh-controller/checks.go, cmd/mesh-controller/desk_secret.go, cmd/mesh-controller/lean_walk_test.go, cmd/mesh-controller/release.go, cmd/mesh-controller/release_plan.go, internal/broker/streams.go, internal/broker/testdata/composed.conf, internal/builder/check.go, internal/catalogue/manifest.go, internal/catalogue/streams.go, internal/link/build.go, internal/link/events.go, testdata/beside/CAPTURED, testdata/beside/mesh-host/examples/foundation-first-node.lock, testdata/store-tests ```
Author
Member

Closed: it does not merge cleanly into main (17 files). Feature 57's release goes from branch release/57-config-and-provisioning: the release branch merged with main (being resolved and reviewed now), as one commit on top of main.

Closed: it does not merge cleanly into main (17 files). Feature 57's release goes from branch release/57-config-and-provisioning: the release branch merged with main (being resolved and reviewed now), as one commit on top of main.
mesh-tools closed this pull request 2026-10-16 08:24:54 +00:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#354