Cause C4: the vault's stored value of some own secrets differs from what the node runs (only-office's jwt on novox, brother's bus account on shanks), so a node composing itself would compose the stale value.
move-in with replace_running: true takes the running value from the owning node-engine only. Refused: another caller, another node's secret, a name that is not an own secret, an operator-given value, a provider-issued value other than a covered bus account, an empty value, a value the vault changed less than 15 minutes ago, or while the switch is off.
A replacement keeps the previous value sealed, raises the generation, says secret-changed and own-replaced (no value), and records the hand-out.
New tools: own_drift (what drifted, per node) and own_take_switch (a person's switch, kept in the vault's store).
Registers under the controller's pinned mesh-sdk with no new verb (checked with ParseManifest and CanHold).
Quick vs thorough: the existing move-in verb instead of a new verb, so the controller stays out of the group; said on issue 1126.
Tests: one table-driven test (117 Test functions, budget 500), each row fails without its fix; gofmt, vet, -tags integration, go test pass.
Delivery group fix/1126-seed-same (mesh-sdk, mesh-host, mesh-delivery, mesh-catalog), design 47 milestone L2; mesh-vault pins mesh-sdk 3028c7ec4ed2.
Cause C4: the vault's stored value of some own secrets differs from what the node runs (only-office's jwt on novox, brother's bus account on shanks), so a node composing itself would compose the stale value.
- move-in with replace_running: true takes the running value from the owning node-engine only. Refused: another caller, another node's secret, a name that is not an own secret, an operator-given value, a provider-issued value other than a covered bus account, an empty value, a value the vault changed less than 15 minutes ago, or while the switch is off.
- A replacement keeps the previous value sealed, raises the generation, says secret-changed and own-replaced (no value), and records the hand-out.
- New tools: own_drift (what drifted, per node) and own_take_switch (a person's switch, kept in the vault's store).
- Registers under the controller's pinned mesh-sdk with no new verb (checked with ParseManifest and CanHold).
Quick vs thorough: the existing move-in verb instead of a new verb, so the controller stays out of the group; said on issue 1126.
Tests: one table-driven test (117 Test functions, budget 500), each row fails without its fix; gofmt, vet, -tags integration, go test pass.
Reviewed-by: rev-seed-same@shanks at 0974d1a57d998fb07308a5c5ff06e0e1a84683e3
move-in never replaces a value the vault holds, so where the controller made an own secret anew after the move, the
new value runs while the vault keeps the first. The verb own-take-running takes it from the node-engine of the machine
it is for, keeps the replaced value as the previous generation, raises the generation and says own-replaced without a
value; own_drift lists every own secret a node's shadow answer says another value of, mesh-wide. The module needs the
mesh-sdk head of fix/1126-seed-same-own-resync (delivery.OwnValuesDiffer, the seat's verb).
Deliverynovox/mesh-catalog@0974d1a57d99 — merged since 2026-10-28T09:46:30Z
Source — source.main moved to novox/mesh-catalog@9fd95693db. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: fail — the checker's verdict at the members' heads (3cb7f74b347d): integration: github.com/novox/mesh-host/cmd/mesh-host.TestNatsANodeThePlacementNamesComposesAndAppliesItsOwn
Transitions
2026-10-28 09:05 (new) → proposed (announced): novox/mesh-catalog#535's head announced
2026-10-28 09:06 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-10-28 09:46 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@0974d1a57d99` — **merged** since 2026-10-28T09:46:30Z
**Source** — source.main moved to novox/mesh-catalog@9fd95693db54. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/1126-seed-same`: novox/mesh-catalog@0974d1a57d99, novox/mesh-delivery@2cccbfd096d8, novox/mesh-host@c912bcab6e73, novox/mesh-sdk@3028c7ec4ed2
- composed together: fail — the checker's verdict at the members' heads (3cb7f74b347d): integration: github.com/novox/mesh-host/cmd/mesh-host.TestNatsANodeThePlacementNamesComposesAndAppliesItsOwn
**Transitions**
- 2026-10-28 09:05 (new) → proposed (announced): novox/mesh-catalog#535's head announced
- 2026-10-28 09:06 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-10-28 09:46 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delivery group fix/1126-seed-same (mesh-sdk, mesh-host, mesh-delivery, mesh-catalog), design 47 milestone L2; mesh-vault pins mesh-sdk 3028c7ec4ed2.
Cause C4: the vault's stored value of some own secrets differs from what the node runs (only-office's jwt on novox, brother's bus account on shanks), so a node composing itself would compose the stale value.
Quick vs thorough: the existing move-in verb instead of a new verb, so the controller stays out of the group; said on issue 1126.
Tests: one table-driven test (117 Test functions, budget 500), each row fails without its fix; gofmt, vet, -tags integration, go test pass.
Reviewed-by: rev-seed-same@shanks at
0974d1a57dDelivery
novox/mesh-catalog@0974d1a57d99— merged since 2026-10-28T09:46:30ZSource — source.main moved to novox/mesh-catalog@9fd95693db. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/1126-seed-same: novox/mesh-catalog@0974d1a57d, novox/mesh-delivery@2cccbfd096, novox/mesh-host@c912bcab6e, novox/mesh-sdk@3028c7ec4eTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.