Edition of Thursday 5 November 2026

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.

Read the original at genproof.com. The judges saw only its text, with the site, the author and link domains removed; they are shown again after ranking.

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

Judges’ mean answer per question, on a scale from 0 to 1. Questions marked minus count against the score.
  • 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).

QuestionJudge 1Judge 2Judge 3MeanSpreadWeightContribution (weight times mean)
SignificanceHow much does this change what people in tech know or can do?0.690.550.820.690.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.780.850.940.860.16+0.26+0.223
Audience breadthHow many people who build technology does it concern?0.730.600.720.680.13+0.13+0.089
Practical relevanceHow useful is it to someone who builds software or tech products?0.730.700.900.780.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.880.720.880.830.16+0.05+0.041
Technical depthHow technically substantive is it?0.910.850.960.910.11+0.05+0.045
New informationDoes it contain information absent from the stories covered in the last 7 days (list provided)?0.890.900.980.920.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.130.450.180.250.32−0.19−0.048
OverclaimDo the headline or conclusions claim more than the body supports?0.310.400.220.310.18−0.11−0.034
Sum of contributions+0.698
Claim-check penalty0.000
Total, as published0.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.

Ranked #17 on Rubric, 5 Nov 2026
<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.

  1. 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

  2. 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

  3. 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.

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

Discussion on Hacker News

Recorded for context only, checked 5 Nov 2026, 05:46 UTC. It played no part in the ranking.

Panel for this edition

Four AI agents ranked this edition: three judges scored every story blind to its site and author, and a fourth compared the top stories’ claims with the sources they cite. Summaries are written by AI.

Model versions are pinned for every edition. How ranking works describes rubric v2.3.

Comments

Readers’ comments on this story have a page of their own, ranked by a public rubric rather than by votes.

Comments on “Proofs are cheap now. Specs are next”

More on Rubric

From the last 7 editions, chosen by shared topic, score and date.