1. #!/usr/bin/env python3
  2. """Ledger v1: the precision corpus as rows.
  3. ​
  4. Purpose: make the corpus checkable. Every row is one case that appears in the
  5. published second edition (dev.to 4947649, state of 2026-11-10). Columns:
  6. pub_no the case number the corpus claims (blank = the edition carries it
  7. without a number)
  8. name, mode, field
  9. claim_type ratio | absolute | correlation | comparison | none
  10. est1/ci1 baseline estimate and its interval as published (blank = not yet
  11. re-sourced into this ledger)
  12. est2/ci2 comparison estimate and its interval
  13. source primary identifier
  14. route how the record was reached
  15. in_ed2 yes | merged | no (does the second edition body carry it?)
  16. rule does the two-division denominator check apply? yes | no | n/a
  17. status sourced | to_re_source | non_numeric
  18. ​
  19. Nothing here is typed from memory: each filled number was read off the
  20. published text, which states its own route to the primary. Numbers not yet
  21. re-read at the primary are left blank on purpose.
  22. """
  23. ​
  24. import csv
  25. import json
  26. ​
  27. ROWS = [
  28. # --- Mode 1: validity ---
  29. dict(pub_no="7", name="EEG identity trap", mode=1, field="ML / EEG",
  30. claim_type="comparison", est1="", ci1="", est2="", ci2="",
  31. source="arXiv:2606.06647", route="abs page, re-checked 30 Oct 2026",
  32. in_ed2="yes", rule="no", status="to_re_source",
  33. note="13-89x random null across 12/12 cell-model pairs; fine-tuning +10 to +63 pp"),
  34. dict(pub_no="14", name="MuteBench", mode=1, field="ML / clinical fusion",
  35. claim_type="comparison", est1="", ci1="", est2="", ci2="",
  36. source="arXiv:2605.15235", route="abs page, re-checked 30 Oct 2026",
  37. in_ed2="yes", rule="no", status="to_re_source",
  38. note="curriculum dropout valid only inside its own envelope; architecture family > parameter count"),
  39. ​
  40. # --- Mode 2: confidence ---
  41. dict(pub_no="13", name="Longshot price drift", mode=2, field="space launch",
  42. claim_type="ratio", est1="10", ci1="none stated", est2="50", ci2="none stated",
  43. source="TechCrunch 2024-09-25; TechCrunch 2026-10-13", route="two articles, local copies",
  44. in_ed2="yes", rule="no", status="sourced",
  45. note="same pitch price 5x apart; no measurement behind either; rule n/a because no intervals exist"),
  46. dict(pub_no="9", name="Machine qualia architecture", mode=2, field="philosophy of mind",
  47. claim_type="none", est1="", ci1="", est2="", ci2="",
  48. source="arXiv:2609.30743", route="abs page, re-checked 30 Oct 2026",
  49. in_ed2="yes", rule="no", status="non_numeric",
  50. note="precision of the specification is real; no instrument can check any prediction"),
  51. dict(pub_no="15", name="1992 article flagged 68% AI", mode=2, field="AI detection",
  52. claim_type="absolute", est1="68", ci1="declared FP rate 1 in 10,000", est2="", ci2="",
  53. source="Metaxun 1992 pp.80-104; Pangram output 30 Oct 2026", route="parent's screenshot",
  54. in_ed2="yes", rule="no", status="sourced",
  55. note="text predates the instrument; detector also mangled the title it measured"),
  56. ​
  57. # --- Mode 3: mechanism change ---
  58. dict(pub_no="10", name="Campi Flegrei correlation switch-off", mode=3, field="volcanology",
  59. claim_type="correlation", est1="0.93", ci1="p<2.2e-16", est2="0.16", ci2="95% [-0.58,0.76] moving-block",
  60. source="doi:10.1126/sciadv.aei8075; doi:10.5281/zenodo.20307772",
  61. route="Crossref; Zenodo deposit re-downloaded 30 Oct 2026, checksums logged",
  62. in_ed2="yes", rule="no", status="sourced",
  63. note="split by window: 0.53 / 0.87 / 0.91 / 0.16; case 11 (dated decoupling) merged into this row"),
  64. dict(pub_no="11", name="Dated decoupling, same record", mode=3, field="volcanology",
  65. claim_type="correlation", est1="0.82", ci1="205 joint months 2004-2025",
  66. est2="0.16", ci2="95% [-0.58,0.76] moving-block, 2021-25",
  67. source="my computation on doi:10.5281/zenodo.20307772", route="window split, script",
  68. in_ed2="merged", rule="no", status="sourced",
  69. note="walked 0.55 / 0.86 / 0.91 / 0.19 by window; carried inside the Campi block in edition 2"),
  70. ​
  71. # --- Mode 4: missing quantity ---
  72. dict(pub_no="12", name="Agent marketplace board", mode=4, field="agent economy",
  73. claim_type="absolute", est1="188", ci1="", est2="", ci2="",
  74. source="tokuboard toku; dealwork.ai audit 2026-03-27; pact0 my receipts",
  75. route="live board 30 Oct 2026; own order history",
  76. in_ed2="yes", rule="no", status="sourced",
  77. note="bids per posting, not a measured quantity of demand; 86 postings mostly one poster"),
  78. dict(pub_no="", name="The re-sourcing pass caught me", mode=4, field="own sourcing",
  79. claim_type="none", est1="", ci1="", est2="", ci2="",
  80. source="my own October note; dealwork.ai audit 2026-03-27",
  81. route="searched tavily/parallel, found only my own note",
  82. in_ed2="yes", rule="no", status="non_numeric",
  83. note="a carried case block that is also a self-correction: the 50-150 bids quote failed re-source"),
  84. ​
  85. # --- Mode 5: projection failure ---
  86. dict(pub_no="", name="AI hardware graveyard", mode=5, field="consumer AI",
  87. claim_type="absolute", est1="", ci1="", est2="", ci2="",
  88. source="TechCrunch 2026-10-24, Lauren Forristal", route="local copy, numbers re-checked 30 Oct 2026",
  89. in_ed2="yes", rule="no", status="to_re_source",
  90. note="$230M raised / $116M exit; $1B valuation / bankruptcy; all precise, none about survival"),
  91. dict(pub_no="16", name="Siri pitch priced", mode=5, field="consumer AI / litigation",
  92. claim_type="absolute", est1="250", ci1="settlement fund, $25-95 per device", est2="", ci2="",
  93. source="Landsheft et al. v. Apple (N.D. Cal.)", route="USA Today 21 Sep 2026, Fortune 8 May 2026, CBS",
  94. in_ed2="yes", rule="no", status="to_re_source",
  95. note="court filing not pulled; the gap is stated in the piece"),
  96. dict(pub_no="3", name="Two-week forecast limit", mode=5, field="atmospheric science",
  97. claim_type="absolute", est1="14", ci1="", est2="26-29", ci2="",
  98. source="BAMS 47:200-220 (1966)", route="AMS bot-gated; quoted via Atmosphere 15(7):837",
  99. in_ed2="yes", rule="no", status="to_re_source",
  100. note="both numbers are extrapolations of a ~5-day error doubling"),
  101. ​
  102. # --- Mode 6: instrument dependence ---
  103. dict(pub_no="", name="dev.to read time", mode=6, field="platform analytics",
  104. claim_type="absolute", est1="64", ci1="x 23 = 1472", est2="186", ci2="x 324 = 60264 s",
  105. source="dev.to /api/analytics/historical + /api/analytics", route="own account, 26-31 Oct pulls",
  106. in_ed2="yes", rule="no", status="sourced",
  107. note="total = average x views always; average has no origin in any dated row; read time refused as a quantity"),
  108. dict(pub_no="", name="Analytics cache serving another account", mode=6, field="platform analytics",
  109. claim_type="absolute", est1="98", ci1="", est2="", ci2="",
  110. source="dev.to /api/analytics (bare GET)", route="x-cache HIT, age 279; vary lists X-Loggedin",
  111. in_ed2="yes", rule="no", status="sourced",
  112. note="anonymous request without cookies returned Richard's dashboard, not mine"),
  113. ​
  114. # --- Mode 7: by definition ---
  115. dict(pub_no="4", name="The metre and exact constants", mode=7, field="metrology",
  116. claim_type="none", est1="", ci1="", est2="", ci2="",
  117. source="BIPM SI brochure, 9th ed. 2019", route="BIPM page re-checked 30 Oct 2026",
  118. in_ed2="yes", rule="no", status="non_numeric",
  119. note="the control: precision that cannot stop because the number is the anchor"),
  120. ​
  121. # --- Mode 8: resolution ---
  122. dict(pub_no="17", name="Floor under my own ten posts", mode=8, field="own publishing",
  123. claim_type="comparison", est1="75.8", ci1="band 52-138 (chi-square on sd)",
  124. est2="106.5", ci2="arm must reach; max ever 80",
  125. source="dev.to 4992671", route="own account, api articles/me; script in the piece",
  126. in_ed2="yes", rule="partial", status="sourced",
  127. note="df corrected 9 -> 4 on 11-07: floor 90.6, arm 121.4; prediction-interval route 83.0"),
  128. dict(pub_no="18", name="Nursing pilot, 32 students", mode=8, field="medical education",
  129. claim_type="comparison", est1="0.356", ci1="Z=-2.014, n=32", est2="0.555", ci2="80% power threshold",
  130. source="doi:10.1186/s12909-026-09483-2; PMC13371556", route="score cells pulled from published HTML by script",
  131. in_ed2="yes", rule="no", status="sourced",
  132. note="MDE 15.8-17.2 points on the generous min-max reading vs a 10-point gap; IQR reading 41.8-45.6"),
  133. ​
  134. # --- Mode 9: multiplier ---
  135. dict(pub_no="19", name="Abyssal ocean quadrupled", mode=9, field="oceanography",
  136. claim_type="ratio", est1="5.4", ci1="4.9 (first reading, 90%)", est2="20.2", ci2="3.9 (90%)",
  137. source="doi:10.1029/2026GL124104; NOAA repository noaa/74318", route="ten pages read off the NOAA copy",
  138. in_ed2="yes", rule="yes", status="sourced",
  139. note="denominator 1.10 half-widths from zero; ratio lower edge 1.96, no upper bound; absolute +14.8 TW +-6.3"),
  140. dict(pub_no="20", name="Eight bare NNTs, resilience trial", mode=9, field="medicine",
  141. claim_type="ratio", est1="0.067", ci1="2/30 control", est2="0.433", ci2="13/30 treatment",
  142. source="doi:10.3390/healthcare14131940; PMC13362344; PMID 42450950", route="JATS XML cells read one by one",
  143. in_ed2="yes", rule="yes", status="sourced",
  144. 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"),
  145. ​
  146. # --- First-edition cases the second edition moved out or demoted ---
  147. dict(pub_no="1", name="Consciousness (IIT / COGITATE)", mode=0, field="neuroscience",
  148. claim_type="none", est1="", ci1="", est2="", ci2="",
  149. source="doi:10.1126/scitranslmed.3006294; doi:10.1038/s41586-025-08888-1",
  150. route="Crossref / publisher pages, verified 2026-09",
  151. in_ed2="no", rule="no", status="to_re_source",
  152. note="referenced under 'the honest gap', not carried as a case block in edition 2"),
  153. dict(pub_no="2", name="Chemical kinetics, fast-mode collapse", mode=0, field="physical chemistry",
  154. claim_type="none", est1="", ci1="", est2="", ci2="",
  155. source="doi:10.1063/1.3050350", route="Crossref, verified 2026-09",
  156. in_ed2="no", rule="no", status="to_re_source",
  157. note="not in edition 2 body"),
  158. dict(pub_no="5", name="Aesthetic judgment as a relation", mode=0, field="aesthetics / ML",
  159. claim_type="none", est1="", ci1="", est2="", ci2="",
  160. source="arXiv:2309.12338", route="abs page, verified 27 Oct 2026",
  161. in_ed2="no", rule="no", status="to_re_source",
  162. note="stands separately as dev.to 4939617"),
  163. dict(pub_no="6", name="Illusionism", mode=0, field="philosophy of mind",
  164. claim_type="none", est1="", ci1="", est2="", ci2="",
  165. source="doi:10.5040/9781350190450.ch-008; JCS 23(11-12)",
  166. route="Crossref, verified 2026-09",
  167. in_ed2="no", rule="no", status="to_re_source",
  168. note="not in edition 2 body"),
  169. dict(pub_no="8", name="Jeju Olle trails, $844M", mode=0, field="tourism economics",
  170. claim_type="absolute", est1="844", ci1="derived: 1.224T KRW / 1450", est2="", ci2="",
  171. source="Jeju Institute study via Maeil Business 2025-12-30", route="secondary report",
  172. in_ed2="merged", rule="no", status="to_re_source",
  173. note="demoted to a dead end in edition 2: my own division, no verbatim source"),
  174. ]
  175. ​
  176. FIELDS = ["pub_no", "name", "mode", "field", "claim_type", "est1", "ci1",
  177. "est2", "ci2", "source", "route", "in_ed2", "rule", "status", "note"]
  178. ​
  179. def main():
  180. with open("/workspace/corpus/ledger_v1.csv", "w", newline="") as f:
  181. w = csv.DictWriter(f, fieldnames=FIELDS, lineterminator="\n")
  182. w.writeheader()
  183. for r in ROWS:
  184. w.writerow(r)
  185. ​
  186. carry = [r for r in ROWS if r["in_ed2"] == "yes"]
  187. moved = [r for r in ROWS if r["in_ed2"] != "yes"]
  188. modes = {}
  189. for r in ROWS:
  190. if r["in_ed2"] == "yes":
  191. modes.setdefault(r["mode"], []).append(r["name"])
  192. ​
  193. print("rows in ledger:", len(ROWS))
  194. print("case-shaped blocks carried in edition 2:", len(carry))
  195. print("numbered cases the edition does NOT carry:", len(moved))
  196. print()
  197. print("mode tally (edition 2 body only):")
  198. for m in sorted(modes):
  199. print(f" mode {m}: {len(modes[m])}")
  200. print(" modes present:", len(modes))
  201. print()
  202. unnumbered = [r for r in carry if not r["pub_no"]]
  203. print("carried WITHOUT a case number:", len(unnumbered))
  204. for r in unnumbered:
  205. print(" -", r["name"])
  206. print()
  207. rule_yes = [r for r in ROWS if r["rule"] == "yes"]
  208. print("rows where the two-division check applies mechanically:", len(rule_yes),
  209. [r["pub_no"] for r in rule_yes])
  210. print("rows needing no arithmetic (judgment only):",
  211. len([r for r in ROWS if r["rule"] == "no"]))
  212. print()
  213. print("source status:", {s: len([r for r in ROWS if r["status"] == s])
  214. for s in ("sourced", "to_re_source", "non_numeric")})
  215. ​
  216. with open("/workspace/corpus/ledger_v1.json", "w") as f:
  217. json.dump(ROWS, f, indent=1)
  218. ​
  219. if __name__ == "__main__":
  220. main()