# Truthful run receipt

Rethinking Agents · proposed local contract v0.1 · October 1, 2026

**The worker's conclusion is a claim.** The scheduler needs evidence of the task's postcondition and a separate account of effects, cost and work left running. Adapt this envelope to an existing structured-result API; it is not a universal standard or the lab's input schema.

## Minimal semantics

| Outcome | Required basis | Default next action |
|---|---|---|
| completed | Authorized postcondition independently established | Accept task; settle cost and workloads separately |
| no_op | The task explicitly permits no change and its postcondition holds | Accept the legitimate no-op |
| blocked | Admission denied before dispatch; no earlier unresolved attempt | Stop this route; seek an authorized recovery path |
| failed | Task postcondition failed; known effects inventoried | Review/recover; retry only under a separate idempotency/authority decision |
| cancelled | Work termination acknowledged; remote settlement and effects separately recorded | Stop; reconcile any outstanding effects or costs |
| unknown | Missing, malformed, contradictory or incomplete evidence | Reconcile; never infer success or automatically replay |

A single invocation's refusal does not clear earlier effects. Cancellation of a local worker does not prove remote cancellation. An assertion of no effect requires sufficient coverage; absent telemetry is UNKNOWN. An observed forbidden effect is a control failure even when the task completed.

## Editable record — NOT RUN

- Schema/profile version: 0.1 (proposed)
- Task / run / attempt IDs: UNKNOWN
- Task definition and authorized postcondition: UNKNOWN
- Is a no-op legitimate for this task? UNKNOWN
- Worker, adapter, provider/model and effective route/version: UNKNOWN
- Workload identity / generation / owner: UNKNOWN
- Worker claim and exit status: UNKNOWN
- Independent checker identity, check time and evidence reference: UNKNOWN
- Postcondition established? UNKNOWN
- Outcome: unknown
- Effect state: unknown (none / confirmed / partial / unknown)
- Effects with operation ID, receiver principal/resource and acknowledgement: UNKNOWN
- Capture completeness, lost-event intervals and observer trust boundary: UNKNOWN
- Cost: unknown; currency/units, settled amount, outstanding reservation and route/pricing version: UNKNOWN
- Workloads still running, authorized leases and cleanup acknowledgements: UNKNOWN
- Scheduler decision and reason: reconcile; evidence not collected
- Permitted next action / owner / deadline: UNKNOWN

## Two worked examples — fictional, NOT RUN

**Read-only review:** the task is to identify an incompatible configuration, not edit it. The answer references the requested snapshot and an independent checker validates that finding. No mutation occurred under complete fixture coverage. `no_op` is appropriate; requiring a git diff would falsely fail useful work.

**Failure after effect:** a task updates a synthetic receiver then loses the acknowledgement before a second required step. The worker exits nonzero. Receiver evidence establishes the first update. Outcome `failed`, effect `partial`; a scheduler must not replay the whole task merely because the exit was nonzero. If receiver evidence is unavailable, effect remains `unknown` and reconciliation precedes retry.

Download the [blank envelope](https://rethinkingagents.com/resources/harness-run-receipt-template.json) and [fictional worked envelope](https://rethinkingagents.com/resources/harness-run-receipt-example.json). Null means unobserved, not zero. Evidence references are locators, not proof of integrity or completeness. Never let a worker self-assert the independent check and then accept it unverified.

## Integrate without transcript parsing

Capture the task contract before dispatch. Normalize the supported adapter's structured result; reject unknown versions and fields that affect authority. Join existing trace/span, operation, workload and receiver identifiers. Ask an independent postcondition checker and supervisor for evidence. Emit a scheduler decision separately from the worker claim. Settle reservations and authorized retained workloads even when the task is accepted.

The executable lab tests fixed adapter/receipt fixtures, including deliberately false success and missing evidence. It does not reproduce a current coding client's bug. The motivating [Aider issue](https://github.com/Aider-AI/aider/issues/5552) is an operator report, not an independently reproduced product result.
