The Manual · Markdown source
The aggregator's files
One page per file the aggregator's run holds or uses: what the file
holds, who writes it and when, why the design has it, and a link to the
real file. Per-room files are described once, with r/armenia as the
example. The levels below follow the aggregator page , from what
governs the analyst down to the harness that runs it; how it was built tells why each
level came to exist.
1. What governs
The analyst is given a few documents that hold at every stage, and
one stage file at a time. Several documents instead of one, because each
kind of rule changes at a different pace: the brief rarely, the stage
files often.
The documents that hold
at every stage
file
what it is
CONTRACT-aggregator.md
The brief: what is true at every stage of the run.
STANDING-INSTRUCTIONS.md
What the analyst holds, the tools, its memory, and the shape of a
leg.
METHOD.md
What the method says, and which shelf of literature arrives
when.
AGENT.md
The analyst's first page: who it is, what the folder holds, and what
one session may do.
CLAUDE.md
The rules Claude Code loads into every analyst session, binding on
every turn.
Stages, steps and legs
The run is cut into stages so the analyst cannot read a later stage
while answering an earlier one, and into legs so no session runs long
enough to compact unseen.
file
what it is
stages/
The stage files, handed to the analyst one stage at a time.
tools/steps.tsv
Every stage and step of the run, one per line.
tools/steps.py
Parses stage and leg ids against steps.tsv.
shelves/
The literature, arriving with the stages that read it.
Documents for particular
stages
2. What it holds at the start
Everything here is built by script before stage A1, so the analyst
starts by reading and never assembles its own material.
The coders' package
The coders' sealed work, one folder per room, kept as the coders
wrote it.
The joined store
The same material joined across rooms in package/store/,
so a question across seven hundred rooms is one query and not seven
hundred reads.
file
what it is
package/store/README-store.md
The store's dictionary: what each file is, and what none of them
is.
package/store/_README-neighbours.md
The neighbours file's own dictionary entry, with its counts.
package/store/_README-relations.md
The mention graph's dictionary entry, with its counts.
package/store/_README-transitions.md
The transitions ledger's dictionary entry, with its counts.
package/store/_build.json
The build record: what went into the store and what came out.
package/store/_retracted.jsonl
Every concept its coder withdrew, listed and kept out of the
store.
package/store/_unjoined.jsonl
Concepts whose item the forest does not hold.
package/store/codes.jsonl
Every first-order concept of every room, joined.
package/store/themes.jsonl
Every second-order theme of every room, with its concepts.
package/store/items.jsonl
Every item of every coded thread, without its text.
package/store/threads.jsonl
Every coded thread, its shape and the coder's disposition in one
line.
package/store/rooms.jsonl
One line per room of the frame: the census.
package/store/pointers.jsonl
Every pointer every coder wrote, in one file.
package/store/relations.jsonl
The mention graph: every room another room's coder recorded.
package/store/transitions.jsonl
The transitions ledger: every coded turn that answers a coded
turn.
tools/build_store.py
(build script)
Stage 00: the joined store from the coders' documents.
tools/relations.py
Stage 00's builder of the mention graph.
tools/transitions.py
Stage 00's builder of the transitions ledger.
The forests
Each room's coded threads as reply trees, so a claim about who
answered whom can be shown on the page.
The canvas and the
neighbours
What each room did on the canvas and whom it touched, kept beside the
text and never mixed into it.
3. The verbs
The analyst reads and writes through tools, and every call is logged,
so what it says it read can be checked.
Reading, quoting and
recording
file
what it is
tools/mem.py
The store and the analyst's own files, one page at a time, and the
only writer to the diary.
tools/cite.py
The only way a quote enters an output. Every call is logged.
tools/counts.py
The denominators, from the canonical files.
tools/gen_views.py
Regenerates out/_views/ and out/_wiki/
from the canonical files.
tools/saturation.py
The stopping rule: A1's random order, when B1 may stop reading, and
the report the PI decides on.
tools/snap.py
The record of what existed when: a hash of every file in
out/ under a name.
HOW-TO-RUN.md
The command reference for the analyst's tools.
tools/NEW-VERBS.md
The verbs and options added or changed in the v38 tools pass.
tools/TOOLS_VERSION
One line naming the version of the tools.
Opening and closing a leg
file
what it is
tools/validate.py
The close-check of every leg and the open-check of every
launch.
tools/vlib.py
The shared library of the close-checks.
tools/checks/
One close-check per stage, and the self-test that proves each one
fires.
tools/links.py
Checks that every id named in the head and the questions
exists.
tools/probe.py
The recall probe: five questions at every close, and their
score.
tools/done.sh
The leg's one exit.
The fleets and the return
file
what it is
tools/packets.py
What a fleet reader is served, assembled by script.
tools/handoff.py
Stage D1's builder of the labelers' folder and the verdict
packets.
tools/ingest.py
Validates the labelers' returns, compiles the ledger, the verdicts,
the room copies and the D2 counts, and re-lifts the ledger after
D3.
tools/dreturn.py
The one rule set for stage D's returns, shared by ingest, the D2
check and the verdict schema.
tools/rebuild.py
A room's model rebuilt from the global model plus its accepted
adaptations.
tools/distance.py
The stage D4 distance between rooms, from the adaptation ledger; the
per-room delta, the dendrogram and the NEXUS file for SplitsTree.
tools/projections.py
Stage D4's projections: the verdicts and the canvas per branch and
per cluster, against a permutation null.
4. Its memory in out/
The analyst holds nothing between legs except what is on disk.
Knowledge is stored in writing; the analyst pages in what a decision
needs. How the aggregator
remembers tells how these files work together.
5. The harness around it
The analyst does not start, stop or check itself. The handler runs it
through these scripts, which also hold the rules an agent might
forget.
Laying out and running a leg
Sending work to fleets
Guards and hooks
Publishing
Also in the harness and its
records
file
what it is
harness/lib.sh
Shared functions, sourced by step.sh,
close.sh, dispatch.sh and
build.sh, never run: where the run is, the leg id's parts,
the session of a label.
CONTROL/sessions.json
The session id of every leg, recorded when the leg is prepared;
build.sh refuses a run that names one.
CONTROL/snapshots/<label>/checkpoint.json,
cost.json
A checkpoint's ancestry and validation, and the leg's token counts,
summed over every turn.
CONTROL/interviews.tsv
One line per interview fork: when, the leg, the session forked, the
fork's id.