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; source aggregator/instrument/CONTRACT-aggregator.md.

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