Vault: adopt the hashes of bus accounts it holds no value for, handed sealed by the bus node (issue 1945, ADR 0550 clause 4) #494

Merged
mesh-tools merged 4 commits from feat/1945-user-list-switch into main 2026-10-26 12:21:47 +00:00
Member

Group feat/1945-user-list-switch, one Approve. mesh-vault reads the bus node's have of the bus module, opens the handed hashes with its own key, adopts each user it holds no value for into bus-accounts. (never its own hash, never a covered account), writes an adopted one again when the loaded list carries a new hash, says account-hashed adopted; secret_own shows adopted users and the last adoption; account_adopt adopts now; the node-key verb also answers the vault's key. Try try-1793014493700847449 passed.

Reviewed-by: review-switch@shanks at c9414b1c98

Group feat/1945-user-list-switch, one Approve. mesh-vault reads the bus node's have of the bus module, opens the handed hashes with its own key, adopts each user it holds no value for into bus-accounts.<user> (never its own hash, never a covered account), writes an adopted one again when the loaded list carries a new hash, says account-hashed adopted; secret_own shows adopted users and the last adoption; account_adopt adopts now; the node-key verb also answers the vault's key. Try try-1793014493700847449 passed. Reviewed-by: review-switch@shanks at c9414b1c98564e34ad23fdbc623e7b8738992969
mesh-tools added 4 commits 2026-10-26 12:18:41 +00:00
take-over waits on a hash for every user of the loaded list, and the vault holds no value for the controller's own
account, the node accounts and the enrolled devices. The bus node's engine now hands every loaded user's hash in the
bus module's have, sealed to the vault's key (mesh-host and mesh-sdk on the same branch). The vault answers its key in
node-key, reads the haves (manifest reads node-engine.have, granted from the manifest, no controller change), watches
the bus module's have, opens the handing with its own key, and writes each user it holds no value for into
bus-accounts marked adopted, with the list and node it came from, saying account-hashed. It never touches a user whose
covered account it holds or whose key is its own hash, writes an adopted key again only for another hash, and refuses
a handing from any node the assignments do not name as holding the bus module.

Tools: account_adopt adopts now from the have as the watch does; secret_own, unnarrowed by module, lists the adopted
accounts and the last adoption.
Vault: pin mesh-sdk at the switch group's head c2a410bb, one sdk for the adoption and the switch (issue 1945)
mesh/delivery merged: source.main moved to novox/mesh-catalog@879600202a09
mesh/delivery-group group feat/1945-user-list-switch merged: every member is merged
mesh/check checking c9414b1c9856 on 879600202a09 | novox/mesh-catalog#494 in group feat/1945-user-list-switch
c9414b1c98
Author
Member

Delivery novox/mesh-catalog@c9414b1c9856 — merged since 2026-10-26T12:21:49Z

Source — source.main moved to novox/mesh-catalog@879600202a. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group feat/1945-user-list-switch: novox/mesh-catalog@c9414b1c98, novox/mesh-controller@09d2cc5056, novox/mesh-delivery@5c76c9d3ac, novox/mesh-host@e88ddab241, novox/mesh-sdk@c2a410bb63

Transitions

  • 2026-10-26 12:18 (new) → proposed (announced): novox/mesh-catalog#494's head announced
  • 2026-10-26 12:18 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-26 12:21 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@c9414b1c9856` — **merged** since 2026-10-26T12:21:49Z **Source** — source.main moved to novox/mesh-catalog@879600202a09. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/1945-user-list-switch`: novox/mesh-catalog@c9414b1c9856, novox/mesh-controller@09d2cc5056ef, novox/mesh-delivery@5c76c9d3ac84, novox/mesh-host@e88ddab24170, novox/mesh-sdk@c2a410bb6376 **Transitions** - 2026-10-26 12:18 (new) → proposed (announced): novox/mesh-catalog#494's head announced - 2026-10-26 12:18 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-26 12:21 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`.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit 879600202a into main 2026-10-26 12:21:47 +00:00
mesh-tools deleted branch feat/1945-user-list-switch 2026-10-26 12:21:48 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#494