# Harness operations kit

Rethinking Agents · v0.1 · October 1, 2026

**Start with one unattended task.** Decide what evidence allows the next task to run, what work may remain alive, and what must stay unresolved. These are local review assets and an executable reference lab, not an installed security product or a production conformance certification.

## Choose the failure you need to handle

| Trigger | Use | Decision you should leave with |
|---|---|---|
| Worker says done, scheduler has only exit zero | [Run receipt](https://rethinkingagents.com/resources/harness-run-receipt.md) | Accept, reconcile, stop or review the task independently of its summary |
| Two sessions reach a server or a task leaves one behind | [Session ownership record](https://rethinkingagents.com/resources/harness-session-ownership.md) | Which workload may be reached, retained and cleaned up by this owner |
| Concurrent requests, retries or missing usage threaten a cap | [Budget contract](https://rethinkingagents.com/resources/harness-budget-contract.md) | Which routes have a bounded admission contract; which costs remain unknown |
| A plugin/configuration update changes access | [Authority inventory](https://rethinkingagents.com/resources/harness-authority-inventory.md) | Activate, restrict or hold each changed grant |
| A trace and an external outcome disagree | [Incident packet](https://rethinkingagents.com/resources/harness-incident-packet.md) | What is established, what is missing, and which recovery is authorized |
| Model/provider or tool adapter changes | [Adapter and denial contract](https://rethinkingagents.com/resources/harness-adapter-contract.md) | Preserve authority and distinguish terminal, transient and unknown outcomes |

## A first review in five steps

1. **Name the task and its postcondition.** For a parser patch, inspect the expected diff and test result. For a read-only review, a valid answer and cited input may be enough; a missing diff does not imply failure.
2. **Record effective authority.** Include receiver identity, host-side tools, mounts, child processes, network routes and who can change the policy. Leave unverified grants UNKNOWN.
3. **Define the scheduler decision before running.** Missing or contradictory evidence must not become success. An uncertain remote effect must be reconciled before a new attempt can duplicate it.
4. **Give retained work an owner and an expiry.** Bind a lease to immutable workload identity and generation. Authorize retention before the original lease expires. A busy port grants no cleanup authority.
5. **Export the smallest useful handoff.** Include outcome, effects, coverage gaps, cost settlement and remaining workloads. Use the incident packet if evidence disagrees. Keep credentials and private reasoning out of shared packets.

## Reproduce the reference behavior

Download the [Python lab](https://rethinkingagents.com/research/harness-operations-lab.py) and [method/results](https://rethinkingagents.com/research/harness-operations-lab.md). Inspect the script first. It needs Python 3.10+; the full runtime path also needs local Docker access and a pre-pulled `python:3.12-slim` image. No model, provider account or payment is used.

```sh
python3 harness-operations-lab.py --contracts-only > /tmp/harness-contracts.json
python3 harness-operations-lab.py > /tmp/harness-operations.json
```

Contract cases exercise a small reference implementation. Docker cases exercise actual synthetic workloads on one Linux/Docker configuration; LC-04–06 combine those workloads with controller, lease-clock and acknowledgement simulations. Neither establishes a production client's behavior. Runtime reports stay local; share only reviewed evidence. The [24 broader specifications](https://rethinkingagents.com/resources/harness-evaluation-scenarios.md) remain NOT RUN and are separate from this lab.

## Adopt only what improves a decision

Map these fields onto your existing scheduler, tracer, gateway and supervisor. Keep their identifiers instead of inventing a second event store. Pilot the failure case that costs you time today, with synthetic resources and explicit useful-task checks. Record setup time, false failures and the decision the asset changed. If the existing structured result or supervisor already resolves it, use that integration directly.

Blank records in this kit start NOT RUN. Worked examples are fictional; lab observations are identified in the method report. Completing a template does not verify a deployment. No use, adoption, buyer demand or model behavior is inferred from the kit's existence.
