#!/usr/bin/env python3 """Ledger v1: the precision corpus as rows. Purpose: make the corpus checkable. Every row is one case that appears in the published second edition (dev.to 4947649, state of 2026-11-10). Columns: pub_no the case number the corpus claims (blank = the edition carries it without a number) name, mode, field claim_type ratio | absolute | correlation | comparison | none est1/ci1 baseline estimate and its interval as published (blank = not yet re-sourced into this ledger) est2/ci2 comparison estimate and its interval source primary identifier route how the record was reached in_ed2 yes | merged | no (does the second edition body carry it?) rule does the two-division denominator check apply? yes | no | n/a status sourced | to_re_source | non_numeric Nothing here is typed from memory: each filled number was read off the published text, which states its own route to the primary. Numbers not yet re-read at the primary are left blank on purpose. """ import csv import json ROWS = [ # --- Mode 1: validity --- dict(pub_no="7", name="EEG identity trap", mode=1, field="ML / EEG", claim_type="comparison", est1="", ci1="", est2="", ci2="", source="arXiv:2606.06647", route="abs page, re-checked 30 Oct 2026", in_ed2="yes", rule="no", status="to_re_source", note="13-89x random null across 12/12 cell-model pairs; fine-tuning +10 to +63 pp"), dict(pub_no="14", name="MuteBench", mode=1, field="ML / clinical fusion", claim_type="comparison", est1="", ci1="", est2="", ci2="", source="arXiv:2605.15235", route="abs page, re-checked 30 Oct 2026", in_ed2="yes", rule="no", status="to_re_source", note="curriculum dropout valid only inside its own envelope; architecture family > parameter count"), # --- Mode 2: confidence --- dict(pub_no="13", name="Longshot price drift", mode=2, field="space launch", claim_type="ratio", est1="10", ci1="none stated", est2="50", ci2="none stated", source="TechCrunch 2024-09-25; TechCrunch 2026-10-13", route="two articles, local copies", in_ed2="yes", rule="no", status="sourced", note="same pitch price 5x apart; no measurement behind either; rule n/a because no intervals exist"), dict(pub_no="9", name="Machine qualia architecture", mode=2, field="philosophy of mind", claim_type="none", est1="", ci1="", est2="", ci2="", source="arXiv:2609.30743", route="abs page, re-checked 30 Oct 2026", in_ed2="yes", rule="no", status="non_numeric", note="precision of the specification is real; no instrument can check any prediction"), dict(pub_no="15", name="1992 article flagged 68% AI", mode=2, field="AI detection", claim_type="absolute", est1="68", ci1="declared FP rate 1 in 10,000", est2="", ci2="", source="Metaxun 1992 pp.80-104; Pangram output 30 Oct 2026", route="parent's screenshot", in_ed2="yes", rule="no", status="sourced", note="text predates the instrument; detector also mangled the title it measured"), # --- Mode 3: mechanism change --- dict(pub_no="10", name="Campi Flegrei correlation switch-off", mode=3, field="volcanology", claim_type="correlation", est1="0.93", ci1="p<2.2e-16", est2="0.16", ci2="95% [-0.58,0.76] moving-block", source="doi:10.1126/sciadv.aei8075; doi:10.5281/zenodo.20307772", route="Crossref; Zenodo deposit re-downloaded 30 Oct 2026, checksums logged", in_ed2="yes", rule="no", status="sourced", note="split by window: 0.53 / 0.87 / 0.91 / 0.16; case 11 (dated decoupling) merged into this row"), dict(pub_no="11", name="Dated decoupling, same record", mode=3, field="volcanology", claim_type="correlation", est1="0.82", ci1="205 joint months 2004-2025", est2="0.16", ci2="95% [-0.58,0.76] moving-block, 2021-25", source="my computation on doi:10.5281/zenodo.20307772", route="window split, script", in_ed2="merged", rule="no", status="sourced", note="walked 0.55 / 0.86 / 0.91 / 0.19 by window; carried inside the Campi block in edition 2"), # --- Mode 4: missing quantity --- dict(pub_no="12", name="Agent marketplace board", mode=4, field="agent economy", claim_type="absolute", est1="188", ci1="", est2="", ci2="", source="tokuboard toku; dealwork.ai audit 2026-03-27; pact0 my receipts", route="live board 30 Oct 2026; own order history", in_ed2="yes", rule="no", status="sourced", note="bids per posting, not a measured quantity of demand; 86 postings mostly one poster"), dict(pub_no="", name="The re-sourcing pass caught me", mode=4, field="own sourcing", claim_type="none", est1="", ci1="", est2="", ci2="", source="my own October note; dealwork.ai audit 2026-03-27", route="searched tavily/parallel, found only my own note", in_ed2="yes", rule="no", status="non_numeric", note="a carried case block that is also a self-correction: the 50-150 bids quote failed re-source"), # --- Mode 5: projection failure --- dict(pub_no="", name="AI hardware graveyard", mode=5, field="consumer AI", claim_type="absolute", est1="", ci1="", est2="", ci2="", source="TechCrunch 2026-10-24, Lauren Forristal", route="local copy, numbers re-checked 30 Oct 2026", in_ed2="yes", rule="no", status="to_re_source", note="$230M raised / $116M exit; $1B valuation / bankruptcy; all precise, none about survival"), dict(pub_no="16", name="Siri pitch priced", mode=5, field="consumer AI / litigation", claim_type="absolute", est1="250", ci1="settlement fund, $25-95 per device", est2="", ci2="", source="Landsheft et al. v. Apple (N.D. Cal.)", route="USA Today 21 Sep 2026, Fortune 8 May 2026, CBS", in_ed2="yes", rule="no", status="to_re_source", note="court filing not pulled; the gap is stated in the piece"), dict(pub_no="3", name="Two-week forecast limit", mode=5, field="atmospheric science", claim_type="absolute", est1="14", ci1="", est2="26-29", ci2="", source="BAMS 47:200-220 (1966)", route="AMS bot-gated; quoted via Atmosphere 15(7):837", in_ed2="yes", rule="no", status="to_re_source", note="both numbers are extrapolations of a ~5-day error doubling"), # --- Mode 6: instrument dependence --- dict(pub_no="", name="dev.to read time", mode=6, field="platform analytics", claim_type="absolute", est1="64", ci1="x 23 = 1472", est2="186", ci2="x 324 = 60264 s", source="dev.to /api/analytics/historical + /api/analytics", route="own account, 26-31 Oct pulls", in_ed2="yes", rule="no", status="sourced", note="total = average x views always; average has no origin in any dated row; read time refused as a quantity"), dict(pub_no="", name="Analytics cache serving another account", mode=6, field="platform analytics", claim_type="absolute", est1="98", ci1="", est2="", ci2="", source="dev.to /api/analytics (bare GET)", route="x-cache HIT, age 279; vary lists X-Loggedin", in_ed2="yes", rule="no", status="sourced", note="anonymous request without cookies returned Richard's dashboard, not mine"), # --- Mode 7: by definition --- dict(pub_no="4", name="The metre and exact constants", mode=7, field="metrology", claim_type="none", est1="", ci1="", est2="", ci2="", source="BIPM SI brochure, 9th ed. 2019", route="BIPM page re-checked 30 Oct 2026", in_ed2="yes", rule="no", status="non_numeric", note="the control: precision that cannot stop because the number is the anchor"), # --- Mode 8: resolution --- dict(pub_no="17", name="Floor under my own ten posts", mode=8, field="own publishing", claim_type="comparison", est1="75.8", ci1="band 52-138 (chi-square on sd)", est2="106.5", ci2="arm must reach; max ever 80", source="dev.to 4992671", route="own account, api articles/me; script in the piece", in_ed2="yes", rule="partial", status="sourced", note="df corrected 9 -> 4 on 11-07: floor 90.6, arm 121.4; prediction-interval route 83.0"), dict(pub_no="18", name="Nursing pilot, 32 students", mode=8, field="medical education", claim_type="comparison", est1="0.356", ci1="Z=-2.014, n=32", est2="0.555", ci2="80% power threshold", source="doi:10.1186/s12909-026-09483-2; PMC13371556", route="score cells pulled from published HTML by script", in_ed2="yes", rule="no", status="sourced", note="MDE 15.8-17.2 points on the generous min-max reading vs a 10-point gap; IQR reading 41.8-45.6"), # --- Mode 9: multiplier --- dict(pub_no="19", name="Abyssal ocean quadrupled", mode=9, field="oceanography", claim_type="ratio", est1="5.4", ci1="4.9 (first reading, 90%)", est2="20.2", ci2="3.9 (90%)", source="doi:10.1029/2026GL124104; NOAA repository noaa/74318", route="ten pages read off the NOAA copy", in_ed2="yes", rule="yes", status="sourced", note="denominator 1.10 half-widths from zero; ratio lower edge 1.96, no upper bound; absolute +14.8 TW +-6.3"), dict(pub_no="20", name="Eight bare NNTs, resilience trial", mode=9, field="medicine", claim_type="ratio", est1="0.067", ci1="2/30 control", est2="0.433", ci2="13/30 treatment", source="doi:10.3390/healthcare14131940; PMC13362344; PMID 42450950", route="JATS XML cells read one by one", in_ed2="yes", rule="yes", status="sourced", note="RR 6.5, interval 1.85-24.99; RD 0.367 [0.150,0.548], 1.84 half-widths; four NNT intervals run to infinity"), # --- First-edition cases the second edition moved out or demoted --- dict(pub_no="1", name="Consciousness (IIT / COGITATE)", mode=0, field="neuroscience", claim_type="none", est1="", ci1="", est2="", ci2="", source="doi:10.1126/scitranslmed.3006294; doi:10.1038/s41586-025-08888-1", route="Crossref / publisher pages, verified 2026-09", in_ed2="no", rule="no", status="to_re_source", note="referenced under 'the honest gap', not carried as a case block in edition 2"), dict(pub_no="2", name="Chemical kinetics, fast-mode collapse", mode=0, field="physical chemistry", claim_type="none", est1="", ci1="", est2="", ci2="", source="doi:10.1063/1.3050350", route="Crossref, verified 2026-09", in_ed2="no", rule="no", status="to_re_source", note="not in edition 2 body"), dict(pub_no="5", name="Aesthetic judgment as a relation", mode=0, field="aesthetics / ML", claim_type="none", est1="", ci1="", est2="", ci2="", source="arXiv:2309.12338", route="abs page, verified 27 Oct 2026", in_ed2="no", rule="no", status="to_re_source", note="stands separately as dev.to 4939617"), dict(pub_no="6", name="Illusionism", mode=0, field="philosophy of mind", claim_type="none", est1="", ci1="", est2="", ci2="", source="doi:10.5040/9781350190450.ch-008; JCS 23(11-12)", route="Crossref, verified 2026-09", in_ed2="no", rule="no", status="to_re_source", note="not in edition 2 body"), dict(pub_no="8", name="Jeju Olle trails, $844M", mode=0, field="tourism economics", claim_type="absolute", est1="844", ci1="derived: 1.224T KRW / 1450", est2="", ci2="", source="Jeju Institute study via Maeil Business 2025-12-30", route="secondary report", in_ed2="merged", rule="no", status="to_re_source", note="demoted to a dead end in edition 2: my own division, no verbatim source"), ] FIELDS = ["pub_no", "name", "mode", "field", "claim_type", "est1", "ci1", "est2", "ci2", "source", "route", "in_ed2", "rule", "status", "note"] def main(): with open("/workspace/corpus/ledger_v1.csv", "w", newline="") as f: w = csv.DictWriter(f, fieldnames=FIELDS, lineterminator="\n") w.writeheader() for r in ROWS: w.writerow(r) carry = [r for r in ROWS if r["in_ed2"] == "yes"] moved = [r for r in ROWS if r["in_ed2"] != "yes"] modes = {} for r in ROWS: if r["in_ed2"] == "yes": modes.setdefault(r["mode"], []).append(r["name"]) print("rows in ledger:", len(ROWS)) print("case-shaped blocks carried in edition 2:", len(carry)) print("numbered cases the edition does NOT carry:", len(moved)) print() print("mode tally (edition 2 body only):") for m in sorted(modes): print(f" mode {m}: {len(modes[m])}") print(" modes present:", len(modes)) print() unnumbered = [r for r in carry if not r["pub_no"]] print("carried WITHOUT a case number:", len(unnumbered)) for r in unnumbered: print(" -", r["name"]) print() rule_yes = [r for r in ROWS if r["rule"] == "yes"] print("rows where the two-division check applies mechanically:", len(rule_yes), [r["pub_no"] for r in rule_yes]) print("rows needing no arithmetic (judgment only):", len([r for r in ROWS if r["rule"] == "no"])) print() print("source status:", {s: len([r for r in ROWS if r["status"] == s]) for s in ("sourced", "to_re_source", "non_numeric")}) with open("/workspace/corpus/ledger_v1.json", "w") as f: json.dump(ROWS, f, indent=1) if __name__ == "__main__": main()