# The coder contract (CONTRACT.md)

The rules every coder follows: the method, the setting, the rules, the five steps and the outputs.

**What it holds**

Ten sections. The method (Gioia's two levels, first-order codes and descriptive themes; Eisenhardt's within-case account first), the r/place setting and the 97-hour window, eleven rules (files, grounding, quoting, searching, register, absence, real names, flag never fetch, record as you go, machine text), the five steps (brief, go through every thread, first-order codes, themes, the within-case account), the verdict (`full`, `trace`, `none`), the six outputs, and what the coder is given. The file is a template: `newrun.py` fills in the room, corpus, tools and output paths.

**Who writes it, and when**

The instrument's author wrote it. `newrun.py` copies it into each run as `CONTRACT.md`, and `tools/fleet.py dispatch` copies it into each fleet batch. Every role reads it first.

**Why it exists**

It says so itself: the outputs go to "a reader that builds the account across three hundred communities and has not seen your corpus", so what the coder writes must be "faithful and checkable". The role files say only what differs from it and win on that.

**Where**

[CONTRACT.v32.md](../../../coder/instrument/v32/CONTRACT.v32.md). A filled-in copy sits at `run/CONTRACT.md` inside each room's `run.tar.zst`, for example [armenia](../../../coder/rooms/armenia/).

Checked against: CONTRACT.v32.md, newrun.py, tools/fleet.py
