r/place A fruit fly for organization science

out/notes-D2.md

Saved at D2.D2a: check. This reading copy substitutes participant identifiers in saved text; it is not a new interview response. Reading Markdown.

Participant handles in these reading copies use the pixel stream's identifiers: base64(SHA1(username)), case preserved, without a salt. These are linkable pseudonyms. Profile links are removed; missing-author markers remain. Original research files are unchanged. Quote offsets refer to original text. Source and reading-copy hashes are listed separately.

Source commit: dd33cc4e4ec3, 2026-10-16T12:22:04+02:00. Saved-state date: 2026-10-16T10:21:24Z. Catalogue close receipt Commit date and saved-state date are distinct.

The community returns used study-specific model settings. D2 native turns checked for the 14 shared communities used GPT-6.1 Sol, medium; resumed_with=5.6 is not their answer model. Models and lineage.

Original GitHub file. Original SHA-256: 7be1424b81b0f8362899fdfc047a88a24f2e4aea7abd4f7448f0bc4e28184ac6. Reading-copy SHA-256: 7be1424b81b0f8362899fdfc047a88a24f2e4aea7abd4f7448f0bc4e28184ac6.

Notes, stage D2 (the return: the check leg)

The labelers and the verdict readers returned against the model frozen at pass 15 (e15f96470271763d9913e79ed8e332c164a1f176106eefacfe8ffac8e1b3fecd). ingest.py D compiled the ledger and the verdicts at 08:53 UTC on 16 October. I adjudicate nothing here, edit no return, and run no labeler or reader. QD1-001 (J: an element may sit in two or more dimensions) was settled at D1a, and nothing here rests on it.

Scripts, all read-only over the returns: _analysis/d2_ingest.py (§1), _analysis/d2_verdicts.py (§2; the split rooms in _analysis/d2_verdict_rooms.json), _analysis/d2_sample.py (§3; the draw in _analysis/d2_sample.json). The ledger was read by count only.

1. What ingest did

Rooms. 705 rooms returned and were accepted. None was rejected, none is unreturned, and RUN.json says none was reissued. The counts agree across ingest-D.md, RUN.json (D2: accepted 705, reissued 0, unreturned 0), DROPS/D/DONE (returned 705, unreturned 0), UNRETURNED.tsv (header only) and the ledger (705 rooms).

Reissues. ingest.py counts a room as reissued when its run.json records more than one attempt. Every room records one. The handler's recap says 378 rooms needed one to four repairs of attempt 1 in the same session. Those repairs, and the rules they fixed, are in no file this stage may read.

Lines. 42,243 lines. Per room: min 21, p10 52, quartiles 57, 60 and 64, p90 68, max 91.

op lines share rooms holding it
instantiate 17,648 41.8% 705
absent 14,675 34.7% 705
restrict 4,406 10.4% 633
add-step 1,889 4.5% 654
add-condition 1,408 3.3% 511
propose 1,362 3.2% 543
link 844 2.0% 484
contradict 11 0.03% 11

Flagged lines. Ingest rejects a room whole when any line fails rules 1 to 4 or 6. It keeps a line that fails portability (rule 5) with portable: false. So portability is the only flag left in the ledger, and it is the rule that flagged most lines: 763 lines (1.81%) in 356 rooms. By op: instantiate 484, absent 185, restrict 31, propose 19, add-step 17, add-condition 15, link 10, contradict 2. 169 of them name the room itself.

None rooms. 0. Every room returned lines.

Unplaced source themes (the lines D3 may mint from). 134 of 27,571 sourced lines (0.5%) have a source theme placed nowhere. They sit in 98 rooms: propose 61, instantiate 32, restrict 19, add-step 16, add-condition 5, link 1. Every source is a second-order theme.

Candidates and tentative entries. The labelers answer the five candidates often, as MODEL.md allows. Rooms with at least one line on the entry other than absent:

entry status rooms instantiate lines
P06 candidate 564 600
K04 candidate 530 584
R02 candidate 500 493
P19 candidate 240 217
K03 candidate 124 118
P22 tentative 191 158
P21 tentative 128 80
A21 tentative 101 37

D3 rules on these. I report the counts only.

