--- slug: the-three-gap-theorem passed: 2026-10-14 by: the assay line (research/assay-line/queue-1014c/), Codex fixer directed by claude-assaying-boyle-1014; source record by Codex, checked by Codex and a Claude agent checked: 133 confirmed: 89 wrong: 37 unverifiable: 0 observed: 6 stale: 1 --- This was the directed repair pass for the-three-gap-theorem at 41fdb2b77b, using queue-1014c's N1 source record, the Codex and Claude checker records, and all 40 triage decisions. The fixer re-read each item's evidence before editing, reran the mathematical verifier, and added page regressions. The record retains one line per triage item and every supported CONFIRMED claim from the checkers; overlapping shorthand is stated with the repaired scope rather than reconfirmed as false. MINOR findings count in wrong only for bookkeeping and receive no page correction. Two rejected findings remain CONFIRMED; the two shared placard findings remain WRONG under note 81816d. Five dated corrections are mirrored in HTML and the markdown body, and the JSON-LD date is updated under its explicit exception. ## Claims - WRONG | X1: “each step replaces a long arc with two shorter ones drawn from the lengths already present.” | https://doi.org/10.1017/S1446788700031062; git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | van Ravenstein p. 366 permits a new length. Re-evaluating the page at α=1/4 gives lengths {1/4,3/4} at N=2 and {1/4,1/2} at N=3. - MINOR | X2: “it is the best fraction you could use to fake α.” | https://doi.org/10.1017/S1446788700031062 | van Ravenstein p. 368 defines approximation of the second kind. At the default N=13, p/q=3/8 while the smallest gap is 0.0557280900; the gap is the minimum scaled error, not the fraction. - MINOR | X3: “the error of α's best rational approximation with denominator below N.” | https://doi.org/10.1017/S1446788700031062 | For α=√2−1 and N=4, 1/2 gives scaled error 0.1715728753 versus 0.2426406871 for 1/3; ordinary errors instead are 0.0857864376 and 0.0808802290. van Ravenstein p. 368 specifies the second kind. - MINOR | X4: “the one whose denominators have to grow fastest before they catch it.” | https://arxiv.org/pdf/1904.10815 | Akiyama p. 4 gives q_(k+1)=a_(k+1)q_k+q_(k-1). All ones give the slowest denominator growth per convergent index. The AMS/Stony Brook account supports the extremal Hurwitz constant. - WRONG | X5: “the proof that the count is never four lives in an offline verifier” | git show 37137afa5c:research/three-gap/verify.mjs | Re-read the complete verifier: the exhaustive loop covers reduced 03 alarm. The prose never claims palette capacity itself is an independent falsification test. This matches the triage rejection. - WRONG | K2: [old-lengths-reused] That is why no arc is ever left absurdly large, and why a fourth length can't accumulate: each step replaces a long arc with two shorter ones drawn from the lengths already present. | https://www.cambridge.org/core/services/aop-cambridge-core/content/view/EA75E140919DEA9A55FEFD01EB2F677F/S1446788700031062a.pdf/the-three-gap-theorem-steinhaus-conjecture.pdf | van Ravenstein p. 366 permits a new length. Re-evaluating the page at α=1/4 gives lengths {1/4,3/4} at N=2 and {1/4,1/2} at N=3. - MINOR | K3: [denominators-fastest] the one whose denominators have to grow fastest before they catch it. | https://arxiv.org/pdf/1904.10815 | Akiyama p. 4 gives q_(k+1)=a_(k+1)q_k+q_(k-1). All ones give the slowest denominator growth per convergent index. The AMS/Stony Brook account supports the extremal Hurwitz constant. - WRONG | K4: [offline-exact] the proof that the count is never four lives in an offline verifier that works in exact integer arithmetic | research/three-gap/verify.mjs @37137afa5c | Re-read the complete verifier: the exhaustive loop covers reduced 0The Three-Gap Theorem: Why Marks on a Circle Have 3 Gaps" | public/strata/the-three-gap-theorem/index.html @37137afa5c | Four equally spaced quarter-turn marks give four gaps of one length. The theorem bounds distinct lengths, not the number of gaps. - MINOR | K19: (added) the link "Vogel's rule" (line 143) goes to https://en.wikipedia.org/wiki/Phyllotaxis | https://en.wikipedia.org/wiki/Phyllotaxis | The linked Phyllotaxis article has no Vogel match. Re-fetched The Algorithmic Beauty of Plants, read printed pp. 99-100 (PDF pp. 111-112), and verified equation (4.1): angle n times the divergence angle and radius c√n. - CONFIRMED | N2-1 (specimen-history): “THE THREE-GAP THEOREM · STEINHAUS'S CONJECTURE · CONJ. HUGO STEINHAUS · PROVED SÓS 1957 · SURÁNYI 1958 · ŚWIERCZKOWSKI 1959” | https://arxiv.org/pdf/1707.04094 | Entry 1, specimen-history: Haynes and Marklof, p. 1: "in 1957 by Sós", "in 1958 by Surányi", "in 1959 by Świerczkowski"; van Ravenstein p. 360 attributes the conjecture to Steinhaus. - CONFIRMED | N2-2 (opening-three-lengths): “Wherever you stop” [...] “three steps in, three hundred” [...] “the gaps between your marks come in at most three lengths. Never a fourth.” | https://arxiv.org/pdf/1707.04094 | Entry 2, opening-three-lengths: The source states "for all α ∈ R" and "G(α, D) ≤ 3". This includes each finite stopping point. - CONFIRMED | N2-3 (fractional-part-points): “You are dropping the points {α}, {2α}, {3α}, …” [...] “the fractional parts of the multiples of α” [...] “around the rim.” | https://arxiv.org/pdf/1707.04094 | Entry 3, fractional-part-points: The source abstract explicitly describes "the fractional parts of α, 2α, . . . , N α". The chosen excerpt alone omits this definition; the preceding source text supplies it. - CONFIRMED | N2-4 (theorem-all-choices): “However many points you have placed, and whatever α you chose, the arcs come in no more than three distinct lengths” | https://arxiv.org/pdf/1707.04094 | Entry 4, theorem-all-choices: The source states "for all α ∈ R" and "any interval D"; this is the claimed arbitrary-step, arbitrary-count theorem. - CONFIRMED | N2-5 (three-length-sum): “when there are exactly three, the longest is precisely the sum of the other two.” | https://arxiv.org/pdf/1904.10815 | Entry 5, three-length-sum: Akiyama Theorem 4 gives lengths ηk, ηk−1−sηk, ηk−1−(s−1)ηk; the third is the sum of the first two whenever all three occur. - CONFIRMED | N2-6 (steinhaus-noticed): “Hugo Steinhaus noticed it” | https://www.cambridge.org/core/services/aop-cambridge-core/content/view/EA75E140919DEA9A55FEFD01EB2F677F/S1446788700031062a.pdf/the-three-gap-theorem-steinhaus-conjecture.pdf | Entry 6, steinhaus-noticed: Van Ravenstein p. 360: "originally a conjecture of H. Steinhaus". - CONFIRMED | N2-7 (three-proofs-1950s): “it took three separate proofs in the late 1950s to nail it down.” | https://arxiv.org/pdf/1707.04094 | Entry 7, three-proofs-1950s: The cited paper records three first proofs, in 1957, 1958 and 1959. The sentence is a summary of that independent-proof history. - CONFIRMED | N2-8 (circle-draws): “Below, the circle draws itself.” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 8, circle-draws: Pinned HTML lines 275-337 computes the positions and draws arcs and marks; local Node DOM/canvas stubs successfully execute the complete inline script. - CONFIRMED | N2-9 (colours-by-length): “The arcs are coloured by length: short, medium, long.” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 9, colours-by-length: Pinned HTML: "var COL = ['#ffc94a', '#59d3c4', '#f0608f'];" and "rx.strokeStyle = COL[Math.min(s.cls[i],2)];"; colours correspond to sorted length classes. - CONFIRMED | N2-10 (fourth-colour): “A fourth colour never appears.” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 10, fourth-colour: Pinned HTML defines three arc colours and caps the index at 2. The actual length-count readout is separate and can signal a count above three; the mathematical theorem supports the intended statement. - CONFIRMED | N2-11 (circle-point-index): “{kα} for k = 0 … N−1” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 11, circle-point-index: Pinned HTML: "for (var k=0;k ” | git show 37137afa5c:research/three-gap/og-gen.mjs | Entry 96, social-card-size: Read the PNG IHDR from the pinned image: width 1200, height 630. The generator independently declares "body{width:1200px;height:630px;". - CONFIRMED | N2-97 (seeds-never-align): “no two seeds ever line up” | https://arxiv.org/pdf/1904.10815 | Entry 97, seeds-never-align: For the exact irrational golden angle, radial alignment requires (n-m)α to be an integer or half-integer, impossible for distinct integer indices. The quoted source defines the model; its rational-only sentence by itself is insufficient, so this short deduction completes the check. - CONFIRMED | N2-98 (head-even-every-count): “the head fills evenly at every count” | https://www.scribd.com/document/816008523/A-better-way-to-construct-the-sunflower-head; https://arxiv.org/pdf/1904.10815; https://www.algorithmicbotany.org/papers/abop/abop.pdf#page=112 | Entry 98, head-even-every-count: Vogel p. 181 uses uniform filling of the circle, followed by the radial equal-area model. Akiyama Theorem 2 confirms the geometric model is Delone. This supports bounded even filling, not identical inter-seed distances. The fixer re-read Akiyama and ABOP for this geometric scope; the Vogel p. 181 reading is the source checkers' recorded evidence. - CONFIRMED | N2-100 (golden-reference): “(golden, in amber, stays ≤ φ²)” | https://arxiv.org/pdf/1904.10815; git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 100, golden-reference: Akiyama Theorem 4 plus the all-ones remainder ratios gives φ² as detailed in entry 24. The amber plot recomputes golden ratios through N=600. - CONFIRMED | N2-101 (rational-collapse-tail): “the circle never fills further.” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 101, rational-collapse-tail: For a reduced rational p/q, there are exactly q distinct residues. The pinned deduplication branch reports repeat landings; presets 1/4 and 1/7 recreate four and seven points. - CONFIRMED | N2-102 (readout-ring-initial): “2 distinct gap lengths ≤ 3 ✓short 20.062° × 5medium 32.461° × 8closest pair: 8 steps apart → best fraction 3/8, ‖qα‖ = 0.05573 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 102, readout-ring-initial: At the initial golden α and N=13, reproduced exactly. Independent 55-digit Decimal arithmetic gives lengths 20.062° (5) and 32.461° (8), fraction 3/8, error 0.05573. - CONFIRMED | N2-103 (readout-chart-initial): “chosen worst ratio over N≤600: 6.25e+5× (golden, in amber, stays ≤ φ²)” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 103, readout-chart-initial: Initial second instrument uses α=0.2500001; the output is reproduced exactly, with "6.25e+5×" over 2≤N≤600. - CONFIRMED | N2-104 (readout-ring-circle-preset-1-4): “1 distinct gap length ≤ 3 ✓short 90.000° × 4α is rational here → only 4 distinct points (the 13 steps land on old marks); the circle never fills further.” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 104, readout-ring-circle-preset-1-4: Reproduced at α=1/4, N=13: exactly four distinct points and equal 90° gaps. This also follows from integer residues modulo 4. - CONFIRMED | N2-105 (readout-ring-circle-preset-1-7): “1 distinct gap length ≤ 3 ✓short 51.429° × 7α is rational here → only 7 distinct points (the 13 steps land on old marks); the circle never fills further.” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 105, readout-ring-circle-preset-1-7: Reproduced at α=1/7, N=13: seven points with equal gaps 360/7 = 51.428571... degrees, rounded to 51.429°. - CONFIRMED | N2-107 (readout-ring-n-2): “2 distinct gap lengths ≤ 3 ✓short 137.508° × 1medium 222.492° × 1closest pair: 1 steps apart → best fraction 1/1, ‖qα‖ = 0.38197 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 107, readout-ring-n-2: Reproduced exactly after selecting the "0.618" preset, α=φ−1, then N=2. The source record's condition omits α; at the initial golden preset the fraction would instead be 0/1. - CONFIRMED | N2-108 (readout-ring-n-14): “3 distinct gap lengths ≤ 3 ✓short 12.399° × 1medium 20.062° × 6long 32.461° × 7longest − (short + medium) = 0.0e+0 ≈ 0 ✓closest pair: 13 steps apart → best fraction 8/13, ‖qα‖ = 0.03444 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 108, readout-ring-n-14: Reproduced exactly at α=φ−1, N=14. The record omits the preset condition; the initial golden angle gives 5/13, whereas this preset gives 8/13. - CONFIRMED | N2-109 (readout-ring-n-300): “3 distinct gap lengths ≤ 3 ✓short 0.691° × 67medium 1.118° × 156long 1.809° × 77longest − (short + medium) = 2.1e-14 ≈ 0 ✓closest pair: 233 steps apart → best fraction 144/233, ‖qα‖ = 0.00192 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 109, readout-ring-n-300: Reproduced exactly at α=φ−1, N=300. The record omits the preset condition; the golden-angle numerator would be 89, not 144. - CONFIRMED | N2-110 (readout-chart-chart-preset-golden): “golden hugs φ² ≈ 2.618” [...] “worst ratio over N≤600: 2.618” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 110, readout-chart-chart-preset-golden: Reproduced "worst ratio over N≤600: 2.618"; mathematical bound and rounding independently agree with φ². - CONFIRMED | N2-111 (readout-chart-sqrt2): “chosen worst ratio over N≤600: 3.41× (golden, in amber, stays ≤ φ²)” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 111, readout-chart-sqrt2: Reproduced "3.41×" for √2−1 through N=600; the exact gap-ratio bound for the all-twos tail is 2+√2 = 3.41421356.... - CONFIRMED | N2-112 (readout-chart-pi): “chosen worst ratio over N≤600: 293.63× (golden, in amber, stays ≤ φ²)” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 112, readout-chart-pi: Reproduced "293.63×" for the fractional part of π through N=600, matching the rounded prose spike. - CONFIRMED | N2-113 (readout-chart-chart-preset-e): “chosen worst ratio over N≤600: 7.53× (golden, in amber, stays ≤ φ²)” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 113, readout-chart-chart-preset-e: Reproduced "7.53×" for the fractional part of e through N=600. - CONFIRMED | N2-114 (readout-chart-chart-preset-1-4): “chosen worst ratio over N≤600: 6.25e+5× (golden, in amber, stays ≤ φ²)” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 114, readout-chart-chart-preset-1-4: Reproduced "6.25e+5×" for α=0.2500001 through N=600. - CONFIRMED | N2-115 (readout-chart-chart-preset-1-7): “chosen worst ratio over N≤600: 3.57e+5× (golden, in amber, stays ≤ φ²)” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 115, readout-chart-chart-preset-1-7: Reproduced "3.57e+5×" for α=0.1428572 through N=600. - CONFIRMED | N2-116 (added-circle-sqrt2): (added) “3 distinct gap lengths ≤ 3 ✓short 10.597° × 1medium 25.584° × 8long 36.182° × 4longest − (short + medium) = 0.0e+0 ≈ 0 ✓closest pair: 12 steps apart → best fraction 5/12, ‖qα‖ = 0.02944 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 116, added-circle-sqrt2: Omitted source-record circle readout: preset √2, N=13. Recreated by node readouts.mjs and independently checked with 55-digit Decimal arithmetic in independent.py. See evidence/independent-readouts.json. - CONFIRMED | N2-117 (added-circle-pi): (added) “3 distinct gap lengths ≤ 3 ✓short 3.187° × 6medium 47.787° × 5long 50.973° × 2longest − (short + medium) = 0.0e+0 ≈ 0 ✓closest pair: 7 steps apart → best fraction 1/7, ‖qα‖ = 0.00885 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 117, added-circle-pi: Omitted source-record circle readout: preset π, N=13. Recreated by node readouts.mjs and independently checked with 55-digit Decimal arithmetic in independent.py. See evidence/independent-readouts.json. - CONFIRMED | N2-118 (added-circle-e): (added) “3 distinct gap lengths ≤ 3 ✓short 10.070° × 6medium 35.604° × 2long 45.674° × 5longest − (short + medium) = 4.4e-16 ≈ 0 ✓closest pair: 7 steps apart → best fraction 5/7, ‖qα‖ = 0.02797 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 118, added-circle-e: Omitted source-record circle readout: preset e, N=13. Recreated by node readouts.mjs and independently checked with 55-digit Decimal arithmetic in independent.py. See evidence/independent-readouts.json. - CONFIRMED | N2-119 (added-circle-phi-minus-one): (added) “2 distinct gap lengths ≤ 3 ✓short 20.062° × 5medium 32.461° × 8closest pair: 8 steps apart → best fraction 5/8, ‖qα‖ = 0.05573 = the smallest gap” | git show 37137afa5c:public/strata/the-three-gap-theorem/index.html | Entry 119, added-circle-phi-minus-one: Omitted source-record circle readout: preset 0.618, N=13. Recreated by node readouts.mjs and independently checked with 55-digit Decimal arithmetic in independent.py. See evidence/independent-readouts.json. - CONFIRMED | N2-94 (publication-metadata): datePublished is 2026-06-21. | src/content/strata/the-three-gap-theorem.md; research/assay-line/queue-1014c/the-three-gap-theorem/N2-claude.md | The markdown date is 2026-06-21T12:00:00Z; the Claude checker confirmed the creation commit. This is distinct from K15, the stale modification date. - OBSERVED | The exhaustive rational grid contains 2,160,746 cases with no core violations. | research/three-gap/verify.mjs; research/three-gap/facts.md | The rerun counts 29,450 one-length, 834,168 two-length and 1,297,128 three-length cases; each gap sum covers one full circle. - OBSERVED | The seeded random stress run checks 4,000 rational cases. | research/three-gap/verify.mjs; research/three-gap/facts.md | No case has more than three lengths or violates the three-length sum rule. - OBSERVED | The scaled-error identity passes 826,129 exact cases. | research/three-gap/verify.mjs; research/three-gap/facts.md | The test uses N≥2 and reduced denominators through 160. - OBSERVED | The largest-host and non-increasing-maximum checks each pass 2166/2166. | research/three-gap/verify.mjs; research/three-gap/facts.md | Both assertions remain present; K5 is rejected, not silently removed. - OBSERVED | The golden proxy has 714 passing sampled ratio checks and 27/27 passing Fibonacci counts. | research/three-gap/verify.mjs; research/three-gap/facts.md | Counts are N=5,12,…,4996 and Fibonacci F4=3 through F30=832040 respectively; the near-quarter sampled ratio is 625000.25 at N=5. - OBSERVED | The layer verifier passes 9/9 after the repairs. | research/three-gap/verify.mjs; research/three-gap/facts.md | node research/three-gap/verify.mjs exits 0 on 2026-10-14. The published mirror is byte-identical. ## Findings - [fixed] X1 (new-gap-length-denied): Fixed the splitting explanation in the HTML and check log; one dated correction covers X1 and K2. - [fixed] X2 (gap-is-fraction): Named the minimum scaled error ‖qα‖=abs(qα-p), distinguished p/q, and repaired the dek, prose, markdown body, relation note, check log and verifier wording. - [fixed] X3 (approximation-error-metric): Specified the scaled-error metric, 1≤q100 to >600000, matching the displayed claim. - [fixed] K7 (finite-check-as-proof): Fixed both proof claims and their copies in the page, markdown, check log and verifier comments. One dated correction covers X5, X7, K4 and K7; the published verifier mirror matches the source. - [open note:81816d] K8 (repository-required): NOT FIXED: shared placard/manifest repair belongs to board note 81816d. Left the placard and shared files unchanged; retained WRONG. - [fixed] K9 (live-arithmetic-exactness): Added a local outward relation naming the circle and repeating-decimal subjects explicitly, with floating-point live values and finite exact rational checks; regenerated only this page's Nearby block. Did not edit the other layer. - [fixed] K10 (missing-three-length-condition): Added the three-distinct-length condition in all five abbreviated copies: dek, markdown body, HTML description, Open Graph description and JSON-LD description. - [fixed] K11 (missing-three-length-condition): Added the three-distinct-length condition in all five abbreviated copies: dek, markdown body, HTML description, Open Graph description and JSON-LD description. - [fixed] K12 (missing-three-length-condition): Added the three-distinct-length condition in all five abbreviated copies: dek, markdown body, HTML description, Open Graph description and JSON-LD description. - [fixed] K13 (missing-three-length-condition): Added the three-distinct-length condition in all five abbreviated copies: dek, markdown body, HTML description, Open Graph description and JSON-LD description. - [fixed] K14 (missing-three-length-condition): Added the three-distinct-length condition in all five abbreviated copies: dek, markdown body, HTML description, Open Graph description and JSON-LD description. - [dated] K15 (modification-date): Set JSON-LD dateModified to 2026-10-14. No Updated line under the explicit JSON-LD exception; the five Corrected lines already date this revision. - [fixed] K16 (nongolden-spokes): Replaced that blanket caption with the chosen angle and the actual 380-seed model parameters; recorded the counterexample in the check log and one dated correction for X20 and K16. - [fixed] K17 (single-point-closest-pair): Handled N<2 before bestApprox(): the readout now says there is no closest pair and the only gap is a full turn (360°). One dated correction covers X21 and K17; page regressions cover every ring preset. - [fixed] K18 (gap-count-title): Changed the standalone HTML title to The Three-Gap Theorem: At Most Three Gap Lengths. The shared historical scripts/seo-titles.tsv row was not edited under the task's shared-file prohibition. - [fixed] K19 (vogel-link-target): Changed only the Vogel citation target to https://www.algorithmicbotany.org/papers/abop/abop.pdf#page=112; retained the supported formula.