mesh-peers-execute-assigned-work — Work is offered to a peer by capability under a fenced lease, and runs there as an execution
An assignment is offered, accepted or refused by a peer whose declared capabilities and execution profile satisfy it, and an accepted one runs through the execution plane under the same authorisation as a local call.
BLOCKED 0 of 2 issues done
- ready
- 0
- blocked
- 2
- active
- 0
- verify
- 0
- done
- 0
- cancelled
- 0
Problem
Since 2026-09-11 the owner asked for work to be placed on peers by capability, health and history. The mesh coordinates but executes nothing a peer sends (docs/MESH.md); the-mesh-works-out-of-the-box names a milestone 'mesh-peers-execute-assigned-work (I2332-I2336)' that exists on no ref but a 10-04 stash. Proposed in ADR 0205 (What a runtime can do is a set of separately evidenced facts, and detection never authorises) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c113#6, chatgpt-majordomus:c154#5, chatgpt-majordomus:c226#2.
Outcome
An assignment is offered, accepted or refused by a peer whose declared capabilities and execution profile satisfy it, and an accepted one runs through the execution plane under the same authorisation as a local call.
Current state
Verified: the-mesh-works-out-of-the-box.yaml non_scope cites it; git grep finds I2332 only in that file and generated copies; ADR 0033 executions are local.
Desired state
assignment.offer / accept / refuse as capabilities; profile satisfaction checked; a lost lease returns the work.
Scope
- apps/majordomus-cli/src/mesh/cooperation.rs
- apps/majordomus-cli/src/execution
- apps/majordomus-cli/src/capability/builtin/mesh.rs
- docs/MESH.md
Out of scope
- A placement optimiser over cost history (routing-recommendations)
- Deciding how many peers to activate (open question)
Acceptance criteria
- A peer lacking the capability is never assigned and says why
- A lease lost mid-run returns the work and says so
Validation
- majordomus plan validate
Risks
- Remote execution is the largest trust widening the mesh can make: it waits for ADR 0126's authenticated caller and a decision record of its own
Issues
Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.
| issue | status | wave | depends on | title |
|---|---|---|---|---|
| I3198 | BLOCKED | 1 | I3174 | A peer is offered an assignment by capability under a fenced lease, and accepts or refuses it with a reason |
| I3199 | BLOCKED | 2 | I3198, I0202 | An assignment names the execution profile it needs, and a peer whose envelope does not satisfy it is refused |
The graph
flowchart LR
I3198["I3198<br/>A peer is offered an assignment by capability under a fenced lease, and accepts or refuses it with a reason"]:::blocked
I3199["I3199<br/>An assignment names the execution profile it needs, and a peer whose envelope does not satisfy it is refused"]:::blocked
I3198 --> I3199
classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2pxCanonical record: .ai/repo/project/milestones/mesh-peers-execute-assigned-work.yaml. Read it back with majordomus plan show mesh-peers-execute-assigned-work.