The labelers. All 705 run.json copies record gpt-6.1-sol, resumed with gpt-5.6-sol, one attempt. Every line is origin: labeler, decision: pending, at one model version.

2. The verdicts

The fleet.

Reader verdicts (1,410): composes-with-residue 927 (65.7%), composes 432 (30.6%), cannot-tell 49 (3.5%), does-not-compose 2 (0.1%).

Room verdicts. The two readers agree in 542 rooms:

They differ in 163 rooms, a disagreement rate of 23.1%. By pair:

No split involves does-not-compose. Within each value, the share of rooms where one reader chose it and the other did too is: with-residue 72% (387 of 540), composes 48% (140 of 292), cannot-tell 40% (14 of 35).

The disagreement rate bounds whether the written criterion decides a room, not whether the model is right (FLEET §2). Most splits fall on one line: whether a room's unused concepts carry organizing the model lacks. The 163 split rooms are listed at the end of these notes for D3, which rules on each with the criterion in front of it.

Cannot-tell, by threshold. 49 reader lines: coded-share 39, off-platform 10, both 0. The lines carry no counts, so I checked each against the room's figures in rooms.jsonl, which each packet stated, and against prior.md §8. All 39 coded-share lines fall in rooms below the concept floor of 10. All 10 off-platform lines fall in rooms past the off-platform threshold. The numbers support every cannot-tell line, so none goes to D3 as unsupported. The thresholds are review prompts, not rules, so the converse also holds: readers judged most rooms below the floor or past the threshold.

Residue. A with-residue reader line names a median of four themes or concepts as residue.

The labeler's grade beside the verdict. Every one of the 705 model-D.md files grades composes-with-residue, and every one says local_status: unresolved. The cross-table has one row:

labeler grade composes composes-with-residue does-not-compose cannot-tell split
composes-with-residue 140 387 1 14 163

By reader line, the row reads: composes-with-residue 927, composes 432, cannot-tell 49, does-not-compose 2. The grade does not vary, so it cannot be set against the verdict. It sits beside the verdict and never replaces it. The cause goes to the handback.

The return lines.

The story-miss rooms (C2's last story told these 19 with a residue). By room verdict:

D3 counts how they fared. I compare them with no prediction here.

3. Ten room models, drawn by seed

The rule (logged before the draw):

The strata held 140, 387, 1, 14 and 163 rooms. The draw: cannot-tell Lugarix and wario; composes uva and signal; composes-with-residue quebec, flashtv and minnesotavikings; does-not-compose picturegame; split aggies and thetreesnetwork. I checked each file by script and then read it whole.

What all ten share.

Wario (cannot-tell; one concept). A single title shows a call and a design (P01, P02, R01, P09). Every other entry is unobserved or not testable, with the reason. The labeler restricts P09: the attack reading needs the target shown as another party's work.

Lugarix (cannot-tell). Announcement titles and one approving reply carry P11. The labeler challenges a placement, because the in-joke theme claims a history the quote does not show, and keeps the joke as an add-step inside P11. It also settles a P15 boundary locally: approving an announcement is not answering a call.

Signal (composes). Call, building, guidance, design critique and credit (P01, P03, P04, P02, P11, P12). The one [new: …], a member's reply to a bot, is not organizing. Some D08 lines sit under Local exceptions.

Uva (composes).

Quebec (composes-with-residue).

Flashtv (composes-with-residue). Loss and restart, restraint toward kindred fans, and a host's closure prank. The labeler restricts A11, A01, A02, A10 and A05. Of its eight [new: …] markers, three are organizing (reusing pixels while relocating; rebuilding after a move; learning a neighbour's design to stop a mistaken repair). Two are not (summoning a conversational bot; sympathy in a joke thread).

Minnesotavikings (composes-with-residue).

Picturegame (does-not-compose; the only such room). A guessing-game sub whose one canvas link is a proposed emoji. The labeler keeps the room inside the model's terms: K01 (an April Fools sound round) and P13 (the proposal), with every canvas element unobserved. Its [new: carrying on ordinary sub talk] repeats T3-017, which the vocabulary holds. The readers judged that the room's organizing is not canvas organizing; the labeler graded with-residue.

Aggies (split).

