# `CONTRACT-aggregator.md`

The brief: what is true at every stage of the run.

## What it holds

An index with line ranges, then: what the analyst is here to do and what the checks are for; §1 the two questions (the theory question, which the material answers, and the method question, which the run tests), what composition means, and the standing claim with its ban; §2 the five tiers and the typed model; §3 rules 0 to 20; §4 the stages, with the table of steps and models and the three legs of a fleet stage; §5 which rooms (a population of 708, the frame of 696, the canvas, the onset contrast, drops); §6 saturation, recorded twice; and what to do with material that arrives, with the `defects.jsonl` line format.

## Who writes it, and when

Written with the instrument (v38). `build.sh` copies it to the analyst's root. The analyst reads it whole once at A1 and by section afterwards through `mem.py contract --section <n>`.

## Why it exists

It says of itself: "Nothing in a stage file overrides anything here." Rule 10 lets the analyst depart from it, written to `departures.jsonl` before acting, except rules 1, 3, 6, 9 and 13 and §5's "mark every absence claim as weak", which do not move.

## Where

[CONTRACT-aggregator.md](../../../aggregator/runs/claude-v43-1/00_GIVE-THE-AGENT/CONTRACT-aggregator.md); source [aggregator/instrument/CONTRACT-aggregator.md](../../../aggregator/instrument/CONTRACT-aggregator.md).

Checked against: CONTRACT-aggregator.md, AGENT.md, tools/mem.py, harness/build.sh.
