# Minimal Agent Accountability Manifest (MAAM) v0.1

**Version**: 0.1
**Status**: Draft
**Created**: 2026-01-25
**Canonical URL**: https://agentprotocols.org/maam/v0.1/

---

## Purpose

A lightweight, appendable declaration that makes *agent action legible before execution* and *accountable after execution*.

This manifest is:

* **Not a control system**
* **Not a permission system**
* **Not a compliance framework**

It is a **signal artifact**: a structured explanation of *why an action was allowed to occur*.

---

## Design Principles

1. **Pre-action first**
   Justification must exist *before* execution, not reconstructed later.

2. **Human-legible, machine-parseable**
   Regulators, auditors, and agents must all be able to read it.

3. **Permissionless adoption**
   Any agent framework, tool, or workflow can append it.

4. **Non-enforcing**
   It does not stop actions. It makes them *inspectable*.

---

## File Name (recommended)

```
agent-manifest.yaml
```

(JSON is acceptable; YAML is preferred for human review.)

---

## Schema v0.1

```yaml
manifest_version: "0.1"
manifest_id: "uuid-or-hash"
timestamp: "ISO-8601"

initiator:
  identity: "human | org | system | agent-id"
  role: "owner | operator | requester"
  context: "session-id / environment / deployment"

intent:
  declared: "plain-language description of requested outcome"
  constraints:
    - "explicitly forbidden actions"
    - "jurisdictional or ethical limits"
  risk_envelope:
    acceptable:
      - "known failure modes allowed"
    unacceptable:
      - "hard-stop outcomes"

executor:
  type: "browser-agent | api-agent | tool | workflow"
  name: "executor name"
  version: "version or commit hash"
  permissions:
    - "capability 1"
    - "capability 2"

justification:
  pre_action:
    rationale: "why this action is appropriate now"
    alternatives_considered:
      - "option rejected + reason"
  tension_addressed:
    description: "what problem or conflict this resolves"
    urgency: "low | medium | high"

reflection:
  post_action_hook: "how outcome will be evaluated"
  attribution:
    accountable_party: "who owns consequences"
    escalation_path: "if harm occurs, who is notified"

integrity:
  signature: "optional cryptographic signature"
  checksum: "optional content hash"
```

---

## Field Definitions

### `initiator`

**Answers**: Who started this and in what capacity?

| Field | Type | Description |
|-------|------|-------------|
| `identity` | string | Human, organization, system, or agent identifier |
| `role` | enum | `owner` \| `operator` \| `requester` |
| `context` | string | Session ID, environment, or deployment context |

**Prevents**: "The AI did it" ambiguity, blame diffusion across agents.

---

### `intent`

**Answers**: What was supposed to happen — and what was not allowed?

| Field | Type | Description |
|-------|------|-------------|
| `declared` | string | Plain-language description of requested outcome |
| `constraints` | array | Explicitly forbidden actions, jurisdictional/ethical limits |
| `risk_envelope.acceptable` | array | Known failure modes that are allowed |
| `risk_envelope.unacceptable` | array | Hard-stop outcomes that must not occur |

**Note**: This is the single most important section. If intent is vague, the system is already unsafe.

---

### `executor`

**Answers**: What is actually acting in the world?

| Field | Type | Description |
|-------|------|-------------|
| `type` | enum | `browser-agent` \| `api-agent` \| `tool` \| `workflow` |
| `name` | string | Executor name or identifier |
| `version` | string | Version number or commit hash |
| `permissions` | array | Granted capabilities |

**Separates**: Reasoning systems, toolchains, browsers, APIs. This matters legally.

---

### `justification`

**Answers**: Why was this action allowed instead of alternatives?

| Field | Type | Description |
|-------|------|-------------|
| `pre_action.rationale` | string | Why this action is appropriate now |
| `pre_action.alternatives_considered` | array | Options rejected and reasons |
| `tension_addressed.description` | string | What problem or conflict this resolves |
| `tension_addressed.urgency` | enum | `low` \| `medium` \| `high` |

**Note**: This is the *missing layer* in most systems. Not "what happened." Not "what policy says." But **why this choice passed the threshold.**

---

### `reflection`

**Answers**: Who owns the outcome after the fact?

| Field | Type | Description |
|-------|------|-------------|
| `post_action_hook` | string | How outcome will be evaluated |
| `attribution.accountable_party` | string | Who owns consequences |
| `attribution.escalation_path` | string | If harm occurs, who is notified |

**Note**: This kills the "API liability vacuum." Someone must be named.

---

### `integrity`

**Answers**: Can we verify this wasn't tampered?

| Field | Type | Description |
|-------|------|-------------|
| `signature` | string \| null | Optional cryptographic signature |
| `checksum` | string \| null | Optional content hash |

**Note**: Optional now. Mandatory later.

---

## What This Enables

Without forcing anyone, this manifest allows:

* Agents to **refuse execution** when intent is missing
* Auditors to **trace responsibility**
* Regulators to **ask better questions**
* Platforms to **separate reasoning from action**
* Developers to **standardize justification without control**

It becomes:

* The smallest unit of *explainable agency*
* The seed of future standards
* A reference object others can point to and say: *"This is what good looks like."*

---

## Future Extensions (not v0.1)

1. Machine-readable validation (JSON Schema)
2. Optional cryptographic signing
3. Agent-to-agent trust scoring
4. Regulatory mappings (EU AI Act, etc.)
5. FCS justification runtime integration

---

## Core Principles

> **Visibility without attribution is entropy.**
> **Execution without justification is risk.**
> **Agency without a manifest is denial.**

This file does not enforce morality.
It enforces **clarity**.

---

## License

CC0 1.0 Universal — No rights reserved. Use freely.

---

## Resources

- Schema: [schema.yaml](./schema.yaml)
- Examples: [examples/](./examples/)
- JSON Schema: [schema.json](./schema.json)

---

*MAAM v0.1 — The robots.txt of agency.*
