Skip to content

[P0] Specify Governed Action and scoped Permit Protocol v0.1 #137

Description

@0YHR0

Problem

Policy, approval, Permit, MCP execution, and unknown-outcome reconciliation exist, but they are not
presented as one reusable signature capability. External Agent frameworks cannot yet adopt this
governance path without adopting the full AgentMesh runtime.

Proposal

Define AgentMesh Governed Action Protocol v0.1 and a small Python SDK around:

ActionIntent → PolicyDecision → Approval (optional) → Permit → ExecutionReceipt → Reconciliation

A Permit grants one bounded capability to one principal, action, and resource under explicit
expiry, use count, idempotency, constraints, and policy snapshot. Write gateways must consume it
atomically and retain evidence.

Acceptance criteria

  • Versioned schemas exist for Intent, PolicyDecision, Permit, consumption, receipt, and outcome.
  • Permit binds principal/delegation, action, resource, constraints, expiry, max uses, and stable
    idempotency key.
  • Write execution fails closed for missing, expired, revoked, mismatched, or exhausted Permits.
  • Consumption and execution evidence remain replay-safe across crashes and duplicate delivery.
  • OUTCOME_UNKNOWN prevents blind replay and exposes an operator reconciliation path.
  • The SDK can be used by an external runtime without importing AgentMesh service implementations.
  • At least one MCP write and one fake non-MCP external action pass the same protocol tests.
  • Audit API explains who requested, who approved, what was allowed, what executed, and final outcome.

Non-goals

  • Creating a general-purpose policy language in this issue.
  • Giving Agents long-lived unrestricted tool credentials.
  • Treating human approval as sufficient without a scoped Permit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:governanceIdentity, policy, permits, and governed actionsenhancementNew feature or requestpriority:P0Must land before the next product milestone

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions