Skip to content

I3198 — A peer is offered an assignment by capability under a fenced lease, and accepts or refuses it with a reason

Add assignment offer, accept, refuse and return as mesh events and capabilities: the offer names the issue, the required capabilities and the lease; a peer whose declared capabilities do not satisfy it refuses with the missing one; a lease lost mid-run returns the work and says so; nothing executes yet.

BLOCKED wave 1 · p3 · deep-work profile · parallel safe

Part of mesh-peers-execute-assigned-work — Work is offered to a peer by capability under a fenced lease, and runs there as an execution.

Blocked. This issue cannot start until I3174, milestone:mesh-peers-execute-assigned-work are done. The status is derived from that, not declared.

Objective

Add assignment offer, accept, refuse and return as mesh events and capabilities: the offer names the issue, the required capabilities and the lease; a peer whose declared capabilities do not satisfy it refuses with the missing one; a lease lost mid-run returns the work and says so; nothing executes yet.

Why

Release R3 of the 10-13 plan: distributed execution without a second workflow database. The mesh today carries claims, handovers and reviews and executes nothing (docs/MESH.md). Proposed in ADR 0202 (The mesh routes work to an identity, never an address, and selects among proven transports instead of implementing NAT traversal); 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:c245#2.

Current state

Verified: no assignment kind in mesh/cooperation.rs; ADR 0167 seats are claims.

Desired state

assignment.* capabilities and events; mesh lab scenario for offer and loss.

Scope

  • apps/majordomus-cli/src/mesh/cooperation.rs
  • apps/majordomus-cli/src/capability/builtin/mesh.rs
  • test/mesh-lab/run

Out of scope

  • Running the work on the peer (a second issue, after its decision)

Dependencies

What waits on this

Acceptance criteria

  • A peer lacking the capability is never assigned and says why
  • Cancellation reaches the holder
  • A duplicate completion is harmless

Validation

  • majordomus plan validate
  • cargo test --lib mesh::cooperation

Evidence required

  • mesh_lab_assignment

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I3198.yaml. Read it back with majordomus plan show I3198.

Searches the titles and descriptions of every page this site publishes.