Proofs are cheap now. Specs are next
Comments on “Proofs are cheap now. Specs are next”
Claim-checked. Scored by all three judges, and its checkable claims were compared with the sources it cites. How far stories are checked
GenProof's QuickProof lets developers write a C library's specification as a small C program with nondeterministic inputs, assumptions and assertions. The tool turns it into a Rocq theorem, AI agents prove it in the Verified Software Toolchain, and a checker confirms the statement is unchanged. GenProof reports more than 300 bugs across dozens of projects, including a Redis listpack incompatibility between 8.6 and 8.8, and a zstd bug. The Linux CVE, the proof-size comparison and the OSS-Verify critique are the company's own claims, not independently checked.
Why it ranked
No. 17 of 139 with a score of 0.70. The panel rated it highest on new information (0.92) and technical depth (0.91), lowest on audience breadth (0.68). Placed No. 17, No. 18 by score alone: the fifth Programming & dev tools story of the day (−0.040). The placement terms move stories; they are not part of the score.
- AI judgeJudge 2claude-haiku-5-5
- Concrete technical content with specific bugs and a new verification tool for C, backed by examples; promotional framing and some overclaiming about existing proofs lower the score.
- AI judgeJudge 3gpt-5.6-luna
- Detailed engineering account of AI-assisted formal verification for C, with reproducible methodology, proof architecture, and numerous concrete bugs found in major libraries. It is highly actionable and technically deep, though partly promotes QuickProof and makes some broad comparative claims.
Each judge wrote its line after answering the rubric, with the site and the author still hidden. Every answer behind this is in the table under Score.
Score
0.70total under rubric v2.3
- Significance0.69
- Reader interest0.86
- Audience breadth0.68
- Practical relevance0.78
- Substantiated0.83
- Technical depth0.91
- New information0.92
- Counts against: Promotional0.25
- Counts against: Overclaim0.31
Each judge’s answer per question (0–1), their mean and spread, and what the question adds to the score (weight × mean).
| Question | Judge 1 | Judge 2 | Judge 3 | Mean | Spread | Weight | Contribution (weight times mean) |
|---|---|---|---|---|---|---|---|
| SignificanceHow much does this change what people in tech know or can do? | 0.69 | 0.55 | 0.82 | 0.69 | 0.27 | +0.24 | +0.165 |
| Reader interestWould a well-informed senior engineer or tech founder want to read this today, and likely pass it on? | 0.78 | 0.85 | 0.94 | 0.86 | 0.16 | +0.26 | +0.223 |
| Audience breadthHow many people who build technology does it concern? | 0.73 | 0.60 | 0.72 | 0.68 | 0.13 | +0.13 | +0.089 |
| Practical relevanceHow useful is it to someone who builds software or tech products? | 0.73 | 0.70 | 0.90 | 0.78 | 0.20 | +0.22 | +0.171 |
| SubstantiatedHow well is it backed? Consider whether it is the primary source, and whether its main claims come with data, code, a demo, a reproducible method or citations. | 0.88 | 0.72 | 0.88 | 0.83 | 0.16 | +0.05 | +0.041 |
| Technical depthHow technically substantive is it? | 0.91 | 0.85 | 0.96 | 0.91 | 0.11 | +0.05 | +0.045 |
| New informationDoes it contain information absent from the stories covered in the last 7 days (list provided)? | 0.89 | 0.90 | 0.98 | 0.92 | 0.09 | +0.05 | +0.046 |
| PromotionalIs it mainly marketing with little substance (a press release, ad or sponsored post with no real information)? A launch post that carries real news is not promotional. | 0.13 | 0.45 | 0.18 | 0.25 | 0.32 | −0.19 | −0.048 |
| OverclaimDo the headline or conclusions claim more than the body supports? | 0.31 | 0.40 | 0.22 | 0.31 | 0.18 | −0.11 | −0.034 |
| Sum of contributions | +0.698 | ||||||
| Claim-check penalty | 0.000 | ||||||
| Total, as published | 0.699 | ||||||
Spread is the highest minus the lowest judge answer. marks a spread above 0.40: the judges disagree, and the story is marked contested.
The badge for this ranking, for the author's page or anyone's: one line of HTML, and it links back here.
<a href="https://rubric.hrih.si/editions/2026-11-05/17/"><img src="https://rubric.hrih.si/badge/2026-11-05/17.svg" alt="Ranked #17 on Rubric, 5 Nov 2026" width="238" height="28"></a>Claim check
Claim check: 4 matches source · 2 no source given · 2 couldn’t check. Each claim is compared with the source the article itself cites; a flag is published only when both checkers agree.
Matches sourceNumber
Trying to prove QuickProof specs for dozens of popular C projects uncovered more than 300 bugs where the code violates the specs.
The cited source says the same thing.
The article says “we found more than 300 bugs where the code violates them”
The source says No passage could be compared.
Source cited by the article: bugs.genproof.com
Couldn’t checkQuote
Theorem and Anthropic verified a core component of the Linux kernel and concluded it is "almost fully correct", apart from a few minor, unexploitable bugs in corner cases.
The source was unreachable, paywalled or too long, or the two checkers disagreed.
The article says “concluded that it is "almost fully correct", apart from a few minor, unexploitable bugs in corner cases”
The source says No passage could be compared.
Source cited by the article: anthropic.com/research/formal-verification
No source givenNumber
Verifying the same Linux kernel code, the authors found a two-decade-old flaw that can be exploited remotely to switch a device off, and reported it as a CVE.
The article gives no link or citation for it.
The article says “we found a flaw that has been there for two decades and can be exploited remotely to switch a device off”
The source says No source to compare with.
Matches sourceCausal conclusion
Redis 8.8 and later misread listpack entries written by Redis 8.6 and earlier, because a fix switched the length-field encoding to the shorter one while the same function is used to read existing entries.
The cited source says the same thing.
The article says “A fix in 8.8 switched to the shorter one, but the same function is also used to read existing entries. So Redis 8.8 and later misread entries written by 8.6…”
The source says “lpEncodeBacklenBytes()` is also used to read existing entries: `lpSkip()`, `lpSkipPrev()` and `lpValidateNext()` compute the width of the field from the entry length instead of reading it”
Source cited by the article: github.com/redis/redis/issues/16078
Matches sourceNumber
Anthropic and Theorem announced that Claude had verified 239 entry points of 123 open-source libraries.
The cited source says the same thing.
The article says “Claude had verified 239 entry points of 123 open-source libraries”
The source says “Claude successfully patched the bugs it found and then proved that there are no crashes on any input (up to 64 MB) for 239 entry points across 123 different OSS-Fuzz…”
Source cited by the article: anthropic.com/research/formal-verification
Matches sourceNumber
ZSTD_getDictID_fromFrame returns the wrong value for skippable frames.
The cited source says the same thing.
The article says “ZSTD_getDictID_fromFrame returns the wrong value for skippable frames (zstd#4881”
The source says “Since v1.5.7, `ZSTD_getDictID_fromFrame` returns the magic variant (0-15) of a skippable frame as if it were a dictionary ID”
Source cited by the article: github.com/meta/zstd/issues/4881
Couldn’t checkNumber
The OSS-Verify proof for zstd_frame_info is about 450,000 lines of Rocq, and the QuickProof zstd proof is about the same size while proving 19 properties of zstd's decoder.
The source was unreachable, paywalled or too long, or the two checkers disagreed.
The article says “Their proof for zstd_frame_info is about 450,000 lines of Rocq, since it reasons about every instruction of the binary”
The source says No passage could be compared.
Source cited by the article: genproof.com/quickproof/proofs/zstd
No source givenGeneralization
The OSS-Verify statements are derived automatically from the libraries' fuzz targets, so they say little about what the library computes.
The article gives no link or citation for it.
The article says “It means that their statements say little about what the library computes. The statements are derived automatically from the libraries' fuzz targets”
The source says No source to compare with.
Also covered by
No other coverage was clustered with this story.
Elsewhere
Elsewhere: HN 14 pts, not on front page
Recorded for context only, checked 5 Nov 2026, 05:46 UTC. It played no part in the ranking.