# Content Proof Protocol

## Purpose

Prevent a content agent from completing polished public assets before a real event, evidence contract and state change exist.

## Before scripting

Return this contract:

```yaml
content_proof_contract:
  world_state_before: ""
  intervention: ""
  unknown_outcome: ""
  evidence_required: []
  failure_story: ""
  world_state_after: ""
  authority_level: "A3"
```

## Hard gate

Production may proceed only when all six conditions are present:

1. **World** — a concrete state exists before the episode.
2. **Intervention** — one intentional change is declared.
3. **Unknown** — the result can still disappoint the preferred story.
4. **Evidence** — another person can inspect the result.
5. **Failure** — a negative or boring result remains publishable.
6. **Memory** — the next episode inherits a changed state.

## Reject or downgrade when

- the conclusion is already written;
- the evidence can be replaced by narration;
- the result depends on unverifiable private data;
- an unflattering outcome would be discarded;
- the next episode resets the world;
- the requested public action exceeds A3 authority;
- rights, privacy or disclosure requirements remain unresolved.

## Plain worked example

### Weak request

> Make a video about how AI saves time on email.

This request already contains its conclusion.

### Proof-bound request

> For seven workdays, measure whether an agent reduces the time spent processing email. Count agent time, human review, repairs, setup, interventions and missed messages. Preserve the worst day. Publish the result even if the net saving is negative.

### Required evidence

- manual baseline;
- daily time ledger;
- intervention log;
- error and missed-message audit;
- setup cost;
- final state and next test.

## Operating sequence

1. Inspect real work for a measurable tension.
2. Propose one intervention.
3. Predeclare the evidence and failure condition.
4. Run before writing the title or conclusion.
5. Package the result at appropriate depths.
6. Store the state change and unresolved question.
7. Request human release approval.

## Output states

- `BLOCKED`
- `REQUEST_EVIDENCE`
- `EXPLANATION_ONLY`
- `READY_TO_RUN`
- `READY_FOR_HUMAN_REVIEW`

Never return `PUBLISHED` autonomously under the default A3 boundary.
