Medium corpus v0 (13 372 docs / 371 419 eligible passages) summaries; tokenizer trainer on corpus passages; evidence summaries tracked
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
22 changed files +1,270 −6
modified
.gitignore
+12 −0
@@ -42,3 +42,15 @@ logs/ | ||
| 42 | 42 | .DS_Store |
| 43 | 43 | # demo |
| 44 | 44 | demo/node_modules/ |
| 45 | + | |
| 46 | +# Evidence summaries ARE committed (small JSON) | |
| 47 | +!data/parsed/*/build_summary.json | |
| 48 | +!data/parsed/*/relabel_log.json | |
| 49 | +!data/splits/*/ | |
| 50 | +data/splits/*/splits.jsonl | |
| 51 | +!data/pairs/*/ | |
| 52 | +data/pairs/*/rewrites.jsonl | |
| 53 | +data/pairs/*/plan.jsonl | |
| 54 | +data/pairs/*/validated/pairs.jsonl | |
| 55 | +data/pairs/*/validated/quarantine.jsonl | |
| 56 | +data/pairs/*/batches/ | |
added
data/manifests/discover_books_bookshelf_seed2.json
+89 −0
@@ -0,0 +1,89 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T18:28:01Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "e4eec911d74f1ec613a2572cb35afde77ec2bdcc", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": false | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "script": "discover_books", | |
| 31 | + "args": { | |
| 32 | + "source": "bookshelf", | |
| 33 | + "max_docs": 300, | |
| 34 | + "max_attempts": 450, | |
| 35 | + "seed": 2, | |
| 36 | + "out": "data/raw/books", | |
| 37 | + "codes": "CC0,PUBLIC-DOMAIN,CC-BY,CC-BY-SA,CC-BY-NC,CC-BY-NC-SA", | |
| 38 | + "locc": "Q,R,T,H,G,B,L,Z", | |
| 39 | + "max_mb": 80.0, | |
| 40 | + "pool_only": false, | |
| 41 | + "report": null | |
| 42 | + }, | |
| 43 | + "stats": { | |
| 44 | + "list_rows": 9733, | |
| 45 | + "pre2018_rows": 3941, | |
| 46 | + "attempted": 450, | |
| 47 | + "too_large": 9, | |
| 48 | + "books_kept": 163, | |
| 49 | + "chapters_written": 1351, | |
| 50 | + "license_excluded": 99, | |
| 51 | + "license_unknown": 142, | |
| 52 | + "not_pre2018_xml": 0, | |
| 53 | + "no_body_chapters": 37, | |
| 54 | + "errors": 0, | |
| 55 | + "by_license": { | |
| 56 | + "PUBLIC-DOMAIN": 169, | |
| 57 | + "CC-BY-NC-ND": 98, | |
| 58 | + "CC0": 25, | |
| 59 | + "UNKNOWN": 142, | |
| 60 | + "CC-BY-NC-SA": 1, | |
| 61 | + "CC-BY-ND": 1, | |
| 62 | + "CC-BY-NC": 3, | |
| 63 | + "CC-BY": 2 | |
| 64 | + }, | |
| 65 | + "by_publisher": { | |
| 66 | + "Agency for Healthcare Research and Quality (US)": 109, | |
| 67 | + "Centers for Disease Control and Prevention (US)": 19, | |
| 68 | + "Substance Abuse and Mental Health Services Administration (US)": 10, | |
| 69 | + "Office of the Surgeon General (US)": 2, | |
| 70 | + "Department of Veterans Affairs (US)": 13, | |
| 71 | + "American Epilepsy Society": 1, | |
| 72 | + "National Center for Biotechnology Information (US)": 3, | |
| 73 | + "Springer": 3, | |
| 74 | + "The International Bank for Reconstruction and Development / The World Bank": 1, | |
| 75 | + "National Institute of Environmental Health Sciences": 2 | |
| 76 | + }, | |
| 77 | + "by_era": { | |
| 78 | + "2010-2017": 92, | |
| 79 | + "2000-2009": 57, | |
| 80 | + "1980-1999": 14 | |
| 81 | + }, | |
| 82 | + "ftp": { | |
| 83 | + "requests": 895, | |
| 84 | + "retries": 4, | |
| 85 | + "bytes": 2310287545 | |
| 86 | + }, | |
| 87 | + "elapsed_s": 1822.4 | |
| 88 | + } | |
| 89 | +} | |
added
data/manifests/discover_books_gutenberg_seed2.json
+244 −0
@@ -0,0 +1,244 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T18:38:44Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "e4eec911d74f1ec613a2572cb35afde77ec2bdcc", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "script": "discover_books", | |
| 31 | + "args": { | |
| 32 | + "source": "gutenberg", | |
| 33 | + "max_docs": 500, | |
| 34 | + "max_attempts": 700, | |
| 35 | + "seed": 2, | |
| 36 | + "out": "data/raw/books", | |
| 37 | + "codes": "CC0,PUBLIC-DOMAIN,CC-BY,CC-BY-SA,CC-BY-NC,CC-BY-NC-SA", | |
| 38 | + "locc": "Q,R,T,H,G,B,L,Z", | |
| 39 | + "max_mb": 25.0, | |
| 40 | + "pool_only": false, | |
| 41 | + "report": null | |
| 42 | + }, | |
| 43 | + "stats": { | |
| 44 | + "catalog_rows": 79769, | |
| 45 | + "candidates": 7799, | |
| 46 | + "attempted": 517, | |
| 47 | + "downloaded": 500, | |
| 48 | + "already_present": 0, | |
| 49 | + "not_found": 5, | |
| 50 | + "too_large": 3, | |
| 51 | + "copyrighted_header": 9, | |
| 52 | + "no_pd_header": 0, | |
| 53 | + "no_date": 60, | |
| 54 | + "date_from_frontmatter": 370, | |
| 55 | + "date_from_death_year": 70, | |
| 56 | + "errors": 0, | |
| 57 | + "by_locc": { | |
| 58 | + "RC": 23, | |
| 59 | + "LT": 2, | |
| 60 | + "QH": 11, | |
| 61 | + "GT": 17, | |
| 62 | + "HV": 13, | |
| 63 | + "TD": 3, | |
| 64 | + "BF": 26, | |
| 65 | + "RS": 1, | |
| 66 | + "LB": 28, | |
| 67 | + "QA": 1, | |
| 68 | + "GN": 11, | |
| 69 | + "HS": 1, | |
| 70 | + "TN": 3, | |
| 71 | + "Z": 62, | |
| 72 | + "QL": 13, | |
| 73 | + "G": 32, | |
| 74 | + "HX": 3, | |
| 75 | + "TA": 3, | |
| 76 | + "BJ": 14, | |
| 77 | + "LD": 4, | |
| 78 | + "TL": 6, | |
| 79 | + "B": 19, | |
| 80 | + "RZ": 2, | |
| 81 | + "LA": 12, | |
| 82 | + "QR": 1, | |
| 83 | + "HD": 4, | |
| 84 | + "TS": 3, | |
| 85 | + "GC": 1, | |
| 86 | + "HN": 3, | |
| 87 | + "T": 16, | |
| 88 | + "RM": 8, | |
| 89 | + "QK": 5, | |
| 90 | + "HE": 7, | |
| 91 | + "R": 12, | |
| 92 | + "QE": 6, | |
| 93 | + "H": 2, | |
| 94 | + "Q": 11, | |
| 95 | + "RA": 12, | |
| 96 | + "HQ": 13, | |
| 97 | + "TJ": 4, | |
| 98 | + "HF": 3, | |
| 99 | + "TT": 9, | |
| 100 | + "HM": 1, | |
| 101 | + "TC": 1, | |
| 102 | + "QP": 4, | |
| 103 | + "HT": 2, | |
| 104 | + "QC": 3, | |
| 105 | + "HG": 4, | |
| 106 | + "RG": 4, | |
| 107 | + "TP": 5, | |
| 108 | + "LF": 4, | |
| 109 | + "HB": 2, | |
| 110 | + "LC": 14, | |
| 111 | + "TH": 2, | |
| 112 | + "QB": 4, | |
| 113 | + "HC": 2, | |
| 114 | + "RJ": 2, | |
| 115 | + "TK": 4, | |
| 116 | + "BD": 3, | |
| 117 | + "HJ": 1, | |
| 118 | + "RD": 1, | |
| 119 | + "BC": 1, | |
| 120 | + "QD": 1, | |
| 121 | + "TF": 1, | |
| 122 | + "LH": 1, | |
| 123 | + "HA": 1, | |
| 124 | + "QM": 1, | |
| 125 | + "GB": 1 | |
| 126 | + }, | |
| 127 | + "by_era": { | |
| 128 | + "pre1900": 178, | |
| 129 | + "1950-1979": 20, | |
| 130 | + "1900-1949": 236, | |
| 131 | + "unknown": 60, | |
| 132 | + "1980-1999": 2, | |
| 133 | + "2000-2009": 4 | |
| 134 | + }, | |
| 135 | + "by_date_rule": { | |
| 136 | + "frontmatter:imprint": 164, | |
| 137 | + "frontmatter:copyright": 140, | |
| 138 | + "death_year": 70, | |
| 139 | + "frontmatter:published": 41, | |
| 140 | + "none": 60, | |
| 141 | + "frontmatter:roman": 25 | |
| 142 | + }, | |
| 143 | + "pool_by_class": { | |
| 144 | + "QH": 543, | |
| 145 | + "QL": 491, | |
| 146 | + "Z": 490, | |
| 147 | + "BF": 372, | |
| 148 | + "HV": 356, | |
| 149 | + "B": 344, | |
| 150 | + "HQ": 341, | |
| 151 | + "G": 256, | |
| 152 | + "BJ": 234, | |
| 153 | + "Q": 202, | |
| 154 | + "HD": 190, | |
| 155 | + "RC": 190, | |
| 156 | + "QC": 182, | |
| 157 | + "QK": 180, | |
| 158 | + "T": 167, | |
| 159 | + "TT": 164, | |
| 160 | + "QE": 161, | |
| 161 | + "HE": 156, | |
| 162 | + "QB": 139, | |
| 163 | + "LB": 132, | |
| 164 | + "TS": 130, | |
| 165 | + "QA": 120, | |
| 166 | + "RA": 112, | |
| 167 | + "HX": 99, | |
| 168 | + "GN": 99, | |
| 169 | + "TL": 96, | |
| 170 | + "TK": 89, | |
| 171 | + "HF": 87, | |
| 172 | + "RM": 84, | |
| 173 | + "HB": 81, | |
| 174 | + "GT": 81, | |
| 175 | + "TP": 80, | |
| 176 | + "QD": 78, | |
| 177 | + "R": 77, | |
| 178 | + "HG": 76, | |
| 179 | + "TJ": 63, | |
| 180 | + "HN": 62, | |
| 181 | + "QP": 61, | |
| 182 | + "HT": 55, | |
| 183 | + "LC": 55, | |
| 184 | + "TA": 50, | |
| 185 | + "LA": 48, | |
| 186 | + "HM": 47, | |
| 187 | + "HC": 43, | |
| 188 | + "TN": 42, | |
| 189 | + "TH": 38, | |
| 190 | + "TR": 37, | |
| 191 | + "RD": 34, | |
| 192 | + "LF": 33, | |
| 193 | + "BD": 33, | |
| 194 | + "RG": 32, | |
| 195 | + "TC": 32, | |
| 196 | + "TF": 27, | |
| 197 | + "HS": 26, | |
| 198 | + "TD": 25, | |
| 199 | + "BC": 24, | |
| 200 | + "GB": 19, | |
| 201 | + "LD": 16, | |
| 202 | + "RJ": 16, | |
| 203 | + "H": 16, | |
| 204 | + "RS": 16, | |
| 205 | + "QR": 15, | |
| 206 | + "HJ": 14, | |
| 207 | + "QM": 14, | |
| 208 | + "RT": 11, | |
| 209 | + "RE": 11, | |
| 210 | + "GA": 10, | |
| 211 | + "BH": 9, | |
| 212 | + "RZ": 8, | |
| 213 | + "RK": 8, | |
| 214 | + "RX": 7, | |
| 215 | + "RB": 7, | |
| 216 | + "LT": 7, | |
| 217 | + "GC": 6, | |
| 218 | + "TE": 6, | |
| 219 | + "LH": 6, | |
| 220 | + "GF": 5, | |
| 221 | + "GR": 5, | |
| 222 | + "TG": 5, | |
| 223 | + "HA": 4, | |
| 224 | + "L": 4, | |
| 225 | + "RL": 3, | |
| 226 | + "RF": 3, | |
| 227 | + "RV": 1, | |
| 228 | + "LE": 1 | |
| 229 | + }, | |
| 230 | + "catalog": { | |
| 231 | + "url": "https://www.gutenberg.org/cache/epub/feeds/pg_catalog.csv", | |
| 232 | + "path": "data/raw/books/_catalog/pg_catalog.csv", | |
| 233 | + "cached": true, | |
| 234 | + "sha256": "8c06ec1c46751dc184b640b8a8ed5842c873ae3b621d575f8e76837f12f33eb6", | |
| 235 | + "retrieved_or_cached_at": "2026-11-09T17:57:39Z" | |
| 236 | + }, | |
| 237 | + "http": { | |
| 238 | + "requests": 527, | |
| 239 | + "retries": 0, | |
| 240 | + "bytes": 284820446 | |
| 241 | + }, | |
| 242 | + "elapsed_s": 2465.3 | |
| 243 | + } | |
| 244 | +} | |
added
data/pairs/mock_smoke/ledger.json
+11 −0
@@ -0,0 +1,11 @@ | ||
| 1 | +{ | |
| 2 | + "spent_usd": 0.0, | |
| 3 | + "n_ok": 360, | |
| 4 | + "n_error": 0, | |
| 5 | + "n_refused": 0, | |
| 6 | + "n_truncated": 0, | |
| 7 | + "n_empty": 0, | |
| 8 | + "batches": [], | |
| 9 | + "created_at": "2026-11-09T17:12:45Z", | |
| 10 | + "updated_at": "2026-11-09T17:12:47Z" | |
| 11 | +} | |
added
data/pairs/mock_smoke/manifest.json
+57 −0
@@ -0,0 +1,57 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:12:45Z", | |
| 3 | + "git": { | |
| 4 | + "commit": null, | |
| 5 | + "branch": null, | |
| 6 | + "dirty": false | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "job": "rewrite", | |
| 31 | + "provider": "mock", | |
| 32 | + "model": "mock-rewriter-1", | |
| 33 | + "prompt_version": "rw-1.0", | |
| 34 | + "prompt_fingerprint": "8af5d0bf61cfb0f6", | |
| 35 | + "budget_usd": 30.0, | |
| 36 | + "batch": false, | |
| 37 | + "corpus": "data/parsed/smoke", | |
| 38 | + "n_passages": 60, | |
| 39 | + "variants": [ | |
| 40 | + "A", | |
| 41 | + "B", | |
| 42 | + "C", | |
| 43 | + "D", | |
| 44 | + "E" | |
| 45 | + ], | |
| 46 | + "selection_seed": 1, | |
| 47 | + "estimate": { | |
| 48 | + "pending_requests": 360, | |
| 49 | + "done": 0, | |
| 50 | + "est_input_tokens": 179232, | |
| 51 | + "est_output_tokens": 94260, | |
| 52 | + "est_cost_usd": null, | |
| 53 | + "budget_usd": 30.0, | |
| 54 | + "spent_usd": 0.0 | |
| 55 | + }, | |
| 56 | + "live": false | |
| 57 | +} | |
added
data/pairs/mock_smoke/validated/validation_summary.json
+79 −0
@@ -0,0 +1,79 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:12:55Z", | |
| 3 | + "git": { | |
| 4 | + "commit": null, | |
| 5 | + "branch": null, | |
| 6 | + "dirty": false | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "validator_version": "val-1.0", | |
| 31 | + "config": { | |
| 32 | + "min_len_ratio": 0.5, | |
| 33 | + "max_len_ratio": 1.8, | |
| 34 | + "concise_min_len_ratio": 0.4, | |
| 35 | + "max_norm_edit_similarity": 0.95, | |
| 36 | + "min_norm_edit_similarity": 0.05, | |
| 37 | + "min_semantic_sim": 0.7, | |
| 38 | + "max_negation_delta": 2, | |
| 39 | + "max_hedge_delta": 4, | |
| 40 | + "require_language": "en", | |
| 41 | + "entity_min_recall": 0.6, | |
| 42 | + "use_embeddings": true | |
| 43 | + }, | |
| 44 | + "stats": { | |
| 45 | + "rewrites": 360, | |
| 46 | + "status": { | |
| 47 | + "ok": 360 | |
| 48 | + }, | |
| 49 | + "validated": 360, | |
| 50 | + "passed": 285, | |
| 51 | + "quarantined": 75, | |
| 52 | + "by_variant": { | |
| 53 | + "A": { | |
| 54 | + "n": 60, | |
| 55 | + "passed": 46 | |
| 56 | + }, | |
| 57 | + "E": { | |
| 58 | + "n": 120, | |
| 59 | + "passed": 102 | |
| 60 | + }, | |
| 61 | + "B": { | |
| 62 | + "n": 60, | |
| 63 | + "passed": 52 | |
| 64 | + }, | |
| 65 | + "C": { | |
| 66 | + "n": 60, | |
| 67 | + "passed": 43 | |
| 68 | + }, | |
| 69 | + "D": { | |
| 70 | + "n": 60, | |
| 71 | + "passed": 42 | |
| 72 | + } | |
| 73 | + }, | |
| 74 | + "fail_reasons": { | |
| 75 | + "near-verbatim": 75 | |
| 76 | + }, | |
| 77 | + "acceptance_rate": 0.7917 | |
| 78 | + } | |
| 79 | +} | |
added
data/pairs/pilot_heldout_models/ledger.json
+15 −0
@@ -0,0 +1,15 @@ | ||
| 1 | +{ | |
| 2 | + "spent_usd": 1.428675, | |
| 3 | + "n_ok": 600, | |
| 4 | + "n_error": 0, | |
| 5 | + "n_refused": 0, | |
| 6 | + "n_truncated": 0, | |
| 7 | + "n_empty": 0, | |
| 8 | + "batches": [ | |
| 9 | + "msgbatch_01V4FduEDL26WRNLQEV3RHMP", | |
| 10 | + "msgbatch_01SWH3HaFBNZPCkKaQW3fwpQ" | |
| 11 | + ], | |
| 12 | + "created_at": "2026-11-09T17:43:49Z", | |
| 13 | + "submitted_est_usd": 0.6, | |
| 14 | + "updated_at": "2026-11-09T17:50:52Z" | |
| 15 | +} | |
added
data/pairs/pilot_heldout_models/manifest.json
+54 −0
@@ -0,0 +1,54 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:50:49Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "b4b5fe4f40513d0672831db36c7d4a1a58527cae", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "job": "rewrite", | |
| 31 | + "provider": "anthropic", | |
| 32 | + "model": "claude-sonnet-5-5", | |
| 33 | + "prompt_version": "rw-1.0", | |
| 34 | + "prompt_fingerprint": "8af5d0bf61cfb0f6", | |
| 35 | + "budget_usd": 30.0, | |
| 36 | + "batch": true, | |
| 37 | + "corpus": "data/parsed/pilot_pmc", | |
| 38 | + "n_passages": 150, | |
| 39 | + "variants": [ | |
| 40 | + "A", | |
| 41 | + "B" | |
| 42 | + ], | |
| 43 | + "selection_seed": 1, | |
| 44 | + "estimate": { | |
| 45 | + "pending_requests": 300, | |
| 46 | + "done": 0, | |
| 47 | + "est_input_tokens": 153430, | |
| 48 | + "est_output_tokens": 83198, | |
| 49 | + "est_cost_usd": 0.57, | |
| 50 | + "budget_usd": 30.0, | |
| 51 | + "spent_usd": 0.0 | |
| 52 | + }, | |
| 53 | + "live": true | |
| 54 | +} | |
added
data/pairs/pilot_heldout_models/validated/validation_summary.json
+74 −0
@@ -0,0 +1,74 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:51:06Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "b4b5fe4f40513d0672831db36c7d4a1a58527cae", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "validator_version": "val-1.0", | |
| 31 | + "config": { | |
| 32 | + "min_len_ratio": 0.5, | |
| 33 | + "max_len_ratio": 1.8, | |
| 34 | + "concise_min_len_ratio": 0.4, | |
| 35 | + "max_norm_edit_similarity": 0.95, | |
| 36 | + "min_norm_edit_similarity": 0.05, | |
| 37 | + "min_semantic_sim": 0.7, | |
| 38 | + "max_negation_delta": 2, | |
| 39 | + "max_hedge_delta": 4, | |
| 40 | + "require_language": "en", | |
| 41 | + "entity_min_recall": 0.6, | |
| 42 | + "use_embeddings": true | |
| 43 | + }, | |
| 44 | + "stats": { | |
| 45 | + "rewrites": 600, | |
| 46 | + "status": { | |
| 47 | + "ok": 600 | |
| 48 | + }, | |
| 49 | + "validated": 600, | |
| 50 | + "passed": 531, | |
| 51 | + "quarantined": 69, | |
| 52 | + "by_variant": { | |
| 53 | + "A": { | |
| 54 | + "n": 300, | |
| 55 | + "passed": 267 | |
| 56 | + }, | |
| 57 | + "B": { | |
| 58 | + "n": 300, | |
| 59 | + "passed": 264 | |
| 60 | + } | |
| 61 | + }, | |
| 62 | + "fail_reasons": { | |
| 63 | + "numbers missing=1": 37, | |
| 64 | + "entity recall": 7, | |
| 65 | + "numbers missing=2": 14, | |
| 66 | + "numbers missing=3": 7, | |
| 67 | + "formatting": 4, | |
| 68 | + "numbers missing=4": 1, | |
| 69 | + "near-verbatim": 1, | |
| 70 | + "numbers missing=7": 1 | |
| 71 | + }, | |
| 72 | + "acceptance_rate": 0.885 | |
| 73 | + } | |
| 74 | +} | |
added
data/pairs/pilot_heldout_prompts/ledger.json
+14 −0
@@ -0,0 +1,14 @@ | ||
| 1 | +{ | |
| 2 | + "spent_usd": 1.39825, | |
| 3 | + "n_ok": 297, | |
| 4 | + "n_error": 0, | |
| 5 | + "n_refused": 3, | |
| 6 | + "n_truncated": 0, | |
| 7 | + "n_empty": 0, | |
| 8 | + "batches": [ | |
| 9 | + "msgbatch_01L5QkwBhyFtAydvR2X8g394" | |
| 10 | + ], | |
| 11 | + "created_at": "2026-11-09T17:43:55Z", | |
| 12 | + "submitted_est_usd": 1.14, | |
| 13 | + "updated_at": "2026-11-09T17:50:55Z" | |
| 14 | +} | |
added
data/pairs/pilot_heldout_prompts/manifest.json
+54 −0
@@ -0,0 +1,54 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:50:53Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "b4b5fe4f40513d0672831db36c7d4a1a58527cae", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "job": "rewrite", | |
| 31 | + "provider": "anthropic", | |
| 32 | + "model": "claude-opus-5-5", | |
| 33 | + "prompt_version": "rw-1.0", | |
| 34 | + "prompt_fingerprint": "8af5d0bf61cfb0f6", | |
| 35 | + "budget_usd": 30.0, | |
| 36 | + "batch": true, | |
| 37 | + "corpus": "data/parsed/pilot_pmc", | |
| 38 | + "n_passages": 150, | |
| 39 | + "variants": [ | |
| 40 | + "H1", | |
| 41 | + "H2" | |
| 42 | + ], | |
| 43 | + "selection_seed": 1, | |
| 44 | + "estimate": { | |
| 45 | + "pending_requests": 300, | |
| 46 | + "done": 0, | |
| 47 | + "est_input_tokens": 153430, | |
| 48 | + "est_output_tokens": 83198, | |
| 49 | + "est_cost_usd": 1.14, | |
| 50 | + "budget_usd": 30.0, | |
| 51 | + "spent_usd": 0.0 | |
| 52 | + }, | |
| 53 | + "live": true | |
| 54 | +} | |
added
data/pairs/pilot_heldout_prompts/validated/validation_summary.json
+75 −0
@@ -0,0 +1,75 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:51:14Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "b4b5fe4f40513d0672831db36c7d4a1a58527cae", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "validator_version": "val-1.0", | |
| 31 | + "config": { | |
| 32 | + "min_len_ratio": 0.5, | |
| 33 | + "max_len_ratio": 1.8, | |
| 34 | + "concise_min_len_ratio": 0.4, | |
| 35 | + "max_norm_edit_similarity": 0.95, | |
| 36 | + "min_norm_edit_similarity": 0.05, | |
| 37 | + "min_semantic_sim": 0.7, | |
| 38 | + "max_negation_delta": 2, | |
| 39 | + "max_hedge_delta": 4, | |
| 40 | + "require_language": "en", | |
| 41 | + "entity_min_recall": 0.6, | |
| 42 | + "use_embeddings": true | |
| 43 | + }, | |
| 44 | + "stats": { | |
| 45 | + "rewrites": 300, | |
| 46 | + "status": { | |
| 47 | + "ok": 297, | |
| 48 | + "refused": 3 | |
| 49 | + }, | |
| 50 | + "validated": 300, | |
| 51 | + "passed": 266, | |
| 52 | + "quarantined": 34, | |
| 53 | + "by_variant": { | |
| 54 | + "H2": { | |
| 55 | + "n": 150, | |
| 56 | + "passed": 138 | |
| 57 | + }, | |
| 58 | + "H1": { | |
| 59 | + "n": 150, | |
| 60 | + "passed": 128 | |
| 61 | + } | |
| 62 | + }, | |
| 63 | + "fail_reasons": { | |
| 64 | + "numbers missing=1": 20, | |
| 65 | + "numbers missing=2": 6, | |
| 66 | + "entity recall": 2, | |
| 67 | + "status:refused": 3, | |
| 68 | + "formatting": 1, | |
| 69 | + "placeholders missing=0": 1, | |
| 70 | + "numbers missing=0": 1, | |
| 71 | + "numbers missing=3": 2 | |
| 72 | + }, | |
| 73 | + "acceptance_rate": 0.8867 | |
| 74 | + } | |
| 75 | +} | |
added
data/pairs/pilot_opus/ledger.json
+19 −0
@@ -0,0 +1,19 @@ | ||
| 1 | +{ | |
| 2 | + "spent_usd": 26.85241, | |
| 3 | + "n_ok": 5801, | |
| 4 | + "n_error": 0, | |
| 5 | + "n_refused": 43, | |
| 6 | + "n_truncated": 0, | |
| 7 | + "n_empty": 0, | |
| 8 | + "batches": [ | |
| 9 | + "msgbatch_01T8HKLMfnEWKK3JQUuWxunJ", | |
| 10 | + "msgbatch_01RMbxWJDx3NR88JcszbMADz", | |
| 11 | + "msgbatch_01Kvfx7j5b1VY1A5R1h9VGQj", | |
| 12 | + "msgbatch_014HKsCPuhepp7L2tprFi1tP", | |
| 13 | + "msgbatch_017Vob4KLjX8KgTVAc4zsYL8", | |
| 14 | + "msgbatch_01BwPVvZYm87hxjZFBH1iUws", | |
| 15 | + "msgbatch_013mYehGZpAYvaqfJTXaYkmc" | |
| 16 | + ], | |
| 17 | + "created_at": "2026-11-09T17:25:34Z", | |
| 18 | + "updated_at": "2026-11-09T17:41:05Z" | |
| 19 | +} | |
added
data/pairs/pilot_opus/manifest.json
+57 −0
@@ -0,0 +1,57 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:41:01Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "43899c8924172a93eb7fdb44567c22c0c6bb1e47", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "job": "rewrite", | |
| 31 | + "provider": "anthropic", | |
| 32 | + "model": "claude-opus-5-5", | |
| 33 | + "prompt_version": "rw-1.0", | |
| 34 | + "prompt_fingerprint": "8af5d0bf61cfb0f6", | |
| 35 | + "budget_usd": 30.0, | |
| 36 | + "batch": true, | |
| 37 | + "corpus": "data/parsed/pilot_pmc", | |
| 38 | + "n_passages": 700, | |
| 39 | + "variants": [ | |
| 40 | + "A", | |
| 41 | + "B", | |
| 42 | + "C", | |
| 43 | + "D", | |
| 44 | + "E" | |
| 45 | + ], | |
| 46 | + "selection_seed": 1, | |
| 47 | + "estimate": { | |
| 48 | + "pending_requests": 0, | |
| 49 | + "done": 4224, | |
| 50 | + "est_input_tokens": 0, | |
| 51 | + "est_output_tokens": 0, | |
| 52 | + "est_cost_usd": 0.0, | |
| 53 | + "budget_usd": 30.0, | |
| 54 | + "spent_usd": 18.89748 | |
| 55 | + }, | |
| 56 | + "live": true | |
| 57 | +} | |
added
data/pairs/pilot_opus/validated/validation_summary.json
+92 −0
@@ -0,0 +1,92 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:52:34Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "b4b5fe4f40513d0672831db36c7d4a1a58527cae", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "validator_version": "val-1.0", | |
| 31 | + "config": { | |
| 32 | + "min_len_ratio": 0.5, | |
| 33 | + "max_len_ratio": 1.8, | |
| 34 | + "concise_min_len_ratio": 0.4, | |
| 35 | + "max_norm_edit_similarity": 0.95, | |
| 36 | + "min_norm_edit_similarity": 0.05, | |
| 37 | + "min_semantic_sim": 0.7, | |
| 38 | + "max_negation_delta": 2, | |
| 39 | + "max_hedge_delta": 4, | |
| 40 | + "require_language": "en", | |
| 41 | + "entity_min_recall": 0.6, | |
| 42 | + "use_embeddings": true | |
| 43 | + }, | |
| 44 | + "stats": { | |
| 45 | + "rewrites": 5844, | |
| 46 | + "status": { | |
| 47 | + "ok": 5801, | |
| 48 | + "refused": 43 | |
| 49 | + }, | |
| 50 | + "validated": 5844, | |
| 51 | + "passed": 5383, | |
| 52 | + "quarantined": 461, | |
| 53 | + "by_variant": { | |
| 54 | + "B": { | |
| 55 | + "n": 974, | |
| 56 | + "passed": 884 | |
| 57 | + }, | |
| 58 | + "E": { | |
| 59 | + "n": 1948, | |
| 60 | + "passed": 1804 | |
| 61 | + }, | |
| 62 | + "C": { | |
| 63 | + "n": 974, | |
| 64 | + "passed": 894 | |
| 65 | + }, | |
| 66 | + "A": { | |
| 67 | + "n": 974, | |
| 68 | + "passed": 896 | |
| 69 | + }, | |
| 70 | + "D": { | |
| 71 | + "n": 974, | |
| 72 | + "passed": 905 | |
| 73 | + } | |
| 74 | + }, | |
| 75 | + "fail_reasons": { | |
| 76 | + "numbers missing=1": 265, | |
| 77 | + "entity recall": 39, | |
| 78 | + "numbers missing=2": 48, | |
| 79 | + "numbers missing=0": 31, | |
| 80 | + "negation": 11, | |
| 81 | + "status:refused": 43, | |
| 82 | + "sentence count": 3, | |
| 83 | + "formatting": 21, | |
| 84 | + "numbers missing=6": 1, | |
| 85 | + "numbers missing=3": 4, | |
| 86 | + "numbers missing=4": 1, | |
| 87 | + "hedge": 1, | |
| 88 | + "numbers missing=5": 1 | |
| 89 | + }, | |
| 90 | + "acceptance_rate": 0.9211 | |
| 91 | + } | |
| 92 | +} | |
added
data/pairs/vs_smoke/ledger.json
+11 −0
@@ -0,0 +1,11 @@ | ||
| 1 | +{ | |
| 2 | + "spent_usd": 0.0, | |
| 3 | + "n_ok": 720, | |
| 4 | + "n_error": 0, | |
| 5 | + "n_refused": 0, | |
| 6 | + "n_truncated": 0, | |
| 7 | + "n_empty": 0, | |
| 8 | + "batches": [], | |
| 9 | + "created_at": "2026-11-09T17:23:03Z", | |
| 10 | + "updated_at": "2026-11-09T17:23:06Z" | |
| 11 | +} | |
added
data/pairs/vs_smoke/manifest.json
+57 −0
@@ -0,0 +1,57 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:23:03Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "43899c8924172a93eb7fdb44567c22c0c6bb1e47", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "job": "rewrite", | |
| 31 | + "provider": "mock", | |
| 32 | + "model": "mock-rewriter-1", | |
| 33 | + "prompt_version": "rw-1.0", | |
| 34 | + "prompt_fingerprint": "8af5d0bf61cfb0f6", | |
| 35 | + "budget_usd": 30.0, | |
| 36 | + "batch": false, | |
| 37 | + "corpus": "data/parsed/smoke", | |
| 38 | + "n_passages": 120, | |
| 39 | + "variants": [ | |
| 40 | + "A", | |
| 41 | + "B", | |
| 42 | + "C", | |
| 43 | + "D", | |
| 44 | + "E" | |
| 45 | + ], | |
| 46 | + "selection_seed": 1, | |
| 47 | + "estimate": { | |
| 48 | + "pending_requests": 720, | |
| 49 | + "done": 0, | |
| 50 | + "est_input_tokens": 354066, | |
| 51 | + "est_output_tokens": 183744, | |
| 52 | + "est_cost_usd": null, | |
| 53 | + "budget_usd": 30.0, | |
| 54 | + "spent_usd": 0.0 | |
| 55 | + }, | |
| 56 | + "live": false | |
| 57 | +} | |
added
data/pairs/vs_smoke/validated/validation_summary.json
+79 −0
@@ -0,0 +1,79 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:23:07Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "43899c8924172a93eb7fdb44567c22c0c6bb1e47", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "validator_version": "val-1.0", | |
| 31 | + "config": { | |
| 32 | + "min_len_ratio": 0.5, | |
| 33 | + "max_len_ratio": 1.8, | |
| 34 | + "concise_min_len_ratio": 0.4, | |
| 35 | + "max_norm_edit_similarity": 0.95, | |
| 36 | + "min_norm_edit_similarity": 0.05, | |
| 37 | + "min_semantic_sim": 0.7, | |
| 38 | + "max_negation_delta": 2, | |
| 39 | + "max_hedge_delta": 4, | |
| 40 | + "require_language": "en", | |
| 41 | + "entity_min_recall": 0.6, | |
| 42 | + "use_embeddings": false | |
| 43 | + }, | |
| 44 | + "stats": { | |
| 45 | + "rewrites": 720, | |
| 46 | + "status": { | |
| 47 | + "ok": 720 | |
| 48 | + }, | |
| 49 | + "validated": 720, | |
| 50 | + "passed": 557, | |
| 51 | + "quarantined": 163, | |
| 52 | + "by_variant": { | |
| 53 | + "A": { | |
| 54 | + "n": 120, | |
| 55 | + "passed": 106 | |
| 56 | + }, | |
| 57 | + "E": { | |
| 58 | + "n": 240, | |
| 59 | + "passed": 196 | |
| 60 | + }, | |
| 61 | + "B": { | |
| 62 | + "n": 120, | |
| 63 | + "passed": 95 | |
| 64 | + }, | |
| 65 | + "C": { | |
| 66 | + "n": 120, | |
| 67 | + "passed": 81 | |
| 68 | + }, | |
| 69 | + "D": { | |
| 70 | + "n": 120, | |
| 71 | + "passed": 79 | |
| 72 | + } | |
| 73 | + }, | |
| 74 | + "fail_reasons": { | |
| 75 | + "near-verbatim": 163 | |
| 76 | + }, | |
| 77 | + "acceptance_rate": 0.7736 | |
| 78 | + } | |
| 79 | +} | |
added
data/splits/medium_v0/splits_summary.json
+54 −0
@@ -0,0 +1,54 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T18:42:28Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "e4eec911d74f1ec613a2572cb35afde77ec2bdcc", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "config": { | |
| 31 | + "seed": 20261109, | |
| 32 | + "train": 0.8, | |
| 33 | + "val": 0.1, | |
| 34 | + "test": 0.1, | |
| 35 | + "heldout_disciplines": [ | |
| 36 | + "physics", | |
| 37 | + "earth_sciences" | |
| 38 | + ], | |
| 39 | + "heldout_before_year": 1900, | |
| 40 | + "author_safe": true, | |
| 41 | + "venue_safe": false | |
| 42 | + }, | |
| 43 | + "summary": { | |
| 44 | + "heldout_domain": 257, | |
| 45 | + "heldout_period": 472, | |
| 46 | + "quarantine": 19, | |
| 47 | + "test": 1166, | |
| 48 | + "train": 10268, | |
| 49 | + "val": 1190 | |
| 50 | + }, | |
| 51 | + "n_docs": 13372, | |
| 52 | + "group_leaks": [], | |
| 53 | + "n_fixed": 1180 | |
| 54 | +} | |
added
data/splits/pilot_pmc/splits_summary.json
+52 −0
@@ -0,0 +1,52 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:24:36Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "43899c8924172a93eb7fdb44567c22c0c6bb1e47", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "config": { | |
| 31 | + "seed": 20261109, | |
| 32 | + "train": 0.8, | |
| 33 | + "val": 0.1, | |
| 34 | + "test": 0.1, | |
| 35 | + "heldout_disciplines": [ | |
| 36 | + "chemistry" | |
| 37 | + ], | |
| 38 | + "heldout_before_year": 1950, | |
| 39 | + "author_safe": true, | |
| 40 | + "venue_safe": false | |
| 41 | + }, | |
| 42 | + "summary": { | |
| 43 | + "heldout_domain": 47, | |
| 44 | + "heldout_period": 79, | |
| 45 | + "test": 100, | |
| 46 | + "train": 856, | |
| 47 | + "val": 98 | |
| 48 | + }, | |
| 49 | + "n_docs": 1180, | |
| 50 | + "group_leaks": [], | |
| 51 | + "n_fixed": 0 | |
| 52 | +} | |
added
data/splits/smoke/splits_summary.json
+51 −0
@@ -0,0 +1,51 @@ | ||
| 1 | +{ | |
| 2 | + "created_at": "2026-11-09T17:23:02Z", | |
| 3 | + "git": { | |
| 4 | + "commit": "43899c8924172a93eb7fdb44567c22c0c6bb1e47", | |
| 5 | + "branch": "main", | |
| 6 | + "dirty": true | |
| 7 | + }, | |
| 8 | + "libraries": { | |
| 9 | + "python": "3.14.4", | |
| 10 | + "torch": "2.12.0", | |
| 11 | + "numpy": "2.5.4", | |
| 12 | + "anthropic": "2.3.0", | |
| 13 | + "transformers": "5.8.1", | |
| 14 | + "sentencepiece": "0.2.2", | |
| 15 | + "lxml": "6.1.3", | |
| 16 | + "pyarrow": "24.0.0", | |
| 17 | + "sacrebleu": "2.6.0", | |
| 18 | + "datasketch": "2.0.0", | |
| 19 | + "rapidfuzz": "3.14.6" | |
| 20 | + }, | |
| 21 | + "hardware": { | |
| 22 | + "platform": "macOS-27.0-arm64-arm-64bit-Mach-O", | |
| 23 | + "machine": "arm64", | |
| 24 | + "cpu_count": 18, | |
| 25 | + "chip": "Apple M5 Max", | |
| 26 | + "ram_gb": 48.0, | |
| 27 | + "torch_mps": true, | |
| 28 | + "torch_cuda": false | |
| 29 | + }, | |
| 30 | + "config": { | |
| 31 | + "seed": 20261109, | |
| 32 | + "train": 0.8, | |
| 33 | + "val": 0.1, | |
| 34 | + "test": 0.1, | |
| 35 | + "heldout_disciplines": [ | |
| 36 | + "physics" | |
| 37 | + ], | |
| 38 | + "heldout_before_year": 1990, | |
| 39 | + "author_safe": true, | |
| 40 | + "venue_safe": false | |
| 41 | + }, | |
| 42 | + "summary": { | |
| 43 | + "heldout_domain": 1, | |
| 44 | + "heldout_period": 12, | |
| 45 | + "test": 12, | |
| 46 | + "train": 69, | |
| 47 | + "val": 6 | |
| 48 | + }, | |
| 49 | + "n_docs": 100, | |
| 50 | + "group_leaks": [] | |
| 51 | +} | |
modified
scripts/train_tokenizer.py
+20 −6
@@ -15,23 +15,37 @@ from htr.utils.provenance import run_header # noqa: E402 | ||
| 15 | 15 | |
| 16 | 16 | def main() -> None: |
| 17 | 17 | ap = argparse.ArgumentParser() |
| 18 | − ap.add_argument("--pairs", required=True) | |
| 18 | + ap.add_argument("--pairs", default=None, help="pairs.jsonl (originals + rewrites of the train split)") | |
| 19 | + ap.add_argument("--corpus", default=None, help="parsed corpus dir: eligible train-split passages in placeholder form") | |
| 19 | 20 | ap.add_argument("--splits", required=True) |
| 20 | 21 | ap.add_argument("--out", required=True) |
| 21 | 22 | ap.add_argument("--vocab", type=int, default=32000) |
| 22 | 23 | ap.add_argument("--model-type", default="unigram") |
| 24 | + ap.add_argument("--max-lines", type=int, default=600000) | |
| 23 | 25 | a = ap.parse_args() |
| 26 | + if not (a.pairs or a.corpus): | |
| 27 | + ap.error("--pairs or --corpus required") | |
| 24 | 28 | train_docs = {s["doc_id"] for s in read_jsonl(a.splits) if s["split"] == "train"} |
| 25 | 29 | out = Path(a.out) |
| 26 | 30 | out.mkdir(parents=True, exist_ok=True) |
| 27 | 31 | txt = out / "tokenizer_train_text.txt" |
| 28 | 32 | n = 0 |
| 29 | 33 | with open(txt, "w", encoding="utf-8") as f: |
| 30 | − for p in read_jsonl(a.pairs): | |
| 31 | − if p["doc_id"] in train_docs: | |
| 32 | − f.write(p["target_text"].replace("\n", " ") + "\n") | |
| 33 | − f.write(p["source_text"].replace("\n", " ") + "\n") | |
| 34 | − n += 2 | |
| 34 | + if a.pairs: | |
| 35 | + for p in read_jsonl(a.pairs): | |
| 36 | + if p["doc_id"] in train_docs: | |
| 37 | + f.write(p["target_text"].replace("\n", " ") + "\n") | |
| 38 | + f.write(p["source_text"].replace("\n", " ") + "\n") | |
| 39 | + n += 2 | |
| 40 | + if a.corpus: | |
| 41 | + from htr.parse.protect import protect | |
| 42 | + | |
| 43 | + for p in read_jsonl(Path(a.corpus) / "passages.jsonl"): | |
| 44 | + if p["eligible"] and p["doc_id"] in train_docs: | |
| 45 | + f.write(protect(p["text"]).text.replace("\n", " ") + "\n") | |
| 46 | + n += 1 | |
| 47 | + if n >= a.max_lines: | |
| 48 | + break | |
| 35 | 49 | vocab = a.vocab |
| 36 | 50 | if n < 5000: |
| 37 | 51 | vocab = min(vocab, 8000) |
| 38 | 52 | |