Research 039: a tool or verb that needs a person's approval #233

Merged
mesh-admin merged 2 commits from research/039-a-tool-that-needs-a-persons-approval into main 2026-10-08 22:30:04 +00:00
Contributor

Opens research 039 (status: active). A short note to design from later, not a design. Do not merge without review.

  • The idea (the operator, 2026-10-08): a tool or seat verb declares in its manifest that calling it needs a person's approval.
  • Enforced in the mesh, not the MCP client: the tool runner or the controller refuses the call unless it carries a warrant from ADR 0259's flow (pull request 211). An agent may ask; it cannot act alone.
  • The ask carries what, why, the exact arguments and who asks; Approve or Decline at the approve assurance level; the call goes ahead once, with those arguments, before the warrant expires.
  • Candidates seen on 2026-10-08: zfs_snapshot, push, the bus's upgrade, mesh-delivery.release, plans go and stop, a secret's rotate, the places and accesses settings, the media library's share and mounts.
  • Bears on: ADR 0259, ADR 0266 (pull request 225), the record upgrade policy, the held delivery's release, issue 336 (pull request 228), the hand-act log.
  • Open questions: per tool or per argument; who may approve; replay and expiry; how a waiting call is shown; the MCP client while it waits; where it is answered before a verified channel exists (the desk answers only acknowledge); audit.

Checks run locally: records.py, index.py, cycle.py and words.py all pass (words.py without the catalogue's list).

Opens research 039 (status: active). A short note to design from later, not a design. Do not merge without review. - **The idea (the operator, 2026-10-08):** a tool or seat verb declares in its manifest that calling it needs a person's approval. - **Enforced in the mesh, not the MCP client:** the tool runner or the controller refuses the call unless it carries a warrant from ADR 0259's flow (pull request 211). An agent may ask; it cannot act alone. - **The ask** carries what, why, the exact arguments and who asks; Approve or Decline at the `approve` assurance level; the call goes ahead once, with those arguments, before the warrant expires. - **Candidates seen on 2026-10-08:** `zfs_snapshot`, `push`, the bus's upgrade, `mesh-delivery.release`, `plans` go and stop, a secret's `rotate`, the places and accesses settings, the media library's share and mounts. - **Bears on:** ADR 0259, ADR 0266 (pull request 225), the `record` upgrade policy, the held delivery's release, issue 336 (pull request 228), the hand-act log. - **Open questions:** per tool or per argument; who may approve; replay and expiry; how a waiting call is shown; the MCP client while it waits; where it is answered before a verified channel exists (the desk answers only acknowledge); audit. Checks run locally: records.py, index.py, cycle.py and words.py all pass (words.py without the catalogue's list).
mesh-admin added 1 commit 2026-10-08 21:59:57 +00:00
Research 039: a tool or verb that needs a person's approval, so an agent may ask but cannot act alone
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
c31a76cac5
Author
Contributor

Delivery novox/hq@ccb54450eabb — delivered since 2026-10-08T22:30:15Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-08 22:02 (new) → proposed (announced): novox/hq#233's head announced
  • 2026-10-08 22:02 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 22:02 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 22:30 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-08 22:30 published → delivered (done): nothing for a walk to move

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

<!-- mesh-delivery:view --> **Delivery** `novox/hq@ccb54450eabb` — **delivered** since 2026-10-08T22:30:15Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-08 22:02 (new) → proposed (announced): novox/hq#233's head announced - 2026-10-08 22:02 proposed → checked (checked): the verdict names this commit - 2026-10-08 22:02 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 22:30 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-08 22:30 published → delivered (done): nothing for a walk to move The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
jschoubben added 1 commit 2026-10-08 22:01:49 +00:00
Research 039: the login shell's execute is the first case, and narrow read tools must come first or approvals become noise
mesh/delivery delivered
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
ccb54450ea
mesh-admin merged commit ef2a38474f into main 2026-10-08 22:30:04 +00:00
mesh-admin deleted branch research/039-a-tool-that-needs-a-persons-approval 2026-10-08 22:30:04 +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/hq#233