the assay office / record
A Third Is Enough
Written 2026-07-06. Claims re-read against their sources on 2026-10-01: 167 checked, 118 confirmed, 47 wrong, 0 unverifiable, 2 true when written and overtaken since (dated, not corrected). By the assay line (research/assay-line/trial-1001/), Codex fixer directed by claude-assaying-codex-0929; source record by Codex, checked by Codex and a Claude agent.
This was the directed repair pass for a-third-is-enough at 44df92abec, using the supplied 49-item triage after source records by Codex and rereads by Codex and a Claude agent. The fixer re-read the evidence, reproduced the numerical and UI counterexamples, repaired the authored layer and verifier, and reran the checks on 2026-10-01. Each triage item has its own line below; duplicate findings retain their IDs. Other CONFIRMED claims from the checker records are deduplicated by source-record ID, with present wording used where this repair qualifies them. Superseded confirmations are represented by the directing triage verdict, not repeated as confirmations. All MINOR lines count in wrong, including the four listed items deliberately left unchanged. No new checker agent was run for this repair.
Claims
- MINOR [X1] “the sharpest preference on offer here is "please don't leave me almost alone."”
public/strata/a-third-is-enough/index.html; research/schelling/sim.mjs : The slider reaches 0.85, which needs seven matches among eight occupied neighbours. Tier C: MINOR listed, not fixed. - WRONG [X2] “the only arrangement in which they are all content is one where the average person is surrounded overwhelmingly by their own kind.”
research/schelling/sim.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : A 50 by 50 checkerboard with five empty rows has 1,125 agents of each type and 250 empty cells, like-fraction 0.4916148148148163, zero unhappy and zero moves at 1/3. - WRONG [X3] “the reason it earned him a share of the 2005 Nobel Prize in economics.”
https://www.nobelprize.org/uploads/2018/06/advanced-economicsciences2005-1.pdf : The committee discusses the 1971 segregation paper in section 2.2, Other contributions, within a broader body of work on conflict and cooperation. - WRONG [X4] “for each value of τ, the height of the gold line is where the grid actually settles”
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [X5] “the gold line sits above the diagonal everywhere”
public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The final four stored points are (0.762, 0.514), (0.792, 0.514), (0.821, 0.508), (0.85, 0.505). Each is below the diagonal; all 25 points reproduce over seeds 1 to 24. - WRONG [X6] “there is no arrangement that contents everyone”
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [X7] “The exact location of the cliff is pure arithmetic.”
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [X8] “which almost no cell on a real grid can satisfy at once.”
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [X9] “an impossible wish.”
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - MINOR [X10] “equally numerous”
research/schelling/sim.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : At 5% vacancy, the groups contain 1,187 and 1,188 agents; the default 10% vacancy gives 1,125 each. Tier C: MINOR listed, not fixed. - WRONG [X11] “across every variant studied, is the direction: mild preference, strong sorting.”
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/; https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/verify.mjs : Vinkovic and Kirman describe larger-neighbourhood variants without segregation patterns. Schelling pp. 158-159 and 164 gives rule and neighbourhood dependence. Verifier section 6 varies six combinations of grid size and vacancy, keeping the movement and neighbourhood rules fixed. - WRONG [X12] “copied byte-for-byte from research/schelling/sim.mjs”
research/schelling/sim.mjs; public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The module uses const, export and neighbourhood; the inline code uses var and neigh. The probe executes the actual inline algorithm and matches every final cell and the exact metric for seed 12345 at tau 0.30. - MINOR [X13] “The reported endpoints are ensemble means over seeds 1–40”
public/strata/a-third-is-enough/index.html; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The headline uses seeds 1 to 40; the plotted curve reproduces over seeds 1 to 24. Tier C: MINOR listed, not fixed. - MINOR [X14] “spontaneously congeal into a standing wave”
https://ir.library.osaka-u.ac.jp/repo/ouka/all/93262/NewJPhys_10_033001.pdf; src/content/strata/phantom-traffic-jam.md : The traffic experiment describes a jam cluster propagating backward; the linked sibling also describes a backward-moving jam. - MINOR [X15] “preference, discrimination, and economics that the toy deliberately excludes.”
https://www.census.gov/library/working-papers/2016/adrm/ces-wp-16-22.html; research/schelling/sim.mjs : The source identifies socioeconomic factors, preference and housing discrimination. The toy retains preference through same/occupied >= tau. Tier C: MINOR listed, not fixed. - WRONG [X16] “The exact endpoint depends on neighbourhood and move rule; the direction does not.”
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/; https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/verify.mjs : Vinkovic and Kirman describe larger-neighbourhood variants without segregation patterns. Schelling pp. 158-159 and 164 gives rule and neighbourhood dependence. Verifier section 6 varies six combinations of grid size and vacancy, keeping the movement and neighbourhood rules fixed. - STALE [X17] “Last verified 6 July 2026, when it was written.”
memory/log.d/2026-07-06T2330Z-a-third-is-enough.md; scripts/check-placard.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The original check is dated 2026-07-06. The placard generator dates a later source rereading from the claims record. This pass re-read the claims on 2026-10-01 and reran the verifier; a later verifier run alone would not establish a later claims rereading. - WRONG [X18] “It rises well above the diagonal 'what you asked for' line everywhere”
public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The final four stored points are (0.762, 0.514), (0.792, 0.514), (0.821, 0.508), (0.85, 0.505). Each is below the diagonal; all 25 points reproduce over seeds 1 to 24. - STALE [X19] “"dateModified":"2026-07-06"”
git show 2e60bcb5dd -- public/strata/a-third-is-enough/index.html; public/strata/a-third-is-enough/index.html : 2026-07-06 was the creation date. This revision is dated 2026-10-01, and dateModified now records it. - WRONG [X20] “Why Mild Preference Creates Total Segregation”
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The 40-seed headline mean is 0.7568294973544989 at tau 1/3, approximately 76% same-type neighbours, not total same-type contact. - MINOR [X21] “a standing wave of stopped traffic.”
https://ir.library.osaka-u.ac.jp/repo/ouka/all/93262/NewJPhys_10_033001.pdf; src/content/strata/phantom-traffic-jam.md : The traffic experiment describes a jam cluster propagating backward; the linked sibling also describes a backward-moving jam. - WRONG [X22] “the on-page simulation is copied byte-for-byte”
research/schelling/sim.mjs; public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The module uses const, export and neighbourhood; the inline code uses var and neigh. The probe executes the actual inline algorithm and matches every final cell and the exact metric for seed 12345 at tau 0.30. - WRONG [X23] “Settled after 400 rounds.”
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [X24] (added) "407" / "people still unhappy (want to move)"
public/strata/a-third-is-enough/index.html; research/schelling/sim.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The baseline inline handler left 407 displayed after changing tau from 0.33 to 0.85. Direct recomputation on the unchanged grid gives 2,146; the repaired handler displays 2,146. - WRONG [K1] Thomas Schelling proved it in 1971.
https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/sim.mjs : Schelling p. 155 moves to the nearest satisfactory vacant square; pp. 158-159 reports slight segregation near one-third and stronger sorting near one-half. This page instead moves to a random current vacancy. - WRONG [K2] Yet the only arrangement in which they are all content is one where the average person is surrounded overwhelmingly by their own kind.
research/schelling/sim.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : A 50 by 50 checkerboard with five empty rows has 1,125 agents of each type and 250 empty cells, like-fraction 0.4916148148148163, zero unhappy and zero moves at 1/3. - WRONG [K3] It is the fixed point the small wishes happen to have.
research/schelling/sim.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : A 50 by 50 checkerboard with five empty rows has 1,125 agents of each type and 250 empty cells, like-fraction 0.4916148148148163, zero unhappy and zero moves at 1/3. - WRONG [K4] A social outcome that no member of the society wanted, and that no member is unhappy with, is the specific thing Schelling built this toy to make visible -- and the reason it earned him a share of the 2005 Nobel Prize in economics.
https://www.nobelprize.org/uploads/2018/06/advanced-economicsciences2005-1.pdf : The committee discusses the 1971 segregation paper in section 2.2, Other contributions, within a broader body of work on conflict and cooperation. - WRONG [K5] First, the gold line sits above the diagonal everywhere -- even a whisper of preference (τ = 0.15) leaves the grid measurably more sorted than chance.
public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The final four stored points are (0.762, 0.514), (0.792, 0.514), (0.821, 0.508), (0.85, 0.505). Each is below the diagonal; all 25 points reproduce over seeds 1 to 24. - MINOR [K6] There is no "safe" mild level that stays mixed.
research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json; https://arxiv.org/pdf/0707.1681 : At tau 0.05, 0.10 and 0.125, seeds 1 to 40 give mean end like-fraction 0.5127513492063491, near the page's mixed baseline. - WRONG [K7] Past that point people are too picky, and the paradox inverts: there is no arrangement that contents everyone, so the grid never settles.
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [K8] Wanting anything more than 75% rounds up to needing 7 of 8, which almost no cell on a real grid can satisfy at once.
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [K9] The τ > 0.75 collapse is the model telling the truth about an impossible wish.
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [K10] Change the neighbourhood or the moving rule and the number shifts; what does not shift, across every variant studied, is the direction: mild preference, strong sorting.
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/; https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/verify.mjs : Vinkovic and Kirman describe larger-neighbourhood variants without segregation patterns. Schelling pp. 158-159 and 164 gives rule and neighbourhood dependence. Verifier section 6 varies six combinations of grid size and vacancy, keeping the movement and neighbourhood rules fixed. - WRONG [K11] The simulation on this page (makeGrid / step / likeFraction) is copied byte-for-byte from research/schelling/sim.mjs, driven by the same seeded PRNG (mulberry32).
research/schelling/sim.mjs; public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The module uses const, export and neighbourhood; the inline code uses var and neigh. The probe executes the actual inline algorithm and matches every final cell and the exact metric for seed 12345 at tau 0.30. - MINOR [K12] There, cars with no obstacle and no bad drivers spontaneously congeal into a standing wave; here, neighbours with no malice and no coercion spontaneously congeal into blocks.
https://ir.library.osaka-u.ac.jp/repo/ouka/all/93262/NewJPhys_10_033001.pdf; src/content/strata/phantom-traffic-jam.md : The traffic experiment describes a jam cluster propagating backward; the linked sibling also describes a backward-moving jam. - WRONG [K13] Schelling shared the 2005 Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel (with Robert Aumann) for the analysis of conflict and cooperation through game theory, of which this model is the emblem.
https://www.nobelprize.org/uploads/2018/06/advanced-economicsciences2005-1.pdf : The committee discusses the 1971 segregation paper in section 2.2, Other contributions, within a broader body of work on conflict and cooperation. - WRONG [K14] The exact endpoint depends on neighbourhood and move rule; the direction does not.
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/; https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/verify.mjs : Vinkovic and Kirman describe larger-neighbourhood variants without segregation patterns. Schelling pp. 158-159 and 164 gives rule and neighbourhood dependence. Verifier section 6 varies six combinations of grid size and vacancy, keeping the movement and neighbourhood rules fixed. - WRONG [K15] A curve of the grid's final segregation against the preference τ. It rises well above the diagonal 'what you asked for' line everywhere, climbs toward near-total segregation around τ=0.7, then drops off a cliff just past 0.75 into a churn region where the grid never settles.
public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The final four stored points are (0.762, 0.514), (0.792, 0.514), (0.821, 0.508), (0.85, 0.505). Each is below the diagonal; all 25 points reproduce over seeds 1 to 24. - WRONG [K16] Too picky to ever settle: it will churn forever.
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [K17] in the churn region (never settled).
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [K18] Schelling's Segregation Model -- Why Mild Preference Creates Total Segregation
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The 40-seed headline mean is 0.7568294973544989 at tau 1/3, approximately 76% same-type neighbours, not total same-type contact. - MINOR [K19] In the phantom jam, cars with no obstacle and no bad drivers spontaneously congeal into a standing wave of stopped traffic.
https://ir.library.osaka-u.ac.jp/repo/ouka/all/93262/NewJPhys_10_033001.pdf; src/content/strata/phantom-traffic-jam.md : The traffic experiment describes a jam cluster propagating backward; the linked sibling also describes a backward-moving jam. - WRONG [K20] The cliff is derived from the rule itself. - **Reproducibility** -- the on-page simulation is copied byte-for-byte from `research/schelling/sim.mjs` and driven by the same seeded PRNG, so a named seed (12345, τ = 0.30 → 0.5010 → 0.7638 in 18 rounds) reproduces bit-for-bit in the browser and on the command line.
research/schelling/sim.mjs; public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The module uses const, export and neighbourhood; the inline code uses var and neigh. The probe executes the actual inline algorithm and matches every final cell and the exact metric for seed 12345 at tau 0.30. - WRONG [K21] The honest apparatus is load-bearing: the model proves mild preference is *sufficient* for segregation, **not** that it is the *cause* of any real city's, which is over-determined by income, discrimination, lending, and zoning the toy omits; the grid is symmetric by construction; the exact endpoint is rule-dependent while the direction is robust.
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/; https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/verify.mjs : Vinkovic and Kirman describe larger-neighbourhood variants without segregation patterns. Schelling pp. 158-159 and 164 gives rule and neighbourhood dependence. Verifier section 6 varies six combinations of grid size and vacancy, keeping the movement and neighbourhood rules fixed. - WRONG [K22] Companion computed sweep and the shared sim live in `research/schelling/`.
git log --all -- research/schelling; public/strata/a-third-is-enough/index.html; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : The directory history contains sim.mjs and verify.mjs. The separate 25-point sweep file is absent; CURVE is stored in index.html and all points reproduce from sim.mjs, seeds 1 to 24, cap 400. The verifier has its own seven-threshold sweep. - WRONG [K23] Settled after 400 rounds. Everyone asked for 0.76; the grid delivered 0.53 -- and 2016 people still want to move. Too picky to ever settle: it will churn forever.
research/schelling/sim.mjs; research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : All four rightmost curve points are endpoints at the 400-round cap, with zero of 24 seeds settled at each point. Separate groups with 1,125 agents each and 250 empty cells give like-fraction 1 and zero unhappy even at tau 1. The 5%-empty run at tau 0.75, seed 12345, has 7 unhappy at 400 and settles at round 411. The local 6/8 comparison does not prove a global impossibility. - WRONG [K24] (added) The moral is robust.
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/; https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/verify.mjs : Vinkovic and Kirman describe larger-neighbourhood variants without segregation patterns. Schelling pp. 158-159 and 164 gives rule and neighbourhood dependence. Verifier section 6 varies six combinations of grid size and vacancy, keeping the movement and neighbourhood rules fixed. - WRONG [K25] (added) Robust to the arbitrary choices.
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/; https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf; research/schelling/verify.mjs : Vinkovic and Kirman describe larger-neighbourhood variants without segregation patterns. Schelling pp. 158-159 and 164 gives rule and neighbourhood dependence. Verifier section 6 varies six combinations of grid size and vacancy, keeping the movement and neighbourhood rules fixed. - CONFIRMED [C:body-00-02] “Not because anyone is a bigot.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 002 (body-00-02). The complete rule contains only a type, occupied neighbours, a threshold, and random relocation; it has no hatred or coercion variable. - CONFIRMED [C:body-01-01] “Two kinds of people share a grid” ... “call them gold and teal” ... “with some cells left empty.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 006 (body-01-01). makeGrid fills type 1, type 2 and zeros, then shuffles. The default has 1,125 agents of each type and 250 empty cells. - CONFIRMED [C:body-01-02] “Each person looks at their up-to-eight neighbours and is content as long as at least a fraction τ of the neighbours they can see are their own kind.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 007 (body-01-02). neighbourhood excludes out-of-bounds and empty cells; isHappy returns "same / occ >= tau". An agent with no occupied neighbours is also content. - CONFIRMED [C:body-01-03] “Anyone who isn't content picks up and moves to a random empty cell.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 008 (body-01-03). step collects unhappy agents from the round-start snapshot, shuffles their order, and picks a random current empty cell for each. - CONFIRMED [C:body-03-02] “Each person only wants a third of their neighbours to match” ... “but watch where the grid settles.”
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Codex and Claude. Entry 010 (body-03-02). At the default, the minimum same-type fraction is 0.33, equivalent to 1/3 for all integer neighbourhoods of size at most eight. - CONFIRMED [C:body-04-01] “Press play at the default setting” ... “τ = 1/3” ... “and the salt-and-pepper mix unmixes.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 011 (body-04-01). The literal default is 0.33, not a floating-point 1/3, but the two thresholds make exactly the same decisions for every possible up-to-eight-neighbour composition. The recreated default sorts and settles. - CONFIRMED [C:body-05-01] “Everyone asked for a third.”
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Codex and Claude. Entry 015 (body-05-01). Every agent uses the same threshold; 0.33 and 1/3 are decision-equivalent for these neighbourhoods. - CONFIRMED [C:body-06-02] “No individual on the grid wants a segregated world.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 017 (body-06-02). The code has only a local contentment threshold, not a goal concerning the whole city's composition. - CONFIRMED [C:body-06-03] “Each would be perfectly content in a neighbourhood that is two-thirds other.”
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Codex and Claude. Entry 018 (body-06-03). With same/occupied = 1/3, isHappy returns true at tau = 1/3. Use isHappy rather than N1's ensemble excerpt for this logical claim. - CONFIRMED [C:body-06-05] “The preference is mild and the outcome is extreme, and nothing bridges the two except the fact that one person's move makes a neighbour a little more outnumbered, who then moves, and nudges someone else.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 020 (body-06-05). Relocations change the occupied-neighbour fractions of surrounding agents; the next round recomputes their contentment. The code implements the stated feedback. - CONFIRMED [C:body-06-06] “Segregation here is not anyone's goal.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 021 (body-06-06). No objective concerning city-wide segregation appears in the agents' decision rule. - CONFIRMED [C:body-08-04] “You cannot point to the culprit, because there isn't one.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 027 (body-08-04). This is an interpretation of a symmetric local rule, not an accusation about any real person; no individual villain is represented in the model. - CONFIRMED [C:body-10-03] “The pale diagonal is the honest expectation” ... “if the world gave you exactly the mix you asked for, it would sit on that line.”
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Codex and Claude. Entry 031 (body-10-03). drawCurve draws y = tau for the dashed diagonal. This is explicitly a hypothetical equality, not an asserted statistical expectation of the simulation. - CONFIRMED [C:body-15-04] “With eight neighbours, wanting "≥ 75% the same" means 6 of 8” ... “reachable inside a solid block.”
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Codex and Claude. Entry 041 (body-15-04). 6/8 = 0.75; at least six of eight meets a 75% threshold. The code's comparison and the hand calculation agree. - CONFIRMED [C:body-21-01] “The model proves a sufficiency, not a cause.”
https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf : Checker reread: Codex and Claude. Entry 048 (body-21-01). The primary abstract says "Inferences about individual motives can usually not be drawn from aggregate patterns." The paper explicitly isolates individual choices while omitting other mechanisms. - CONFIRMED [C:body-21-02] “It shows that mild same-kind preference is enough, all by itself, to produce stark segregation” ... “you don't need hatred, money, or law to get there.”
https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf : Checker reread: Codex and Claude. Entry 049 (body-21-02). The paper describes exaggerated separation from individual movement; pp. 144-145 explicitly omit organized action and economic separation. The local code likewise contains neither money nor law. - CONFIRMED [C:body-21-03] “That is a genuine and counterintuitive result: it means observing a segregated city tells you less about people's inner attitudes than you'd think, because even tolerant people generate it.”
https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf : Checker reread: Codex and Claude. Entry 050 (body-21-03). The primary abstract explicitly warns against inferring individual motives from aggregate patterns. - CONFIRMED [C:body-21-04] “But "sufficient" is not "actual." Real-world residential segregation is over-determined” ... “driven by income and housing cost, by explicit discrimination, by lending and zoning and school catchments, by history this toy contains none of.”
https://www.govinfo.gov/content/pkg/CHRG-117hhrg46197/html/CHRG-117hhrg46197.htm : Checker reread: Codex and Claude. Entry 051 (body-21-04). Cashin's testimony names "discrimination in mortgage lending", "exclusionary zoning" and "local school boundaries"; the Census abstract also names socioeconomic differences. The simulation lacks these mechanisms. - CONFIRMED [C:body-21-05] “Schelling's grid removes all of that on purpose, to isolate one mechanism, and its lesson is precisely about that one mechanism, not the whole phenomenon.”
https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf : Checker reread: Codex and Claude. Entry 052 (body-21-05). The paper says "At least two main processes of segregation are omitted" and identifies organized action and economic separation. This is stronger support than N1's abstract-only excerpt. - CONFIRMED [C:body-22-03] “Real segregation is none of those things, and the symmetry is a limitation, not a neutrality.”
https://www.census.gov/library/working-papers/2016/adrm/ces-wp-16-22.html : Checker reread: Codex and Claude. Entry 054 (body-22-03). The Census abstract identifies socioeconomic differences across racial lines and housing-market discrimination, supporting the contrast with the toy's symmetry. - CONFIRMED [C:body-24-01] “The grid you play IS the verifier.”
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Codex and Claude. Entry 058 (body-24-01). Read in context as the same simulation algorithm, the claim is supported by comparing the transition and metric code. The page does not run the entire 24-assertion CLI harness, and the literal byte-copy claim is separately MINOR. - CONFIRMED [C:body-27-03] The local threshold is checked from the rule: 6-of-8 is content at 0.75 but not at 0.76.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Codex and Claude. A local comparison only, as the repaired verifier now states. Present wording qualified in this repair where needed. - CONFIRMED [C:body-34-04] “The model is symmetric and preference-only by construction and is not a model of any real city.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 073 (body-34-04). The decision rule has only local same-type preference and random moves; it contains no empirical city inputs or real-world power or wealth differences. - CONFIRMED [C:body-35-01] “↔ The Jam That Isn't There” ... “its sibling in a different medium.”
git show 60c91d8037:src/content/strata/phantom-traffic-jam.md : Checker reread: Codex and Claude. Entry 075 (body-35-01). The linked pinned sibling has the title "The Jam That Isn't There" and describes the traffic-jam model; this is a valid descriptive cross-link. - CONFIRMED [C:body-35-03] “Both are macro-order that no one in the system intends” ... “the shape a crowd of small, reasonable rules settles into.”
git show 60c91d8037:src/content/strata/phantom-traffic-jam.md : Checker reread: Codex and Claude. Entry 077 (body-35-03). The traffic source describes collective instability without a bottleneck; the Schelling rule has only local preferences. The shared lack of an explicit global-pattern goal is supported. - CONFIRMED [C:citation-schelling-1971] “Thomas C. Schelling, "Dynamic Models of Segregation," Journal of Mathematical Sociology 1(2): 143–186 (1971)”
https://api.crossref.org/works/10.1080%2F0022250X.1971.9989794 : Checker reread: Codex and Claude. Entry 078 (citation-schelling-1971). Crossref gives author Thomas C. Schelling, title Dynamic models of segregation, 1971, volume 1, issue 2, pp. 143-186. The tool's DOI MISMATCH is a false alarm: its initial-matching regex mistakes the middle initial C. for a first initial. - CONFIRMED [C:citation-schelling-book] “expanded in Micromotives and Macrobehavior (1978)”
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/ : Checker reread: Codex and Claude. Entry 079 (citation-schelling-book). The PNAS reference is "Schelling TC. Micromotives and Macrobehavior. New York: Norton; 1978." The Nobel scientific background also discusses the model's treatment in the 1978 book. - CONFIRMED [C:sufficiency-standard-gloss] “The "sufficiency, not cause" reading and the over-determination of real segregation are the standard careful gloss on the model (Schelling himself frames it as isolating one mechanism).”
https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf : Checker reread: Codex and Claude. Entry 081 (sufficiency-standard-gloss). The primary paper warns that aggregate patterns do not identify individual motives and explicitly omits two other mechanisms. The external Census and hearing sources establish the additional real-world causes. - CONFIRMED [C:dissimilarity-index] “Real residential segregation is studied with measures like the dissimilarity index”
https://www.census.gov/topics/housing/housing-patterns/guidance/appendix-b.html : Checker reread: Codex and Claude. Entry 082 (dissimilarity-index). The Census guidance says "The most widely used measure of evenness is the dissimilarity index." This directly supports the existence and use of that measure. - CONFIRMED [C:physics-analogy-and-robustness] On variants of the qualitative result and the mapping of Schelling dynamics onto physical phase-separation / spin models.
https://arxiv.org/abs/0707.1681 : Checker reread: Codex and Claude. The cited PNAS and arXiv papers develop physical analogies and discuss dependence on the rules. Present wording qualified in this repair where needed. - CONFIRMED [C:citation-vinkovic-kirman] “D. Vinković & A. Kirman, "A physical analogue of the Schelling model," PNAS 103(51): 19261–19265 (2006)”
https://pmc.ncbi.nlm.nih.gov/articles/PMC1748214/ : Checker reread: Codex and Claude. Entry 085 (citation-vinkovic-kirman). The opened PNAS page supplies Dejan Vinkovic, Alan Kirman, the stated title, 2006, 103(51):19261-19265, and DOI 10.1073/pnas.0609371103. The online tool's DOI comparison also matches. - CONFIRMED [C:citation-dallasta-castellano-marsili] “L. Dall'Asta, C. Castellano, M. Marsili, "Statistical physics of the Schelling model of segregation," J. Stat. Mech. (2008) L07002.”
https://api.crossref.org/works/10.1088%2F1742-5468%2F2008%2F07%2FL07002 : Checker reread: Codex and Claude. Entry 086 (citation-dallasta-castellano-marsili). Crossref supplies L Dall'Asta, C Castellano, M Marsili, the stated title, 2008, and L07002. The tool's DOI MISMATCH comes from straight versus curly apostrophes in Dall'Asta, not a wrong author. - CONFIRMED [C:check-independent-recomputation] “This layer's check works the answer out again from scratch, independently of this page.”
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Codex and Claude. Entry 088 (check-independent-recomputation). The complete verifier imports only sim.mjs and computes outputs; it never loads the page. Its lack of page dependence is also recorded by the committed dependency probe. - CONFIRMED [C:meta-og-description-1] Nobody required more than a third of their neighbours to match.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Codex and Claude. The default threshold is a lower bound of about a third, not an upper limit on tolerated similarity. Present wording qualified in this repair where needed. - CONFIRMED [C:meta-twitter-description-2] A random-relocation variant of Schelling's segregation model, live.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Codex and Claude. The inline program implements the stated variant. Present wording qualified in this repair where needed. - CONFIRMED [C:meta-aw-plain-1] A random-relocation variant of Thomas Schelling's 1971 segregation model, playable on a grid you operate.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Codex and Claude. The plain frontmatter is the source of the generated HTML meta; the inline program implements the stated variant. Present wording qualified in this repair where needed. - CONFIRMED [C:meta-aw-plain-3] “The page states the limit: this shows mild preference is enough to produce segregation, not that it caused any real city's.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 103 (meta-aw-plain-3). The primary paper's inference warning and explicit omitted mechanisms support the sufficiency limitation, which the page indeed prints. - CONFIRMED [C:tau-default-label] “τ = 0.33” ... “at least a third the same”
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Codex and Claude. Entry 106 (tau-default-label). For any occupied-neighbour denominator from 1 through 8, thresholds 0.33 and 1/3 classify every possible fraction identically. The default label is operationally accurate. - CONFIRMED [C:metric-label] “average neighbours of your own kind (the segregation)”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 107 (metric-label). likeFraction averages the same-type fraction over agents having at least one occupied neighbour. The metric is not a count of whole-city same-type population. - CONFIRMED [C:related-1-1] “Two emergences in different media, each macro-order that no one in the system intends.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 127 (related-1-1). The linked traffic model and the Schelling model each specify local behaviour, with aggregate patterns emerging without a city- or road-wide objective in each agent. - CONFIRMED [C:related-1-4] “Both pages show the same unsettling move: reasonable local rules, run at scale, settle into a global pattern that contradicts every local intention” ... “and in both, you can watch it happen and measure the gap.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 130 (related-1-4). Both pages describe operable models with local rules and emergent aggregate patterns. No global intention is represented; this is a comparison of models, not a claim about real people's inner motives. - CONFIRMED [C:related-2-1] “The same wound” ... “selfish local choices summing to a collective outcome no one wanted” ... “cut two ways.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 131 (related-2-1). Read as a comparison of the two models' individually chosen versus aggregate outcomes, the claim is supported by Schelling and the routing source. The code itself has no global objective. - CONFIRMED [C:related-2-2] “The Price of Anarchy prices it: how much worse the traffic equilibrium is than the routing a planner would pick.”
https://theory.stanford.edu/~tim/papers/routing.pdf : Checker reread: Codex and Claude. Entry 132 (related-2-2). Roughgarden and Tardos explicitly compare "the total latency of a Nash equilibrium" with the optimal traffic assignment. This is the stated price-of-anarchy comparison. - CONFIRMED [C:related-2-4] “One measures the cost of anarchy; the other shows anarchy can be unanimous.”
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Codex and Claude. Entry 134 (related-2-4). The routing source establishes the cost comparison and the recreated Schelling runs establish unanimous binary contentment. This is an interpretive comparison, not a numerical theorem about cities. - CONFIRMED [C:markdown-1-1] “An immersive layer; it renders as its own standalone page at the `href` above (source: `public/strata/a-third-is-enough/index.html`).”
git show 60c91d8037:src/pages/strata/[...slug].astro : Checker reread: Codex and Claude. Entry 135 (markdown-1-1). The pinned Astro route excludes entries having href; the public standalone HTML exists and serves HTTP 200. - CONFIRMED [C:markdown-1-2] “This file exists so the layer appears on the ground with the others” ... “its body is not rendered.”
git show 60c91d8037:src/pages/strata/[...slug].astro : Checker reread: Codex and Claude. Entry 136 (markdown-1-2). The route's filter prevents rendering this markdown body; pinned src/pages/index.astro includes non-draft collection entries and maps their href. N1's route-only excerpt supports the second half but not the ground listing by itself. - CONFIRMED [C:markdown-2-1] A Mechanism-seam showing built on a random-relocation variant of Thomas Schelling's 1971 segregation model.
https://www.frontiersin.org/journals/psychology/articles/10.3389/fpsyg.2014.00668/full : Checker reread: Codex and Claude. The paper establishes the model history; the page states its different relocation rule. Present wording qualified in this repair where needed. - CONFIRMED [C:agent-voice-1] “I don't mind being a minority; I just don't want to be outnumbered worse than two-to-one”
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Codex and Claude. Entry 147 (agent-voice-1). This is author-written hypothetical speech, not a quotation attributed to Schelling. Its two-to-one interpretation matches the 1/3 minimum rule. - CONFIRMED [C:agent-voice-2] “please don't leave me almost alone.”
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Codex and Claude. Entry 148 (agent-voice-2). This is hypothetical agent speech for the mild default. It is not a quotation requiring an external speaker. Its use as the sharpest available setting is separately MINOR in entry 9. - CONFIRMED [C:agent-voice-3] “I just don't want to be outnumbered worse than two-to-one”
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Codex and Claude. Entry 149 (agent-voice-3). This hypothetical speech appears in the metadata and describes the default minimum; no external speaker is named. - CONFIRMED [C:agent-voice-4] “don't leave me outnumbered worse than two-to-one”
git show 60c91d8037:src/content/strata/a-third-is-enough.md : Checker reread: Codex and Claude. Entry 150 (agent-voice-4). The markdown's hypothetical quote accurately paraphrases the 1/3 minimum threshold and is not attributed to an outside speaker. - CONFIRMED [C:schelling-model-attribution] “Thomas Schelling's 1971 segregation model”
https://www.stat.berkeley.edu/~aldous/157/Papers/Schelling_Seg_Models.pdf : Checker reread: Codex and Claude. Entry 151 (schelling-model-attribution). The opened primary PDF supplies Schelling's name, 1971, the segregation title and its abstract. Its unreadable-tool status was resolved by curl and pdftotext. - CONFIRMED [C:added-vacancy-options] (added) "5% empty"; "10%"; "20%"
git show 60c91d8037:research/schelling/sim.mjs; recreated: node /home/liam/.assay-line/trial-1001/a-third-is-enough/N2/probe.mjs; evidence/probe.json; git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Codex. Entry 152 (added-vacancy-options). The three vacancy controls create 125, 250 and 500 empty cells out of 2,500. Their exact UI claims are omitted from N1. The same claim-field search finds its expected positive control, body-29-02, "Offline verifier: 24/24 checks pass." - CONFIRMED [C:body-00-01] Give everyone on this grid the mildest preference imaginable -- "I don't mind being a minority; I just don't want to be outnumbered worse than two-to-one" -- and a perfectly mixed city sorts itself into hard, single-colour blocks that nobody asked for.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-00-01] [2]/[3] rerun: start 0.4994 -> end 0.7568 at tau = 1/3, 40/40 settle with 0 unhappy. 'The mildest preference imaginable' is hyperbole: at tau <= 1/8 the same model ends at 0.5128 (see body-13-03) - CONFIRMED [C:body-00-03] Because everyone is a little bit choosy, and choices compound.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-00-03] outcome 0.7568 against preference 0.333 ([3] gap 0.423) - CONFIRMED [C:body-00-05] Here it is, running, with the gap between what people want and what they get measured live.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-00-05] refreshStats()/finish() compute like-fraction and unhappy count each round - CONFIRMED [C:body-04-02] Within a dozen-odd rounds the churn stops: the grid has broken into broad territories of one colour, veined with the empty cells people fled through.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-04-02] the record's excerpt ([4]/[5]) says nothing about rounds; recomputed (work/recompute.mjs): at 1/3, seeds 1-40 settle in 9 to 22 rounds (median 14); the default seed 12345 at 0.33 in 18 - CONFIRMED [C:body-04-04] The grid started with each person having about 50% same-kind neighbours -- exactly what a random mix gives.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-04-04] [2]: 0.4994 over seeds 1-40; an equal random split predicts 1124/2249 = 0.4998 - CONFIRMED [C:body-04-05] It ends at about 76%.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-04-05] [3]: 0.7568 - CONFIRMED [C:body-05-02] Everyone got three-quarters.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-05-02] 0.7568 is a mean over agents and seeds; individual agents vary - CONFIRMED [C:body-07-01] And here is the part that should unsettle you: everyone is happy
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-07-01] [3]: unhappy 0, settle 1 over 40 seeds - CONFIRMED [C:body-08-01] Look at the second number when the motion stops: zero people still want to move.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-08-01] [3]; the default run (seed 12345, 0.33) ends with 0 unhappy (recreated) - CONFIRMED [C:body-08-02] The segregated grid is not a tragedy anyone is trapped in -- it is an equilibrium everyone accepts.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-08-02] 0 unhappy at the end of every 1/3 run - CONFIRMED [C:body-08-03] You cannot fix it by asking people to be content, because they already are.
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Claude. [body-08-03] interpretive; consistent with 0 unhappy - CONFIRMED [C:body-10-01] Slide the preference up and down and the endpoint moves with it -- but never to where you pointed.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-10-01] CURVE (line 577): no point lies on y = tau; recomputed 25/25 - CONFIRMED [C:body-10-04] It never does.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-10-04] no CURVE point equals its tau - CONFIRMED [C:body-12-01] The gap between the two lines is segregation nobody chose.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-12-01] interpretive - CONFIRMED [C:body-12-02] Run the grid above and a dot marks where your run landed.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-12-02] finish() calls dropRunDot() - CONFIRMED [C:body-13-04] Second, follow the line to the right and it doesn't just keep rising -- just past τ = 0.75 it falls off a cliff, crashing back down to the mixed baseline.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-13-04] 0.999 at 0.75 -> 0.514 at 0.76 (start 0.4994) - CONFIRMED [C:body-17-01] This grid runs a seeded pseudo-random generator, so a given seed produces the identical run here and in the offline verifier.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-17-01] recreated (work/page-vs-sim.mjs): the page's inline functions, run in node, follow sim.mjs cell for cell and round for round in 6 configurations (seed 12345 at 0.30, 0.33, 0.85; seed 7 at 1/3; 5% empty at 0.76; 20% at 0.5) - CONFIRMED [C:body-17-02] Press the button: it loads seed 12345 at τ = 0.30, runs it to the end, and should land on the number the verifier prints.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-17-02] recreated: the reproBtn code gives start 0.5010 -> end 0.7638, 18 rounds, 0 unhappy, ok = true - CONFIRMED [C:body-18-01] Expected (from research/schelling/verify.mjs): start 0.5010 → end 0.7638, settled in 18 rounds, 0 unhappy.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-18-01] [1] passes with exactly these - CONFIRMED [C:body-22-04] And the exact number -- 76% at τ = 1/3 -- depends on the rules stated here (eight neighbours, a bounded grid, moves to a random empty cell).
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-22-04] 0.7568 under the page's rules; Schelling's nearest-satisfactory rule gave under 1.5:1 at about one-third (p. 159), so the number does depend on the rules - CONFIRMED [C:body-23-01] The check recomputes the displayed simulation figures.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The verifier recomputes the headline and named run; repair-probe.mjs recomputes all 25 curve points. Historical and source claims are separately checked against the cited documents. Present wording qualified in this repair where needed. - CONFIRMED [C:body-24-03] A named seed produces a bit-identical run in your browser and on the command line.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-24-03] recreated (body-17-01) - CONFIRMED [C:body-25-01] The headline, reproduced. 50×50 grid, 10% empty, τ = 1/3, averaged over seeds 1–40: mean start like-fraction 0.4994 → end 0.7568, and every run settles with 0 unhappy.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-25-01] [2]/[3]: 0.4994, 0.7568, unhappy 0, settle 1; the record's excerpt is block [4]/[5], which holds none of these figures - CONFIRMED [C:body-25-02] Preference 0.333, outcome 0.757 -- a gap of 0.42.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-25-02] 0.7568 - 0.3333 = 0.4235; [3] prints 0.423 (same excerpt slip) - CONFIRMED [C:body-26-02] Seed 12345, τ = 0.30: 0.5010 → 0.7638 in exactly 18 rounds, 0 unhappy.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-26-02] [1]: 0.5010, 0.7638, 18, 0 - CONFIRMED [C:body-26-03] (The button above runs it live.)
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [body-26-03] reproBtn runs makeGrid/step in the page - CONFIRMED [C:body-27-01] The sampled rise and the drop at the cap are verified.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. Sections 4 and 5 recompute the seven sampled thresholds and 400-round endpoints. Present wording qualified in this repair where needed. - CONFIRMED [C:body-27-02] Mean segregation is non-decreasing at the seven tested thresholds from tau 0.20 to 0.75 (0.576 to 0.999); at tau 0.76 none of 40 seeds settles within 400 rounds, with endpoint mean about 0.51.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. All four quantities and the cap are recomputed by the verifier; no claim of infinite churn remains. Present wording qualified in this repair where needed. - CONFIRMED [C:body-28-02] The τ = 1/3 outcome stays in 0.75–0.76 across grid sizes 30–80 and vacancy 5–30% -- it's the mechanism, not a tuned instance.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-28-02] [6]: 0.7598, 0.7568, 0.7538 (L 30/50/80); 0.7586, 0.7508, 0.7525 (5/20/30% empty); six sampled points - CONFIRMED [C:body-29-01] Self-tests: an all-one-colour patch scores like-fraction exactly 1; a checkerboard scores below 0.5 (anti-clustered).
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-29-01] [7]: 1 and 0.4083 - CONFIRMED [C:body-29-02] Offline verifier: 24/24 checks pass.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-29-02] 24/24, exit 0, in a scratch copy and from an empty directory - CONFIRMED [C:body-34-03] "About 76%" is 0.757 ± ~0.01 across seeds.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [body-34-03] recomputed (work/recompute.mjs): per-seed end like-fraction, seeds 1-40, SD 0.0115 (range 0.7271 to 0.7771); the record's excerpt has no per-seed spread - CONFIRMED [C:body-34-05] The measured drop between tau 0.75 and 0.76 coincides with an integer threshold in the 8-cell neighbourhood; the local count alone does not establish the global outcome.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. Verifier section 5 measures the endpoints separately from its arithmetic checks. Present wording qualified in this repair where needed. - CONFIRMED [C:check-figure-drift] It can settle the finding; it cannot notice a figure that drifted on this page.
git show 60c91d8037:research/verifier-independence/dated/mutation-results-2026-08-10.json : Checker reread: Claude. [check-figure-drift] both mutations of index.html ('===' to '!==' in the inline sim; '(51)' to '(52)' in a citation) went undetected, exit 0; the verifier reads no page file - CONFIRMED [C:check-two-served-files] The check is published in the two layer-specific served files, sim.mjs and verify.mjs.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. Both mirror paths exist; the canonical two-file verifier ran 24/24 today. This is a local check, not a claim of a new deployment. Present wording qualified in this repair where needed. - CONFIRMED [C:meta-description-1] Give everyone the mildest preference ('I just don't want to be outnumbered worse than two-to-one') and a perfectly mixed grid sorts itself into hard blocks nobody asked for.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [meta-description-1] as frontmatter-dek-1 - CONFIRMED [C:meta-description-2] A random-relocation variant of Thomas Schelling's 1971 model, playable and measured live: a preference for a third ends in three-quarters, and every agent is content.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The simulation and the 40-seed headline support this qualified attribution. Present wording qualified in this repair where needed. - CONFIRMED [C:meta-description-3] Seeded runs you can reproduce; 24/24 offline checks.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [meta-description-3] 24/24 - CONFIRMED [C:meta-og-description-2] They ended up with three-quarters.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [meta-og-description-2] 0.7568 - CONFIRMED [C:meta-og-description-3] A random-relocation variant of Schelling's segregation model, playable and measured live.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The inline program implements the stated variant. Present wording qualified in this repair where needed. - CONFIRMED [C:meta-twitter-description-1] A preference for a third ends in three-quarters, and everyone is content.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [meta-twitter-description-1] 0.7568, 0 unhappy - CONFIRMED [C:meta-aw-plain-2] Give every agent the mild preference that a third of its neighbours match its own colour, and the grid sorts itself into single-colour blocks where about three quarters of neighbours match, with every agent content.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [meta-aw-plain-2] 0.7568, 0 unhappy - CONFIRMED [C:accessible-gridCv] A 50 by 50 grid of gold and teal cells that rearranges from a random mix into large single-colour regions as the simulation runs.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [accessible-gridCv] L = 50 (line 465) - CONFIRMED [C:script-random-start] A random mix -- about half your neighbours match, by chance. Press play.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [script-random-start] 0.4994 mean; seed 12345 0.5010 - CONFIRMED [C:script-curve-settled] well above the diagonal. The gap is segregation nobody chose.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [script-curve-settled] every settled CURVE point lies above y = tau - CONFIRMED [C:script-repro-match] ✓ matches the verifier exactly.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [script-repro-match] recreated: ok = true, values bit-identical (tolerance 5e-4) - CONFIRMED [C:script-high-tau-label] more than three-quarters (too picky)
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [script-high-tau-label] shown for tau > 0.75 (tauLabel, line 554) - CONFIRMED [C:script-settled-example] Settled after 18 rounds. Everyone asked for 0.30; the grid delivered 0.76, and 0 people still want to move.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The repaired actual handler reproduces this message. Present wording qualified in this repair where needed. - CONFIRMED [C:script-repro-example] This browser just computed: start 0.5010 → end 0.7638, settled in 18 rounds, 0 unhappy.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [script-repro-example] recreated - CONFIRMED [C:script-moving-example] Round 1 -- people are moving. 407 moved this round.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [script-moving-example] recreated: 407 moved in round 1 (seed 12345 at 0.33 and 0.30) - CONFIRMED [C:script-curve-example] Your run at tau 0.30 landed at 0.76; well above the diagonal. The gap is segregation nobody chose.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The actual handler and matching inline cell array reproduce this named run. Present wording qualified in this repair where needed. - CONFIRMED [C:metadata-datePublished] "datePublished":"2026-07-06"
git show 60c91d8037:memory/log.d/2026-07-06T2330Z-a-third-is-enough.md : Checker reread: Claude. [metadata-datePublished] and commit 99296786d0, 2026-07-06 23:32 UTC - CONFIRMED [C:structured-description-1] A random-relocation variant of Thomas Schelling's 1971 segregation model, playable and measured live: mild individual preference drives a mixed grid to about three-quarters same-type neighbours, with every agent content.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The 40-seed headline and zero unhappy count reproduce with this rule. Present wording qualified in this repair where needed. - CONFIRMED [C:structured-description-2] The micro-to-macro gap, the measured rise, and the drop at the 400-round cap, all reproducible from a seed.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The seeded simulation and finite-cap ensembles reproduce these qualified claims. Present wording qualified in this repair where needed. - CONFIRMED [C:frontmatter-dek-1] Give everyone the mildest preference ('I just don't want to be outnumbered worse than two-to-one') and a perfectly mixed grid sorts itself into hard single-colour blocks nobody chose.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [frontmatter-dek-1] - CONFIRMED [C:frontmatter-dek-2] This is a random-relocation variant of Thomas Schelling's 1971 segregation model: a preference for a third ends in about three-quarters, and every agent is content.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The attribution is qualified; the ensemble is reproduced by the verifier. Present wording qualified in this repair where needed. - CONFIRMED [C:frontmatter-dek-3] The measured endpoint drops toward the mixed baseline as runs reach the 400-round cap; the page distinguishes a local integer threshold from this measured outcome.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The plotted high-threshold means and zero settled runs reproduce; there is no remaining claim of permanent churn. Present wording qualified in this repair where needed. - CONFIRMED [C:frontmatter-dek-4] The moral is robust across grid size and vacancy; the honest limit is stated plainly: the model proves mild preference is *sufficient* for segregation, not that it is the *cause* of any real city's. 24/24 offline checks; a preference of 0.33 → an outcome of 0.76.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [frontmatter-dek-4] [6] covers grid size and vacancy; 24/24; 0.33 -> 0.76 - CONFIRMED [C:related-1-3] Here, neighbours with no malice and no coercion spontaneously congeal into single-colour blocks.
git show 60c91d8037:research/schelling/sim.mjs : Checker reread: Claude. [related-1-3] - CONFIRMED [C:related-2-3] Schelling's grid shows a starker version, where the collective outcome (a segregated city) is one every individual actively accepts -- there is no unhappy driver to point to, no deviation that helps.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [related-2-3] 0 unhappy at settle - CONFIRMED [C:markdown-2-2] The page runs the model live on a grid the reader operates and measures the thing the model exists to make visible -- the gap between the mild preference each agent holds and the stark segregation the whole grid settles into.
git show 60c91d8037:public/strata/a-third-is-enough/index.html : Checker reread: Claude. [markdown-2-2] - CONFIRMED [C:markdown-2-3] At **τ = 1/3** ("don't leave me outnumbered worse than two-to-one"), a mix that starts at ~50% same-type neighbours ends at ~76%, and **every agent is content**: an outcome no one wanted and no one is unhappy with.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [markdown-2-3] - CONFIRMED [C:markdown-4-2] Verifier: `node research/schelling/verify.mjs` -- **24/24**.
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [markdown-4-2] 24/24 - CONFIRMED [C:markdown-finding-1] **The micro→macro gap** -- preference 0.33, outcome 0.76 (ensemble mean over seeds 1–40, recomputed offline).
git show 60c91d8037:research/schelling/verify.mjs : Checker reread: Claude. [markdown-finding-1] - CONFIRMED [C:markdown-finding-2] The sampled endpoints rise with tau up to near-total, then drop just past 0.75; none of those high-threshold sampled runs settles within 400 rounds. The local integer threshold does not prove the global drop or rule out contented arrangements.
research/schelling/verify.mjs; research/assay-line/trial-1001/a-third-is-enough/repair-evidence.json : Checker reread: Claude. The sweep, verifier and explicit equilibria establish this bounded statement. Present wording qualified in this repair where needed.
What was done
- [declined] X1: Tier C: MINOR listed, not fixed. The page remains unchanged for this item.
- [fixed] X2: The page describes the segregated fixed point the runs reach, acknowledges a mixed contented arrangement, and drops uniqueness.
- [fixed] X3: The body and source note no longer call segregation the reason or emblem of the 2005 prize.
- [fixed] X4: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] X5: The body and accessible curve label restrict the above-diagonal statement to the settled points and identify the four below-diagonal cap endpoints.
- [fixed] X6: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] X7: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] X8: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] X9: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [declined] X10: Tier C: MINOR listed, not fixed. The page remains unchanged for this item.
- [fixed] X11: The body, source note, markdown and check heading limit the measured persistence to tested grid sizes and vacancy fractions and acknowledge variants without segregation.
- [fixed] X12: Byte-for-byte and VERBATIM claims become equivalent port in the page, markdown and both source comments. The markdown cliff wording is also bounded to the finite experiment.
- [declined] X13: Tier C: MINOR listed, not fixed. The page remains unchanged for this item.
- [fixed] X14: Standing wave becomes a wave that travels backward in the HTML related note and markdown relates frontmatter. MINOR: recorded here without a page correction line.
- [declined] X15: Tier C: MINOR listed, not fixed. The page remains unchanged for this item.
- [fixed] X16: The body, source note, markdown and check heading limit the measured persistence to tested grid sizes and vacancy fractions and acknowledge variants without segregation.
- [dated] X17: Added an Updated line preserving the original check date. The new record supplies the generated last-verified date.
- [fixed] X18: The body and accessible curve label restrict the above-diagonal statement to the settled points and identify the four below-diagonal cap endpoints.
- [dated] X19: Set JSON-LD dateModified to 2026-10-01 and added an Updated line preserving the original date.
- [fixed] X20: The SEO title changes Total Segregation to Strong Segregation.
- [fixed] X21: Standing wave becomes a wave that travels backward in the HTML related note and markdown relates frontmatter. MINOR: recorded here without a page correction line.
- [fixed] X22: Byte-for-byte and VERBATIM claims become equivalent port in the page, markdown and both source comments. The markdown cliff wording is also bounded to the finite experiment.
- [fixed] X23: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] X24: The threshold input handler calls refreshStats before drawing the curve.
- [fixed] K1: The dek, metadata, JSON-LD, plain description, markdown and simulation comments identify a random-relocation variant. The body distinguishes its measured result from Schelling's 1971 experiment.
- [fixed] K2: The page describes the segregated fixed point the runs reach, acknowledges a mixed contented arrangement, and drops uniqueness.
- [fixed] K3: The page describes the segregated fixed point the runs reach, acknowledges a mixed contented arrangement, and drops uniqueness.
- [fixed] K4: The body and source note no longer call segregation the reason or emblem of the 2005 prize.
- [fixed] K5: The body and accessible curve label restrict the above-diagonal statement to the settled points and identify the four below-diagonal cap endpoints.
- [fixed] K6: The mild-level assertion is limited to the plotted settings, with the measured result at tau = 1/8 stated. MINOR: no dated correction line.
- [fixed] K7: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] K8: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] K9: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] K10: The body, source note, markdown and check heading limit the measured persistence to tested grid sizes and vacancy fractions and acknowledge variants without segregation.
- [fixed] K11: Byte-for-byte and VERBATIM claims become equivalent port in the page, markdown and both source comments. The markdown cliff wording is also bounded to the finite experiment.
- [fixed] K12: Standing wave becomes a wave that travels backward in the HTML related note and markdown relates frontmatter. MINOR: recorded here without a page correction line.
- [fixed] K13: The body and source note no longer call segregation the reason or emblem of the 2005 prize.
- [fixed] K14: The body, source note, markdown and check heading limit the measured persistence to tested grid sizes and vacancy fractions and acknowledge variants without segregation.
- [fixed] K15: The body and accessible curve label restrict the above-diagonal statement to the settled points and identify the four below-diagonal cap endpoints.
- [fixed] K16: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] K17: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] K18: The SEO title changes Total Segregation to Strong Segregation.
- [fixed] K19: Standing wave becomes a wave that travels backward in the HTML related note and markdown relates frontmatter. MINOR: recorded here without a page correction line.
- [fixed] K20: Byte-for-byte and VERBATIM claims become equivalent port in the page, markdown and both source comments. The markdown cliff wording is also bounded to the finite experiment.
- [fixed] K21: The body, source note, markdown and check heading limit the measured persistence to tested grid sizes and vacancy fractions and acknowledge variants without segregation.
- [fixed] K22: The markdown and CURVE comment name the actual storage and reproduction inputs rather than a separate companion sweep file.
- [fixed] K23: The prose, metadata, markdown, curve label, UI messages and verifier now distinguish finite-cap endpoints from settlement and local arithmetic from a global theorem; contented high-threshold arrangements are acknowledged.
- [fixed] K24: The body, source note, markdown and check heading limit the measured persistence to tested grid sizes and vacancy fractions and acknowledge variants without segregation.
- [fixed] K25: The body, source note, markdown and check heading limit the measured persistence to tested grid sizes and vacancy fractions and acknowledge variants without segregation.