/operation-request
Propose a privileged mesh operation — deleting synced Spaces, rewriting nodes across a partition, recompiling types — as an Essentials/OperationRequest the user previews and approves on one screen, after which the platform runs it as System. Use the moment a delete/update/create is refused for lack of rights, instead of listing GUI links.
- Instructions: You want the mesh to do something you are **not allowed** to do yourself — a `delete` on a system-synced Space came back *"Delete permission denied"*, an update across a partition needs rights your identity does not hold, a NodeType must be recompiled on an instance. Do **not** hand the user a list of `/{path}/Delete` links. File an **operation request**: one node, one screen, one approval, then the platform executes as System. # When - Any refusal of the form *"permission denied … present the user with this link"*. - Any operation that touches more than a handful of nodes, spans partitions, or must run in a specific order (a Space's `_GitSync` before the Space itself). - Anything you would otherwise describe in prose and ask the user to click through. # What you file Create a node of type **`Essentials/OperationRequest`** under your own home (or the user's, if they asked you there), for example `{you}/Requests/retire-deepfield`: ```json { "$type": "OperationRequestContent", "title": "Retire the Deepfield Spaces", "reason": "UWDeepfield and ClaimsDeepfield are retired legacy modules; their folders left the repo in MeshWeaver.Reinsurance#159 and their Spaces are now orphaned.", "requester": "Claude Code, thread <id>", "script": "Plan.Because(\"UWDeepfield and ClaimsDeepfield are retired legacy modules (#159)\")\n .Space(\"UWDeepfield\").Delete()\n .Space(\"ClaimsDeepfield\").Delete();" } ``` **One request per instance.** A request runs on the mesh it lives on; an operation that spans memex and systemorph is two requests, one on each. # The script C#, against the `Plan` object the platform puts in scope (never declare it yourself; never `return` early — the platform appends `await Plan.Complete(Ct);`). Every DSL call only **records** a step; the recorded plan is what the approver sees as a table. | Call | Effect | |---|---| | `Plan.Because(reason)` | the reason, shown first | | `Plan.Note(text)` | explanation between steps | | `Plan.Space(id…
- Auto mount: yes
- Launches sub thread: no