Commit f85ff54
M16: the paper, enumerated rather than written
`nullius paper build` renders the record from the committed protocols and
results. The failure it guards against is ordinary and nearly invisible: a
project runs several protocols, one produces the good result, and the
write-up quietly becomes about that one.
It cannot select because it does not choose. Every registered protocol
appears in registration order with its prediction and its outcome -- two
upheld, two refuted, one registered and not yet run. The unrun one is
labelled rather than omitted, because a plan with no result is part of the
record. The two results later protocols retracted are still there, under
the protocols that produced them.
Nothing numeric is typed. Every figure is read from a results file whose
stored summary re-scores from its own per-item rows; every prediction from
a protocol whose hash is in the git history; bank difficulty computed from
the locked truths. assemble(strict=True) refuses to build when a protocol
fails to verify or a results file fails to re-score, which makes the paper
a check on the record rather than a description of it.
Two prose sections, declared as data rather than woven into the template so
they can be counted and checked in one place: six flaws and five
limitations. Each flaw names the milestone whose commit records it, and a
test enforces that. That section is what a written-up-afterwards paper
would not contain -- in that genre the flaws are fixed before anything is
published; here five of the six were found by executing a preregistered
plan rather than by reviewing one.
A ninth CI job builds the paper on every push and uploads it.
456 tests pass. ruff and mypy clean on 94 source files.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 867251d commit f85ff54
9 files changed
Lines changed: 1487 additions & 1 deletion
File tree
- .github/workflows
- paper
- src/nullius
- paper
- templates
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
211 | 230 | | |
212 | 231 | | |
213 | 232 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
425 | 425 | | |
426 | 426 | | |
427 | 427 | | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
428 | 445 | | |
429 | 446 | | |
430 | 447 | | |
| |||
0 commit comments