Thetreesnetwork (split). The labeler instantiates the candidates P06 (tracing who placed a pixel) and K04 (an insider's membership claim), and restricts P06's reading that the placer meant well. It keeps a personal inscription and a thank-you to the host as [new: …], and conditions P15 on what a bare reply approves.

Across the sample.

These are D3's to rule on. I report them as the sample showed them.

4. Verbal before numeric

I revisited no verdict and no line because of a count. Four facts stand as facts, and D3 judges them against prior.md:

Neither the many repairs nor the absent lines establish failure or success.

Defects sent to the handback

  1. The labeler's grade does not vary (task template and return specification).

  2. Ingest stamps every absent line as specification, whatever its evidence state.

  3. The 378 same-session repairs appear in no file. RUN.json counts 0 reissued.

  4. The verdict return line: served records copying, sub is unreliable, and the line carries no count.

  5. [new: …] is used for more than organizing (minor).

  6. Eight ledger lines name a dimension as their element outside link (QD2-001, answered). In 121 ledger lines the element is a dimension id; 113 are link, which SCHEMA §3 allows. The other 8 are not:

    • restrict D02: 4chan-013, SquareSpiral-014;
    • add-condition D02: borussiadortmund-013;
    • add-condition D01: cowchop-030, spain-058, torontoraptors-009;
    • restrict D01: ucf-004;
    • add-step D02: vermont-011.

    ingest.py accepts a dimension for any op, while validate.py D2 accepts one only for link. So the first close-check failed on these 8 lines alone. I edited no line.

    J's answer (option 1): the check now accepts a dimension as the element of restrict, add-condition and add-step as well as link. D3 rules on the 8 lines as they stand.

The split rooms, for D3 (163; generated from _analysis/d2_verdict_rooms.json)

<!-- split rooms, generated -->

composes against composes-with-residue (142): 49ers, achievement_hunter, afip, aggies, AmericanFlaginPlace, auburn, australia, bdsm, bindingofisaac, bisexual, blackmirror, bostonbruins, btc, buffalowizards, bulgaria, cgpgrey, chile, Clannad, clashroyale, cmu, coldplay, criticalrole, czech, danganronpa, DestinyTheGame, detroitlions, drawhelix, drugs, drumcorps, dwarffortress, eagles, earthbound, edboxes, edmontonoilers, eesti, egypt, ElderScrolls, elitedangerous, england, falcons, Fez, FlaggyFlag, floridagators, foxes, fxKorea, gatech, geometrydash, germany, giantbomb, globaloffensive, GranColombia, gravityfalls, guatemala, GuildWars2, h3h3productions, hawks, heroesofthestorm, hoodr, hyperlightdrifter, ice_poseidon, iceland, india, jerma985, kamenrider, katawashoujo, kirby, kpop, kurdistan, latvia, lifeisstrange, lofihiphop, magictcg, mamamoo, ManningPlace, marvel, mexico, miamidolphins, mizzou, MMA, MonkeyIsland, monstercat, mordhau, morrowind, muse, mylittlepony, mysterydungeon, nascar, necrodancer, neu, nin, notredame, ohio, patriots, pepe, PinkVomitMonster, pitt, placehfarts, placetardis, pokemon, poland, polandball, popheads, PORTUGALCARALHO, puzzleanddragons, qotsa, re_zero, redpandas, roosterteeth, rush, rust, rutgers, sakuragakuin, seahawks, snsd, sooners, spain, spongebob, ss13, ssbpm, starcraft, strangerthings, telegram, teslamotors, texastech, thailand, thenetherlands, thepointing, thesimpsons, thetreesnetwork, tinytardis, TsundereSharks, twitch, udub, ukraine, uofm, UPenn, uwaterloo, vim, weezer, wholesomememes, yuyuyu, zelda.

cannot-tell against composes-with-residue (11): azores, crusaderkings, de, paladins, reddevils, serbia, smashbros, THE_R, TransFlagPlace, trees, UNLincoln.

cannot-tell against composes (10): austriahungary, bannedfromanime_irl, Bravenewbies, littlebusters, NovaScotia, oltp, polyamory, Redox, tenma, TheID.

Unsupported cannot-tell lines: 0.