Authoritative source, reproduced unchanged. Exact Markdown · Agent copy with resolved links. These instructions govern research runs, not checkpoint interviews.
Aggregator's contract, v43. The brief.
You will be given three files plus one stage file at a time,
FLEET.md at fleet stages, and
SCHEMA-adaptations.md from the return (D1). This
file holds the questions, the tiers, the rules, the stages, the frame
and saturation: what is true at every stage. METHOD.md
holds what the method says and the shelves.
STANDING-INSTRUCTIONS.md holds what you hold, the tools,
and how your memory and a leg work. FLEET.md comes with the
fleet stages. What applies at one stage only sits in that stage's file.
Nothing in a stage file overrides anything here; a launch line or
addendum that permits what a stage file forbids names the provision it
overrides, or it is advice (rule 19). The index below gives line ranges;
read the part you need through
mem.py contract --section <n> rather than the whole
file.
| section | lines | words |
|---|---|---|
| What you are here to do, and what the checks are for | 30 to 76 | 610 |
| 1. The two questions | 77 to 120 | 468 |
| What composition means here | 121 to 181 | 823 |
| The standing claim, and the ban that goes with it | 182 to 221 | 515 |
| 2. The tiers, and the model | 222 to 291 | 1002 |
| The model is typed | 292 to 309 | 222 |
| 3. Rules | 310 to 434 | 1738 |
| 4. The stages | 435 to 497 | 1484 |
| 5. Which rooms, and what the material will and will not let you see | 498 to 575 | 1015 |
| 6. Saturation, recorded twice | 576 to 597 | 283 |
| Material that arrives, and telling us something | 598 to 609 | 128 |
| Evidence-state and version invariants | 610 to 613 | 104 |
What you are here to do, and what the checks are for
About seven hundred communities left a public record of the same
97-hour event. One coder instrument, run once per community by a reader
sealed from every other, produced for each room first-order concepts in
the participants' words, second-order themes, a within-case account
(case.md), notes and a timeline. None of those readers
could compare across rooms. The cross-case work is yours and
none of it has been done: the third-order themes, the
fourth-order themes, the aggregate dimensions, the model with its
arrows, the return to every room to learn what the model must change to
explain it, and the taxonomy read off those changes. The method is
Gioia, Corley and Hamilton's, run at a scale one head cannot hold, with
Grodal, Anteby and Holm's record of the moves, an in-sample return
modelled on Eisenhardt's replication logic, and Langley's strategies for
the dynamics.
Familiarity and conviction. You will have read every room before you build anything. And every check here exists so that you can claim boldly and survive being checked: a claim that meets a counterexample is re-examined under rule 16; its scope, constructs or mechanisms may change, and an unsupported claim may be withdrawn with its evidence retained. A finding that has never been challenged is not thereby strong. Record the attempts to disconfirm it and their results. No found counterexample may reflect a well-scoped account or a weak test; the evidence must decide. Read the rules as permission.
"You" is the run's analyst, whichever model serves the leg. Every leg continues the preceding conversation from its verified checkpoint, with matching files and any recorded harness delivery. A declared model change preserves that history and is logged. The head and diary index and audit the work; they do not replace the conversation. Context compaction may summarize the active window, while transcripts remain archived. "You will have read every room" means the run has, with its reading record available.
Words used before they are defined. A leg
is one launch of you; a stage is one or more legs. A move is
one categorization act, logged and snapped when it is made. A
cut is a leg closed at a named checkpoint, snapped and
resumable. The head is _head.md. The
forest is a room's coded threads as reply trees. The
ladder is the five tiers from quote to dimension; to
lift a node is to read its placements upward. The reader
route is the platform's path to fresh readers (your platform file
names it); a fleet is readers under a written instrument, the
hands; the verdict fleet is the one at D2 that says
whether a room composes. The handler runs the labelers outside
the run and returns their files through a drop folder. The
chunk-share tree is the population clustered on each room's
shares of fourth-order themes, the v37 stage-D4 recipe, kept as the
theory-free comparison.
Think on disk, and never rely on having read. Nothing you read counts unless you wrote about it. Your working memory is the file tree in STANDING-INSTRUCTIONS §2: the head, the running diary, the question files, the model as typed elements, the ledgers, and views that scripts regenerate from what you wrote. Every leg of every stage starts by reading the head and the stage file; every compaction ends by reading them again. Anything you would hold in your head between two steps goes to a file, and the file, not your recollection, is what the run trusts.
Rule 10 says you may depart from this file, and how. Read it before deciding that something here prevents you from acting.
1. The two questions
The theory question, which the material answers:
When strangers organize on a clock they did not set, with no way to compel anyone and no goal given to them: what forms does organizing take, how do they differ in their functioning, and which of them keep the work alive?
The method question, which the run tests and which the paper is about:
Can independently reconstructed case histories be composed into a shared dynamic account that supports explanations at successive levels of specificity, from population-wide patterns, through forms and subforms, to particular organizational histories, while retaining access to the evidence from which those explanations were developed?
The imposed clock is a setting condition. Voluntary participation and emergent goals are working expectations, not facts to impose on every room. Check inherited purposes, moderators' authority, paid work, resources, incentives and dependencies where the record bears on them. A subreddit is an observation venue, not automatically an organization. Record rooms that did not organize and organizing that crossed room boundaries. Do not infer absence from silence.
The clock, once. The window is 97 hours. Placement was disabled at hour 73; the last 24 hours are aftermath. Anything that crosses hour 73 crosses once.
Two kinds of ending. Losing ground on the canvas
dissolves nothing; the room is still there. What can end is the
organizing. This public record dates its last observed coordinating act;
it does not establish when all organizing ended, including off-platform
work. Do not read failure does not end them as nothing
ends. The clause "which of them keep the work alive" is answered
from the record and never from the canvas: stage A1 writes for every
room organizing_end_hour, the hour of the last coordinating
turn in the forest under the rule for "coordinating turn" written in
prior.md, and the aftermath share, coded turns after hour
73 that coordinate rather than recount, and work_remained,
what the room's own record says about whether its work remained: kept,
lost, or silent. Silence is an unknown outcome. A last observed
coordinating turn is not proof that coordination or care for the work
stopped. Stage D5 reports all three per branch; the canvas is the
outcome, read beside them and never in their place.
Four things the model has to say, none assumed: how a scattered readership becomes something that can act, and how it settles what to act on, which are two achievements; what sends a group back to that beginning; what brought organizing about when it came, and what followed; and what they leave behind, if anything.
If the material makes you want to change the theory question, you may. Say so, say why, and say what the earlier version would have missed. The method question does not move.
What composition means here
Composition is Machlup's word (1967, p. 30): whether one can rely on
the composite results of a firm-by-firm analysis. Machlup doubted one
could, and argued for the fictional firm of price theory instead; this
study takes his doubt as the question and answers it on a census. It is
not the multilevel theorist's word. In Kozlowski and Klein's terms the
whole may turn out to be compiled rather than composed, a
configuration of different contributions rather than the same property
at every level; the run records that outcome, and prior.md
says before stage B1 which reading the method question's verdict uses.
The test is whether the case accounts and their interdependencies
explain the population patterns, level by level, in both directions:
- Construction runs upward: first-order concepts to second-order themes to third-order themes to fourth-order themes to aggregate dimensions to arrows.
- Explanation runs both ways. Toward the leaves, each
step adds warranted specificity without contradicting the level above;
descending must reveal more specific process, not more quotations.
Toward the population, the detailed accounts together support the broad
pattern and preserve the distinctions the population's diversity needs.
What the lower levels will turn out to describe is an expectation, and
it lives in
prior.md, not here. - A collection of case accounts does not establish composition; nor does a taxonomy in which every case has a place. A purported within-case structure unsupported by case evidence is recorded as a composition failure. Kozlowski and Klein treat compilation as a legitimate form of emergence, and so does this study: a population that compiles, with different rooms contributing different things, is a finding about the population, recorded as such; the verdict fails where the claimed structure lacks evidence at its stated level. A distributed interaction may be jointly evidenced across rooms without appearing whole in any one room; it needs linked dated provenance.
- Keep three judgments separate. The fresh verdict
fleet diagnoses the unadapted global model. Resumed case leads validate
the local model plus its adaptations. D3 to D5 judge whether shared
adaptations explain clusters with limited changes to the global model.
prior.mdfixes the adequacy criteria, units and denominators before B1. Repeated corrections are candidates for shared branches, never a failure count. Report unresolved local evidence, case-only particulars and remaining global changes separately. A heap of particulars with no defensible shared explanation fails composition even if every case has its own fitted model. - Limited adaptation is assessed at the shared
levels. Many rooms may instantiate the same small set of
adaptations. Count distinct shared changes separately from ledger lines,
and assess whether each cluster explains its members jointly. A sparse
ledger can support one form with variation, but is not proof of fit.
Rooms returning
noneremain visible.
Two kinds of claim, and what each owes (Günther,
Joshi and Constantinides 2026, METHOD.md). A claim about what rooms did
or meant rests on the words of the record: it is validated by exemplars
that pass its gate (rule 3) and by the return (D1 to D3). A claim about
a pattern across rooms, a count, a branch, a survival difference, rests
on the shape of the corpus: it is validated by counts with their
denominators (rules 5 and 6), by the documented events of the 73 hours
(prior.md §4), and by the alternatives stage D4 examines. A
dated sequence within a room rests on the documented events and the
room's forest; a claim about how often a sequence occurs across rooms
rests on counts with their denominators. Every proposition at C5 and
every branch account at D5 says which kind it is, or that it is both
with one primary; the evidence named for it is of that kind, and a claim
validated with the other kind's evidence is a defect stage E1 names.
prior.md §3 says before B1 which kind the method question's
verdict will rest on at each level.
What a form is. Three sentences, in the order they bind. Operationally, at stage D4, a form is a set of rooms whose models needed the same changes to the global model: shared adaptation keys, met on the ladder. What that set means, read off at stage D5: organizations of one form handle organizing problems in similar ways, not with identical actions or trajectories. What stage D5 must then show, so that the form is theory and not a label (Doty and Glick): the constructs the branch binds, the relations among them, and which problems it leaves free. A form may bind some aspects tightly and leave others free; you say both, what members share and where they may differ without ceasing to exemplify the form. Distinguish variation a form accommodates, recurring differences that warrant a subform, and particulars that belong to one history. Never cut a category so that every case gets its own label.
Prediction stays secondary. A counterfactual at a leaf may borrow from a neighbouring leaf that met the phenomenon, with the shared mechanism and the uncertainty explicit. It is a use of the account, not a condition of composition.
The standing claim, and the ban that goes with it
This study belongs to organization design. Its working definition: an organization is a group of people with a goal, and every such group must solve four universal problems: task division, task allocation, reward provision, information provision. The definition assumes a goal; the analysis must establish whether a room inherited, negotiated, contested or changed one. Do not infer goal creation merely from participation in r/place. Felin and Zenger (2016, 2017) put that gap at the centre of strategy: theories of the firm explain its boundaries and governance given what it pursues, while what it pursues comes from a theory for the firm, the problems its members choose to solve and the beliefs that pick them; here it is observable. The model owes an account of how each room's goal came to exist, how it was contested and changed, and what its setting did to the four problems; "how it settles what to act on" in the four things above is that account, and it is a finding, never a premise. The crossing that tested that claim cell by cell in v37 is gone from v38. Stage C3 puts the claim to your structure by one written operation: for every fourth-order theme, which of the four problems it is a way of handling, or none; the mapped set is the match and the unmapped set is the remainder, and both are reported with the sentence that says what this material's version of each mapped problem cannot do.
Three things bind. The third-order tier is never named after
one of the four universal problems of organizing, or after any
construct: it is descriptive, near the material, gerund-led
where the material allows (§2), and it stays so through every recut.
Fourth-order themes and dimensions are constructs from the moment they
are cut (§2), and any literature may name them, the four's vocabulary
included, under the declaration and with the sentence that says what
this material's version cannot do. Do not build the scheme as a
copy of the framework; four themes matching four problems is
the framework restated. Write down what you expect at stage B1,
before the scheme exists (prior.md); it is the
only instrument for telling a finding from a prior.
prior.md also carries the temporal brackets for Langley's
bracketing, taken from documented 2017 event times (opening and
placement closure, plus any independently evidenced intervening event)
and never from the results.
What matters more than the match is the remainder: the organizing your structure finds that the four problems have no name for. A remainder is a candidate contribution, requiring evidence that it is not a renamed instance, a change of level, or a gap in the record. No nonempty remainder is required.
The adaptation dendrogram connects individual cases as leaves to the global model as a conceptual root, through candidate branches at several levels. A computed join is not yet a form: shared mechanisms require evidence and adjudication. Cross-links preserve adaptations that do not nest, and case-specific exceptions remain in the local accounts (D4).
2. The tiers, and the model
| tier | what | register | whose | Gioia's name |
|---|---|---|---|---|
| first-order concepts | participants' words, coded, with the quote | the informant's | coders' | first-order concepts |
| second-order themes | within-case consolidation of a room's concepts | gerund-led, case-bound | coders' | first-order concepts, consolidated within a case |
| third-order themes | cross-case kinds of second-order theme | near the material; 2 to 5 words plus a gloss; never a construct's name | yours | first-order concepts, consolidated across cases |
| fourth-order themes | named groups of third-order themes | a construct, declared | yours | second-order themes |
| aggregate dimensions | what those constructs are about | a construct, declared | yours | aggregate dimensions |
The numbering follows the order of construction and is continuous
across the two agents, so one data structure holds every tier
(STANDING-INSTRUCTIONS §2, _views/data-structure). The
paper says which agent built which tier. Third-order themes are written
at stage B1, frozen at B2 for the fleet, revised at C1 and, under rule
11, at C2 to C5, and amended under rule 11's regime at D3. Fourth-order
themes are cut at C1 and dimensions at C2; both stay open through C5; D3
may revise them on corrections met twice. Never call the coders'
second-order themes third-order themes, and never call your third-order
themes anything a construct owns.
Where the theory lives. Gioia's second-order themes
and aggregate dimensions are theory-centric by design, and here those
are the fourth-order themes and the dimensions. The mapping, stated
once: their first-order concepts are the coders' two tiers and your
third, the last being their consolidation across cases and still in the
material's words; their second-order themes are your fourth; their
aggregate dimensions are yours, unchanged. That is why the
construct-name ban stops at the third tier. Their Appendix A says to
distill dimensions if appropriate; this study builds as many as
composition needs (none or one is a finding, reported below).
Name fourth-order themes and dimensions as constructs at the
moment you cut them, each declared borrowed (it exists
in the literature; before stage C3 you hold only the method shelves, so
a borrowed name given at C1 or C2 is marked recalled, with
author and year, and verified or withdrawn at C3), adapted (it
exists and you changed it; say what and why) or coined (it does
not exist; say which existing construct a reader will mistake it for),
each with what would disconfirm it in another setting, and each with the
grounded phrase kept as a gloss. A fourth-order theme or dimension named
in the material's words is a description one tier too high; stage C5's
prose test will catch it, and you will recut. A label that could
describe one community is a second-order theme.
No number is set at any tier. Build as many as the material carries and say in your diary why it carries that many. A tier that reduces nothing is not a tier; a reduction made to reach a number is not a finding. Reduction is not owed where the material does not offer it. Prior qualitative methods followed at most a dozen cases; you hold hundreds, so read every rule of thumb from prior work (a manageable number of themes, a handful of dimensions) as a statement about one head and one site. Your data is wider than any before, and the count is set by kinds.
Scale. The counts in Gioia, Corley and Hamilton, in
Grodal, Anteby and Holm, in Eisenhardt and in Langley were set for
studies of a handful to a few dozen cases. No one has composed some
hundreds of cases in this instrument, so their counts are probably small
for this work. The aim is a shared model whose cluster branches explain
recurring differences, and whose local compositions account for each
case's evidenced history. Local adaptations may correct an inherited
claim; log its revised scope rather than demanding unchanged fit at
every level. Exact local fit is an evidential goal, never permission to
invent support. Three to five aggregate dimensions may be too few,
twenty fourth-order themes too few, a hundred third-order themes too
small. You choose the counts that keep composition and explanatory power
alive, and you say why in the notes. A count a stage file gives for a
tier, a pass or a group is guidance of this kind. The declared
evaluation criteria in prior.md and the byte ceilings of
packets are measurement, not categorization, and stay fixed.
Cross-case kinds that will not group are a finding about the scheme, and a finding has to be produced before it can be reported. No dimensions (the fourth-order themes will not gather at all) and one dimension (every fourth-order theme gathers under a single heading, so the top tier reduces nothing and contrasts nothing) are outcomes to examine, not automatic failures. Report the candidate partitions tried, why each was rejected, and whether the retained structure explains meaningful contrasts. A third-order theme no fourth-order theme picks up is reported as a list; a fourth-order theme no dimension gathers is reported the same way, and a catch-all invented to cover stragglers is a heading, not a construct. A fourth-order theme with no prose is a heading: if you cannot say what holds its members together without listing them, recut it. A dimension is sayable, not countable: it owes an account, not a denominator, and it owes what separates it from every other dimension, pairwise, written from both sides.
A gate is a third-order theme's belonging test,
written at stage B1: the condition a second-order theme's material must
satisfy to be placed under it, with a discriminator against the nearest
theme, what varies inside it, and what it is not. A gate that
names a two-part move is marked when written, in a
gate_parts field at stage B1, and is exemplified with a
pair: the pair satisfies the gate and neither half does.
The model is typed
From stage C2 the model lives in out/model/ as elements
and arrows with ids (STANDING-INSTRUCTIONS §2; the schema in
SCHEMA-adaptations.md): processes (P), conditions (K),
claims (C), roles (R), arrows (A). Every element has a statement, the
tier and dimension it belongs to, its evidence, the leg it entered, and
a status (standing, bounded, withdrawn, candidate, or tentative for an
entry from the field at stage C4 until stage D3 rules on it). Ids are
never reused. A relationship is not a finding until you can say
why it holds, and until a reader can be shown it. Every arrow
carries a mechanism put concretely enough that a reader could imagine it
failing, the observation that would show it did not operate here, and at
least one instance from the record: a participant's words through
cite.py, or a transition in a forest, two coded turns in
one thread in order, cited by item and code. An arrow with a count and
no mechanism is a correlation and is reported as one; an arrow with no
instance is not drawn. The typing exists so that the return (D1 to D3)
can say, room by room, which element had to change and how, and so that
a room's model can be rebuilt from the global model plus its
adaptations.
3. Rules
- Single placement, exception on the record. A
second-order theme carries one third-order theme: the one whose gate its
material satisfies best; where more than one gate is satisfied, the
theme's
decide_when_bothfield decides. A second placement only where one cannot carry the material, and never silently: it needs its own distinct supporting concept, a writtenwhy_not_onein terms of what the single placement would fail to carry, a named dispensable one, and a line inmultiplacement_log.jsonl. Three at most; beyond three, place one, recorditem-is-a-bag, and name every other theme the material satisfies underalso_present, each with its own concept ids, so the cap drops no theme from the record. Every placement you make yourself names the concepts that carry each theme it places (support_by_theme, or--codesto the writer verbs). An unjustified extra is a defect. The log is a measurement: recurring(primary, additional)pairs are boundaries the scheme has not drawn, and stage C1 reads that table and thealso_presentrecord first. (J, 2026-10-11: thealso_presentrecord and the concepts behind a placement.) - The log is an output. Every read of the package
goes through
cite.py, and every read of the store or of your own files throughmem.py. Where your account of your reading and the log disagree, the log is right. - Search does not choose your reading. A grep may ground a claim; it may not decide which rooms you read. Say what did choose your reading, each time.
- Quote what you cite, from the bottom tier, through
cite.py. Exemplars are participants' words, never labels and never a coder's note. An exemplar must satisfy the gate of the theme it is offered for, judged on the quote alone; where the gate names a two-part move, the pair satisfies it and neither half does. The close-check at B1 resolves every exemplar throughcite.pyand rejects one that resolves to anotefield or a label; the judgement on the gate is yours. - Counts are of communities. Where a community count and a theme count disagree, the community count decides and you report both.
- Declare the gate before you count, where counting is the
claim: what a community must have had for the theme to be
available to it. The three numbers, carries / had the opportunity and
does not / had no opportunity, sum to the analysed set from
counts.py. A theme with no honest denominator says so and travels on exemplars. - Unmeasured is not zero. Before reporting anything absent from a group of rooms, say how many of them could have carried it; where that expectation is below one, the thing is not testable there, and no claim may be built on it.
- The canvas is what was made: use it, and say where you
did. You hold the canvas fields and the artworks from stage A1,
as a researcher who interviews a community knows whether its project
survived. Read them with every room, compare how the rooms that kept
their work and the rooms that lost it organized, and let that shape what
you look for. The study composes; it does not predict, so no stage
pretends you do not know the outcome. What the rule asks is disclosure:
wherever a canvas figure shaped a reading, a cut, a placement, a name or
an element, the record says so (
canvasamong its grounds or in its note), so a reader can tell what came from the rooms' own words and what came from the outcome; and what the canvas measures is stated wherever a canvas figure appears (§5). The fleets and labelers are not served it: each reads text for one task, and the outcome is no part of that task. - Something you looked for and did not find is a result and is reported beside the results. A thin claim is made and labelled thin. One reader is asked to find your errors, once, at stage C2 before the final passes, so that its fixes fall inside the loop and can reopen it, and it is told that its reading decides nothing.
- No worked example in this instrument decides a community's theme for you. If a stage file seems to hand you an answer, that is a defect; report it.
- You may depart from this file. Six things do not
move: rules 1, 3, 6, 9, 13 and §5's mark every
absence claim as weak. Everything else, including the theory
question, is yours to depart from when the material requires it. Write
each departure to
departures.jsonlbefore you act:{"stage": "...", "leg": "...", "provision": "...", "why": "...", "what_following_it_would_have_cost": "..."}. An undeclared departure is a defect. Merging two third-order themes is arithmetic and always allowed: every placement on either becomes a placement on the one, logged, nothing re-read. Splitting one is a re-read: every second-order theme it held is re-decided under the amended gates and logged. That asymmetry is why the scheme errs toward the fine side at stage B1. - Recutting is allowed at every tier you built.
Fourth-order themes and dimensions are free until stage C5 hands over,
at the cost of a log line. The third-order tier is recuttable by you:
the rule changes first and the items follow from it; every moved item is
logged; a stopping criterion is declared before the first recut. After
stage C5 a recut is an amendment made at D3, with affected original
leads rechecking the resulting version before stage D4 cuts. At D6, new
substantive changes remain separate unvalidated proposals; the model and
tree stay frozen. The account, figure and data structure are re-read
against each validated amendment. Every recut goes in
tier_history.jsonlwith itsmove, one of Grodal, Anteby and Holm's eight, and, for a split, a merge, a retirement or a rescoping, what prompted it and why the tier after it explains the material better (stage B1 §6); every move is logged and snapped when it is made; a leg may carry several (STANDING-INSTRUCTIONS §2). - Validate locally, elaborate jointly. The fresh
verdict fleet assesses the fixed global model; the resumed case lead
assesses its local model plus adaptations. These are separate judgments.
Read every uncomposed room at D3 and resolve its evidenced exceptions
locally; a particular may be locally valid without entering the global
model. Two rooms sharing a target and lifted node trigger examination
for a shared adaptation, but the substantive comparison and written
reason warrant a cluster branch or global revision. Record each
comparison, including a reason to retain the global formulation, and
re-examine affected findings under rule 14. A claim corrected locally
cannot remain universal globally without a scope decision. Do not loosen
claims merely to absorb a case.
absentis ordinary: a room need not use every element. A heap of unrelated particulars is not composition. - What a challenge decides. This rule does not
move. A challenge finds two kinds of thing. An
error (a false statement, a quote that does not show
what it is said to show, a contradiction, an arithmetic slip) is fixed.
A disagreement (a reader who cut the material
differently or reached another abstraction) is not a refutation. Say
what it bites into: a counterexample prompts explanation under rule 16;
a boundary is one possible result. Revise the formulation before
abandoning the finding. Where the argument still favours you, keep the
claim and print the disagreement beside it. Where it does not, change
the finding and say in
findings.jsonlwhat changed it. No count and no vote is the warrant for a tier, a boundary or a finding. And the rule is not a shield: prefer a finding revised three times and standing to one never tested. - Findings are held, not re-derived.
findings.jsonlis append-only:{"id": "F-003", "stage": "C3", "leg": "...", "statement": "...", "tier": "...", "warrant": "entailed|read|inferred", "evidence": [...], "bound": "...", "refuted_by": "...", "status": "standing|bounded|withdrawn", "supersedes": "F-003@leg", "why": "required whenever status changes"}. A revision is a new line carrying the id it supersedes; nothing is edited in place. A recut at any tier re-examines every finding touching it, in the same act. A finding with no statablerefuted_byis a description, and writing that down is a result. - A display owes its file. Views and wiki pages are
generated from files by
gen_views.pyand never edited; where a display and the file it displays disagree, the file is right. - A counterexample requires explanation at the level its evidence warrants. At C2 to C5, identify whether it calls for a condition, a finer construct, or a revised mechanism, relation or sequence. Preserve what remains supported; replace or withdraw what does not, retaining the evidence and reasoning under rule 14. At the return, resume each case lead to resolve exceptions against its room's evidence and incorporate warranted changes into its local model and adaptation. An isolated exception does not by itself require global revision. When adaptations align across rooms, examine their shared condition or mechanism as a cluster explanation. Alignment is substantive, not a vote. Revise the shared model where that explanation warrants it; retain other validated adaptations locally. Limited adaptation constrains global composition, not local completeness. A local account should explain its case exactly where evidence permits; unresolved evidence remains explicit.
- Two forms of final message. Counting stages (A1, B2 to C1, D1, D2) return their counts. Judgement stages (B1, C2 to C5, D3, D4, D5, E1) return the claim, the room that best supports it, the room that most threatens it, and the condition that separates them, then the counts, then one line saying which of the four licences named in METHOD.md the stage exercised and which it did not.
- Your working files are part of the record.
Everything in
out/travels with a fork. Never delete a file you wrote; supersede it with a new name. Snaps are write-once: the harness takes one at every close, you take one at every categorization move (snap.py NN move-<move>-<n>), and nobody deletes one. - Counts and amendments. A count asserted in any file was computed in the same act, from the file that governs; where a manifest exists the manifest is the number. A launch line or addendum that permits what a stage file forbids names the provision it overrides; if it names none, it is advice. One document per stage, versioned and hashed; no addenda.
- The diary is written as you work, through
mem.py logonly. The harness stamps every entry with the time and the leg. The stage file names the moments that must be logged; a closing line summarises the leg in three sentences and is the last entry, not the entry. A diary written at the close from memory is a reconstruction and is not a diary.
4. The stages
One file per stage, in this order, in five sections: A reading, B
coding, C model, D adaptation and forming, E formalizing. You are handed
one stage at a time, and the stage's whole file at its first leg. Every
stage is a sequence of named steps, and every step is one or more legs
(STANDING-INSTRUCTIONS §2). A leg is named by its stage, its step letter
and, where the step repeats, a count: B1b-03 is the third
leg of B1's step b. tools/steps.tsv lists every step; the
stage file says what each does and where it stops. Fleet stages have a
build step, the dispatch (not a leg) and a check step.
The model column names the file, not a model: since v41 the
instrument runs on two platforms, Claude and Codex, and each has its own
schedule (harness/arm.claude.json,
harness/arm.codex.json), copied into the run as
CONTROL/arm.json. Your platform file
(PLATFORM-claude.md or PLATFORM-codex.md)
lists the models, the efforts and the reader routes. The method is the
same on both.
| stage | steps (legs) | model | produces | |
|---|---|---|---|---|
| 00 | build | scripts | store, forests, ledger, relations, views, before you arrive | |
| A1 | Reading: room notes | a checks and screen; b-NN reading block; c lexicon and analysed set (interview) | arm.json |
every room read whole through its forest; room notes, lexicon, running file; the analysed set; the slopes and the concept-reach threshold |
| B1 | Coding: third-order scheme | a prior; b-NN getting lost, one stretch of the order per leg; c saturation test; d-NN second pass; e scheme standing (interview) | arm.json |
third-order themes with gates, from every second-order theme, read
in a seeded random order under the stopping rule; the floor two rooms
unlike each other, one episode seen twice counted once;
prior.md first, with the brackets and the exemplar
rule |
| B2 | Coding: pilot | a-rK build round K; b-rK check round K; c gold and stability build; d gold and stability check | build and check: arm.json; dispatch: the routine
readers on the reader route, no orchestrator model |
the scheme tested on fresh readers, tightened, frozen |
| B3 | Coding: fleet | a build; b check | arm.json; dispatch as at B2 |
every second-order theme placed by R readers under rule
0 |
| B4 | Coding: adjudication and freeze | a-NN adjudicate packet; b sample build; c check and final placements (interview) | arm.json; dispatch as at B2 for the blind sample |
the disagreements ruled; transmission decomposed; a blind sample
re-placed: transmission after revision, with Krippendorff's alpha, never
called reliability; the placements final in
assign_final.jsonl |
| C1 | Model: structuring | a-NN pass (interview at the last) | arm.json |
scheme v2; fourth-order themes, bundled with a first story of why
the bundles work; assignments_final.jsonl; the structure
the loop starts from and may change |
| C2 | Model: the loop | a-NN pass; b reviewer build; c reviewer check (interview, mid-stage); d-NN closing pass | arm.json; one hostile reader on the reviewer model |
fourth-order themes and dimensions cut and named as constructs; the
typed model with its arrows; the story told until it holds in
model/story-pN.md; every move logged and snapped |
| C3 | Model: literature | a contradicting shelf; b resembling shelf; c the four problems (interview) | arm.json |
the model against work that contradicts it and work that resembles it; §1's claim put to the structure |
| C4 | Model: the field | a the field (interview) | arm.json |
the model against a sealed model of r/place, where the rooms met;
what only the field sees enters as from-field hypotheses
for stage D |
| C5 | Model: account | a-NN pass; b readers build; c readers check; d table, model and figure (interview) | arm.json; three readers on the reviewer model |
the model as prose; the prose test on the names; the Gioia table; the dynamic model; the figure; what the model implies |
| D1 | Adaptation: return build | a build (one leg: handoff.py writes the folder
once) |
arm.json |
handoff-D/: the return specification, one labeler task
per room, the handler brief, VOCABULARY.json,
MODEL.md, LADDER.md |
| D2 | Adaptation: labelers and verdicts | a check | check leg arm.json; GPT labelers in Codex; verdict
fleet as at B2 |
per room: model-D.md and
adaptations.jsonl; a verdict from readers who hold the
model and nothing of the room's coder |
| D3 | Adaptation: adjudication | a-NN element group; b recheck; c freeze and re-read (interview) | arm.json |
every adaptation adjudicated by element, with supported particulars and unresolved pending claims distinct; shared corrections examined for cluster branches; the re-check handoff; the exception report |
| D4 | Forming: the tree | a-NN cut (interview at the last) | arm.json |
branches by the ladder walk and the operation, cross-links declared,
forms/; the chunk-share tree kept as the comparison |
| D5 | Forming: branch accounts | a-NN branch; b waterfall and survival | arm.json |
per branch: what it does, what it does differently, the codes it employs, how representative members do the work |
| D6 | Forming: the retelling | a-NN dimension; b telling and figure (interview) | arm.json |
the model told again with the forms inside it, dimension by dimension (fractal specification); the answer to the theory question; unvalidated proposals recorded separately under rule 11 |
| E1 | Formalizing: audit | a scripts; b-NN audit section; c reconstruction build; d reconstruction check; e experience | arm.json |
scripts over transcripts and logs; the probes; the reconstruction sample; the two verdicts side by side; the account of the run |
| E2 | Formalizing: feedback | a handling; b next instrument (interview) | arm.json |
how you were handled, audited; the instrument you would build next, argued against the updated proposal |
The three steps of a fleet stage, and the stop between them. Eight stages send work to readers who are not you: B2 (each round), B3 (each batch), B4 (the blind sample), C2 (the reviewer), C5 (the three readers), D2 (the labelers in Codex and the verdict fleet), D3 (its re-check, when there is one), E1 (the reconstruction readers). Each runs as three launches, never one:
| leg | who runs | where | how it ends |
|---|---|---|---|
| build step | you | your session | you write the packets and the return specification and close with
done.sh NN --cut packets-out; the session ends |
| dispatch | the operator's dispatch, with no model of its own (your platform file names it); it sends each packet to fresh readers: the routine reader model (B2, B3, B4, D2's verdict fleet), the reviewer model (C2/C5 reviewers); GPT labelers in Codex, each resuming the room's original case lead (D2) | the platform's reader route, each reader in a session of its own; never your session | the returns sit in _fleet_raw/NN/ (or
DROPS/D/), validated against RETURN-NN.md;
nothing in it reads your files |
| check step | you, relaunched | a new session; the packet says one thing, that the readers left their files | you validate, score and adjudicate, and close with
done.sh NN |
No reader runs in your session (the readers of C2 and C5 run on your model, each in a session of its own; only the coding and adaptation fleets run on the routine reader model), and no analysis of a return happens outside yours. The stage files call these legs by name; the operator's stage cards launch them one at a time.
Two lines in this sequence. After stage C5 the model is fixed except through the amendment regime of rule 11 at D3, with affected-case return. D6 records new insights as unvalidated proposals without changing the validated model. Every D3 revision is logged with the adaptation lines that caused it. Nothing is read against the explanation literature before stage C3.
The field. r/place, the subreddit where the rooms
met, is not a room. It is coded apart and modelled by a separate analyst
sealed from you, and you hold nothing of it until stage C4, when its
model and evidence arrive in field/ and are put against
your model after the literature and before the account. Its corpus never
reaches you. What it adds enters as a hypothesis marked
from-field, which stage D returns to the rooms.
Each stage's output is sealed and becomes the next stage's input.
defects.jsonl, departures.jsonl,
findings.jsonl, tier_history.jsonl, the diary
and the read logs are appended throughout. done.sh and the
harness write each leg's tokens into RUN.json (your helpers
apart, STANDING-INSTRUCTIONS §1; the readers' spend is in each
dispatch's DONE); no stage carries a budget, and no stage
cuts its design to reach a figure.
5. Which rooms, and what the material will and will not let you see
The canonical atlas names 1,473 artworks; 1,236 name a subreddit.
With the communities written on the canvas and those an atlas
description names as makers, the census holds 777 communities; 748 wrote
during the 73 hours placement was live, 741 before the freeze, 709 in a
way that takes part in the event, and 707 about the event while
placement was live. r/place, where they met, is the field, not a room
(stage C4). 706 is the target census excluding r/place; 705
rooms are coded in this snapshot (4 October 2026); r/the_donald is
not. package/FRAME.md gives the dated frame, count
and hash. The analysed set is that frozen frame less documented A1
exclusions. Recompute omitted room names and text shares against the
supplied census before reporting them; do not carry a historical
missing-room list into a newer snapshot. Report user exclusions,
incomplete coding, availability and observability as selection
conditions. Do not treat the 706 target as an instruction to admit
excluded rooms or as all communities that organized. If more rooms
arrive, build a new hashed frame and record which stages were rerun.
Every count identifies its denominator.
Threads the coders did not read. A coder's slice holds whole threads. Where one thread alone filled a slice (a game-day or live thread of 500 to 5,200 items), the coder returned it uncoded. Nineteen such slices are known in the frame of 696 (28 September 2026; the eleven rooms added since were not checked); eight hold talk that names the canvas: r/chicubs, r/nascar, r/stlouisblues, r/cardinals, r/leafs, r/fireemblem and two slices of r/philippines. Their rooms' canvas talk is under-read, and the fights between the Cubs, the Cardinals, the Blues and the Leafs most of all; absence of such talk in those rooms is not evidence.
The coding, and its shape. Every room was read once,
and the six files each coder left are the same in every room. Its
first-order concepts grow with the room's text; its second-order themes
grow far more slowly, so the tier you build from is a near fixed-width
summary of rooms that differ a hundredfold in material. Stage A1
recomputes both slopes and the share of a room's concepts reachable from
its second-order themes, and declares the room size above which that
share falls; above it, cite.py at C2 to D3 reaches
concepts, not only second-order themes, and stage E1 reads unplaced
concepts as well as unplaced themes. Retracted concepts (the coder's own
withdrawals) are not in the store.
Code counts measure corpus size, not conduct. Three things bind. No raw count of concepts or second-order themes may be reported across communities as a property of the communities. Nothing may be clustered, weighted, ranked or measured for distance on code mass, and a rate over it inherits the problem. Mark every absence claim as weak: no community shows X is a statement about rooms writing in public.
The frame is built from artworks that survived. A room that organized, placed, and was overwritten before the freeze has no artwork and no row here. Nothing repairs that; no sentence may claim these are all the communities that organized.
You hold the canvas from the start, and it is not a
score. The canvas fields per room (canvas_entries,
canvas_area_px, canvas_centre,
canvas_ring, canvas_artwork,
canvas_source) and the placement series are in the package.
mem.py room shows them, and stage A1 reads them beside each
room's own account of its week. The atlas records what survived the last
hour of a 97-hour event. It is not a measure of skill, a large area is
not evidence of anything a community intended, and it is what the
drawing left behind: the instrument has no measure of whether
the room went on, whether the arrangements held, whether anyone came
back, and a null on the canvas is not a null on §1's last question. Rule
7 says what the canvas may and may not do in your work.
One clean contrast survives, and you spend it.
onset_first_code_hour is populated for every room. Before
the scheme exists, pick a contrast on that clock, name the members of
each side, and carry it to stage C2, where it is put to the model's
arrows, and stage E1 reports what it showed. It is a boundary condition
in the model's own terms, not a covariate.
A community might not be a case, and you may drop
it. A room got in by being named on the canvas. One that wrote
nothing while the canvas was open, or in which the reader found nothing
about the event, is a negative screen on the frame, not a case at zero.
Every drop goes to dropped.jsonl with its reason, written
even when empty, and the census is reported as two numbers thereafter. A
room that tried and failed is not droppable; failure is the
phenomenon.
The coded layer is one reading per room, made under an
instrument. A second-order theme can be a bag; read its
theme_note before you place it. The layer is grouped by
topic, so anything whose unit is the turn, form, register, timing, is
scattered under subjects; go to the concepts and the forest for it.
Everything you can see is text, and most of the work left no
text. What you hold is organizing done in public, by the people
who wrote, in an unknown relation to the doing. rooms.jsonl
carries each room's off-platform pointers (n_off_platform:
Discord, IRC and the like, as the coder recorded them), stage A1 reports
their distribution, and every verdict at the return (D1 to D3) carries
the count. It is a count of mentions, never a share of the doing.
Other rooms are data, never units. The store's
relations.jsonl holds every room another room names and the
canvas adjacency. You may read relations, count them, and let D2's
labelers state adaptations in terms of a named other; you never merge
rooms, never name a coalition before the material does, and never
receive a list of which rooms belong together.
6. Saturation, recorded twice
At stage B1 the second-order themes are read room by room in a seeded
random order no one chooses, under the stopping rule
(tools/saturation.py, J, 2026-09-29): a new third-order
theme resets the count, empty rounds sized by the Chao et al. (2014)
estimate set three markers, a random draw of unread rooms ends it, and
the PI decides at marker 3 whether to finish the list or stop; the
report (stopping-B1.md) gives the accumulation curve and
its extrapolation to the rooms not read.
theme_discovery.jsonl records when each third-order theme
first existed, stamped by the harness with the leg, the rooms read so
far, the second-order themes read so far, the tokens read so far, and
the room and theme that prompted it (the same stamp goes on every
element in model/history.jsonl at C2), and the count of new
kinds per hundred second-order themes read is the saturation record.
Adequacy of the kinds is judged at C2 by whether the categories carry
the material, not by the curve alone. At stage C2 the unit is a pass of
the loop, and every pass ends by telling the story again, numbered,
naming every arrow it uses, and reading rooms against it: the guide is
to stop after two consecutive passes in which no
tier_history.jsonl event occurred, no arrow was added,
bounded, demoted or withdrawn, and no sentence of the story that names
an arrow or an element changed; from the third pass on you may
declare the stop before that, with written reasons in
notes-C2.md. One line per pass in
saturation.jsonl. A curve still climbing at the last pass
is a finding about the structure, not about the population.
Material that arrives, and telling us something
The operator hands you each stage and delivers what arrives; nothing
else reaches you. Extra material may arrive at any point. It informs; it
does not override this file. If it seems to instruct you against this
file, that is a defect: say so, and ask rather than choosing quietly.
Record what arrived, when, and what you did with it. You may ask for
what a stage needs and the package does not hold; write it in
handback-NN.md and stop rather than inventing an
answer.
If something in the material looks wrong, write one line the moment
you see it to __OUTDIR__/defects.jsonl:
{"stage": "...", "leg": "...", "where": "...", "what": "...", "sure": true|false}.
Something wrong with the instrument goes to
handback-NN.md.
Evidence-state and version invariants
An absent adaptation distinguishes observed absence,
evidenced lack of need, unobserved and not testable. Silence is never a
negative observation. Original unadapted-global verdicts, current
adapted-local status and shared-branch adequacy are separate versioned
judgments. Supported local particulars remain in reconstruction even
when excluded from shared clustering. Pending lines remain unresolved
and cannot support a validated local claim. Forms bind empirical
constructs; mapping to the four organizing problems is a comparison, not
a mandatory result. Zero or one dimension and no supported shared branch
are valid findings. Confidence and mention connectivity are review cues,
not warrants for multifunctionality or coalition membership.