From eef47a8ad7857192e7afef9830723cce943826e8 Mon Sep 17 00:00:00 2001 From: mySebbe <14988278+mySebbe@users.noreply.github.com> Date: Mon, 11 May 2026 10:08:31 +0200 Subject: [PATCH] Backfill baseline freshness metadata --- README.md | 2 +- data.json | 174 ++++++++++++++++++++++++------------ public/data.json | 174 ++++++++++++++++++++++++------------ scripts/append-history.mjs | 9 +- scripts/stamp-freshness.mjs | 9 +- scripts/validate-data.mjs | 10 ++- 6 files changed, 257 insertions(+), 121 deletions(-) diff --git a/README.md b/README.md index f19d75f..015252e 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ npm run validate:data node scripts/build-customer.mjs ``` -The stamp/append scripts are idempotent and safe to re-run. Run `npm run validate:data` before opening or merging data PRs so reviewers can catch stale counts, malformed source URLs, or missing freshness stamps early. `build-customer.mjs` requires `gh` auth. +The stamp/append scripts are idempotent and safe to re-run, and they keep `data.json` and `public/data.json` in sync. Run `npm run validate:data` before opening or merging data PRs so reviewers can catch stale counts, malformed source URLs, file drift, or missing freshness stamps early. `build-customer.mjs` requires `gh` auth. ## Deploy diff --git a/data.json b/data.json index 2ea0c01..b312c89 100644 --- a/data.json +++ b/data.json @@ -213,9 +213,16 @@ "change": "new entry — score 4 (Proactive), pq_work_volume 1; LightStim DEM automation for QEC (arXiv 2604.21472)", "pr": "#31", "contributor": "@1feems" + }, + { + "date": "2026-05-11", + "developer": "baseline freshness backfill", + "change": "added last_verified to 55 baseline entries and enforced data file sync", + "pr": null, + "contributor": "@mySebbe" } ], - "last_updated": "2026-05-05", + "last_updated": "2026-05-11", "next_review": "weekly — Sundays (DRI synthesis)" }, "developers": [ @@ -233,7 +240,8 @@ "https://groups.google.com/g/bitcoindev/c/uUK6py0Yjq0", "https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki", "https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 2, @@ -245,7 +253,8 @@ "notable": false, "summary": "No public statements on quantum risk; retired from Bitcoin development 2022", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 3, @@ -259,7 +268,8 @@ "key_source": "https://groups.google.com/g/bitcoindev/c/gOfL5ag_bDU/m/n41i8uXACgAJ", "sources": [ "https://groups.google.com/g/bitcoindev/c/gOfL5ag_bDU/m/n41i8uXACgAJ" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 4, @@ -273,7 +283,8 @@ "key_source": null, "sources": [ "https://www.dci.mit.edu/people" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 5, @@ -285,7 +296,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on build systems and release management", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 6, @@ -297,7 +309,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on wallet infrastructure", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 7, @@ -315,7 +328,8 @@ "https://x.com/n1ckler/status/2038695067754328095", "https://delvingbitcoin.org/t/shrincs", "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 8, @@ -329,7 +343,8 @@ "key_source": "https://gnusha.org/pi/bitcoindev/ZjD-dMMGxoGNgzIg@camus/", "sources": [ "https://gnusha.org/pi/bitcoindev/ZjD-dMMGxoGNgzIg@camus/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 9, @@ -343,7 +358,8 @@ "key_source": "https://podcasts.apple.com/ug/podcast/id1569130932?i=1000665129605", "sources": [ "https://podcasts.apple.com/ug/podcast/id1569130932?i=1000665129605" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 10, @@ -355,7 +371,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on multiprocess architecture", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 11, @@ -367,7 +384,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on libbitcoinkernel", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 12, @@ -379,7 +397,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on build system/GUI", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 13, @@ -391,7 +410,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on P2P relay and mempool", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 14, @@ -403,7 +423,8 @@ "notable": false, "summary": "No personal statements; org published quantum report (Shikhelman May 2025)", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 15, @@ -417,7 +438,8 @@ "key_source": "https://x.com/LukeDashjr/status/2001602642179408164", "sources": [ "https://x.com/LukeDashjr/status/2001602642179408164" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 16, @@ -431,7 +453,8 @@ "key_source": "https://x.com/murchandamus/status/1989417359988462015", "sources": [ "https://x.com/murchandamus/status/1989417359988462015" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 17, @@ -447,7 +470,8 @@ "https://cointelegraph.com/magazine/bitcoin-7-years-upgrade-post-quantum-bip-360-co-author/", "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki", "https://github.com/bitcoin/bips/blob/master/bip-0347.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 18, @@ -463,7 +487,8 @@ "https://github.com/bitcoin/bips/pull/1670", "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki", "https://delvingbitcoin.org/t/proposing-a-p2qrh-bip-towards-a-quantum-resistant-soft-fork/956" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 19, @@ -477,7 +502,8 @@ "key_source": "https://x.com/theinstagibbs/status/1995889077661430216", "sources": [ "https://x.com/theinstagibbs/status/1995889077661430216" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 20, @@ -489,7 +515,8 @@ "notable": false, "summary": "No public statements on quantum risk; less active recently", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 21, @@ -501,7 +528,8 @@ "notable": false, "summary": "No public statements on quantum risk; less active recently", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 22, @@ -516,7 +544,8 @@ "sources": [ "https://eprint.iacr.org/2025/1307", "https://gist.github.com/harding/bfd094ab488fd3932df59452e5ec753f" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 23, @@ -530,7 +559,8 @@ "key_source": "https://x.com/darosior/status/2002021021625225310", "sources": [ "https://x.com/darosior/status/2002021021625225310" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 24, @@ -542,7 +572,8 @@ "notable": false, "summary": "No public statements on quantum risk; BIP editor", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 25, @@ -557,7 +588,8 @@ "sources": [ "https://bips.dev/352/", "https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 26, @@ -574,7 +606,8 @@ "https://gnusha.org/pi/bitcoindev/CAO3Pvs8A0GLW-xdSHCKosjPqo7WSf-=YJ7F7s7t65RvtArcBEQ@mail.gmail.com/", "https://www.coindesk.com/tech/2026/04/09/bitcoin-gets-first-working-prototype-of-quantum-resistant-wallet-rescue-tool", "https://www.crypto-news-flash.com/bitcoin-gets-first-working-prototype-of-quantum-resistant-wallet-rescue-tool/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 27, @@ -586,7 +619,8 @@ "notable": false, "summary": "No quantum statements found across gnusha.org and diyhpl.us transcript archives", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 28, @@ -598,7 +632,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 29, @@ -610,7 +645,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 30, @@ -622,7 +658,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 31, @@ -634,7 +671,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 32, @@ -646,7 +684,8 @@ "notable": false, "summary": "Working on FROST (quantum-tangential) but no quantum position statements", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 33, @@ -663,7 +702,8 @@ "https://bitcoinops.org/en/newsletters/2025/06/06/", "https://bitcoinops.org/en/newsletters/2025/08/01/", "https://bitcoinops.org/en/newsletters/2026/02/06/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 34, @@ -679,7 +719,8 @@ "https://bitcoinmagazine.com/print/the-core-issue-keeping-bitcoin-core-secure", "https://brink.dev/programs", "https://github.com/dergoegge/fuzzamoto" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 35, @@ -691,7 +732,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 36, @@ -706,7 +748,8 @@ "sources": [ "https://gnusha.org/pi/bitcoindev/aHuKIKqvCZl5rcEX@petertodd.org/", "https://groups.google.com/g/bitcoindev/c/uEaf4bj07rE" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 37, @@ -720,7 +763,8 @@ "key_source": "https://gnusha.org/pi/bitcoindev/87b4e402-39d8-46b0-8269-4f81fa501627n@googlegroups.com/", "sources": [ "https://gnusha.org/pi/bitcoindev/87b4e402-39d8-46b0-8269-4f81fa501627n@googlegroups.com/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 38, @@ -735,7 +779,8 @@ "sources": [ "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki", "https://github.com/bitcoin/bips/pull/1670" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 39, @@ -749,7 +794,8 @@ "key_source": "https://gnusha.org/pi/bitcoindev/ED96C777-5BBD-4ACE-8821-A53FDE8FA128@sprovoost.nl/", "sources": [ "https://gnusha.org/pi/bitcoindev/ED96C777-5BBD-4ACE-8821-A53FDE8FA128@sprovoost.nl/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 40, @@ -764,7 +810,8 @@ "sources": [ "https://chaincode.com/bitcoin-post-quantum.pdf", "https://www.youtube.com/watch?v=FNqYU9TudRU" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 41, @@ -778,7 +825,8 @@ "key_source": "https://hrf.org/latest/the-quantum-threat-to-bitcoin/", "sources": [ "https://hrf.org/latest/the-quantum-threat-to-bitcoin/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 42, @@ -793,7 +841,8 @@ "sources": [ "https://www.galaxy.com/insights/research/bitcoin-quantum-computing-risk", "https://www.theblock.co/post/388969/coinshares-says-only-10200-btc-face-real-quantum-risk-pushing-back-on-overblown-estimates" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 43, @@ -807,7 +856,8 @@ "key_source": "https://nehanarula.org/2026/04/03/bitcoin-and-quantum-computing.html", "sources": [ "https://nehanarula.org/2026/04/03/bitcoin-and-quantum-computing.html" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 44, @@ -821,7 +871,8 @@ "key_source": "https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-March/018645.html", "sources": [ "https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-March/018645.html" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 45, @@ -833,7 +884,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 46, @@ -847,7 +899,8 @@ "key_source": "https://freicoin.substack.com/p/why-im-against-taproot", "sources": [ "https://freicoin.substack.com/p/why-im-against-taproot" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 47, @@ -859,7 +912,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 48, @@ -871,7 +925,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 49, @@ -883,7 +938,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 50, @@ -895,7 +951,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 51, @@ -910,7 +967,8 @@ "sources": [ "https://gnusha.org/pi/bitcoindev/43afd5bb-244e-4698-ba3d-139efa2c2058@mattcorallo.com/", "https://podcasts.apple.com/us/podcast/what-do-bitcoiners-do-about-quantum-with-matt-corallo/id1415720320?i=1000749245854" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 52, @@ -926,7 +984,8 @@ "https://x.com/adam3us/status/1989721899991986374", "https://www.coindesk.com/tech/2026/04/08/bitcoin-s-quantum-threat-is-distant-but-migration-clock-is-ticking-says-adam-back-says", "https://bitcoinmagazine.com/news/adam-back-says-quantum-threat-to-bitcoin" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 53, @@ -941,7 +1000,8 @@ "sources": [ "https://www.benzinga.com/crypto/cryptocurrency/26/04/51687930/nobel-physicist-warns-bitcoin-could-be-cracked-in-minutes-but-the-community-has-5-10-years-to-act", "https://thequantuminsider.com/2026/03/26/john-martinis-nobel-prize-winning-physicist-joins-white-house-science-and-technology-panel/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 54, @@ -956,7 +1016,8 @@ "sources": [ "https://github.com/bitcoin/bips/pull/1895", "https://github.com/jlopp" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 55, @@ -972,7 +1033,8 @@ "https://www.coindesk.com/markets/2026/04/10/quantum-safe-bitcoin-now-possible-without-a-soft-fork-but-costs-usd200-a-pop", "https://bitcoinmagazine.com/news/bitcoin-could-be-quantum-safe", "https://starkware.co/blog/bitcoins-quantum-proposal-features-starkware-co-author/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 57, diff --git a/public/data.json b/public/data.json index 2ea0c01..b312c89 100644 --- a/public/data.json +++ b/public/data.json @@ -213,9 +213,16 @@ "change": "new entry — score 4 (Proactive), pq_work_volume 1; LightStim DEM automation for QEC (arXiv 2604.21472)", "pr": "#31", "contributor": "@1feems" + }, + { + "date": "2026-05-11", + "developer": "baseline freshness backfill", + "change": "added last_verified to 55 baseline entries and enforced data file sync", + "pr": null, + "contributor": "@mySebbe" } ], - "last_updated": "2026-05-05", + "last_updated": "2026-05-11", "next_review": "weekly — Sundays (DRI synthesis)" }, "developers": [ @@ -233,7 +240,8 @@ "https://groups.google.com/g/bitcoindev/c/uUK6py0Yjq0", "https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki", "https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 2, @@ -245,7 +253,8 @@ "notable": false, "summary": "No public statements on quantum risk; retired from Bitcoin development 2022", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 3, @@ -259,7 +268,8 @@ "key_source": "https://groups.google.com/g/bitcoindev/c/gOfL5ag_bDU/m/n41i8uXACgAJ", "sources": [ "https://groups.google.com/g/bitcoindev/c/gOfL5ag_bDU/m/n41i8uXACgAJ" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 4, @@ -273,7 +283,8 @@ "key_source": null, "sources": [ "https://www.dci.mit.edu/people" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 5, @@ -285,7 +296,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on build systems and release management", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 6, @@ -297,7 +309,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on wallet infrastructure", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 7, @@ -315,7 +328,8 @@ "https://x.com/n1ckler/status/2038695067754328095", "https://delvingbitcoin.org/t/shrincs", "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 8, @@ -329,7 +343,8 @@ "key_source": "https://gnusha.org/pi/bitcoindev/ZjD-dMMGxoGNgzIg@camus/", "sources": [ "https://gnusha.org/pi/bitcoindev/ZjD-dMMGxoGNgzIg@camus/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 9, @@ -343,7 +358,8 @@ "key_source": "https://podcasts.apple.com/ug/podcast/id1569130932?i=1000665129605", "sources": [ "https://podcasts.apple.com/ug/podcast/id1569130932?i=1000665129605" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 10, @@ -355,7 +371,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on multiprocess architecture", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 11, @@ -367,7 +384,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on libbitcoinkernel", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 12, @@ -379,7 +397,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on build system/GUI", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 13, @@ -391,7 +410,8 @@ "notable": false, "summary": "No public statements on quantum risk; focused on P2P relay and mempool", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 14, @@ -403,7 +423,8 @@ "notable": false, "summary": "No personal statements; org published quantum report (Shikhelman May 2025)", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 15, @@ -417,7 +438,8 @@ "key_source": "https://x.com/LukeDashjr/status/2001602642179408164", "sources": [ "https://x.com/LukeDashjr/status/2001602642179408164" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 16, @@ -431,7 +453,8 @@ "key_source": "https://x.com/murchandamus/status/1989417359988462015", "sources": [ "https://x.com/murchandamus/status/1989417359988462015" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 17, @@ -447,7 +470,8 @@ "https://cointelegraph.com/magazine/bitcoin-7-years-upgrade-post-quantum-bip-360-co-author/", "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki", "https://github.com/bitcoin/bips/blob/master/bip-0347.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 18, @@ -463,7 +487,8 @@ "https://github.com/bitcoin/bips/pull/1670", "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki", "https://delvingbitcoin.org/t/proposing-a-p2qrh-bip-towards-a-quantum-resistant-soft-fork/956" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 19, @@ -477,7 +502,8 @@ "key_source": "https://x.com/theinstagibbs/status/1995889077661430216", "sources": [ "https://x.com/theinstagibbs/status/1995889077661430216" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 20, @@ -489,7 +515,8 @@ "notable": false, "summary": "No public statements on quantum risk; less active recently", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 21, @@ -501,7 +528,8 @@ "notable": false, "summary": "No public statements on quantum risk; less active recently", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 22, @@ -516,7 +544,8 @@ "sources": [ "https://eprint.iacr.org/2025/1307", "https://gist.github.com/harding/bfd094ab488fd3932df59452e5ec753f" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 23, @@ -530,7 +559,8 @@ "key_source": "https://x.com/darosior/status/2002021021625225310", "sources": [ "https://x.com/darosior/status/2002021021625225310" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 24, @@ -542,7 +572,8 @@ "notable": false, "summary": "No public statements on quantum risk; BIP editor", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 25, @@ -557,7 +588,8 @@ "sources": [ "https://bips.dev/352/", "https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 26, @@ -574,7 +606,8 @@ "https://gnusha.org/pi/bitcoindev/CAO3Pvs8A0GLW-xdSHCKosjPqo7WSf-=YJ7F7s7t65RvtArcBEQ@mail.gmail.com/", "https://www.coindesk.com/tech/2026/04/09/bitcoin-gets-first-working-prototype-of-quantum-resistant-wallet-rescue-tool", "https://www.crypto-news-flash.com/bitcoin-gets-first-working-prototype-of-quantum-resistant-wallet-rescue-tool/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 27, @@ -586,7 +619,8 @@ "notable": false, "summary": "No quantum statements found across gnusha.org and diyhpl.us transcript archives", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 28, @@ -598,7 +632,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 29, @@ -610,7 +645,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 30, @@ -622,7 +658,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 31, @@ -634,7 +671,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 32, @@ -646,7 +684,8 @@ "notable": false, "summary": "Working on FROST (quantum-tangential) but no quantum position statements", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 33, @@ -663,7 +702,8 @@ "https://bitcoinops.org/en/newsletters/2025/06/06/", "https://bitcoinops.org/en/newsletters/2025/08/01/", "https://bitcoinops.org/en/newsletters/2026/02/06/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 34, @@ -679,7 +719,8 @@ "https://bitcoinmagazine.com/print/the-core-issue-keeping-bitcoin-core-secure", "https://brink.dev/programs", "https://github.com/dergoegge/fuzzamoto" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 35, @@ -691,7 +732,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 36, @@ -706,7 +748,8 @@ "sources": [ "https://gnusha.org/pi/bitcoindev/aHuKIKqvCZl5rcEX@petertodd.org/", "https://groups.google.com/g/bitcoindev/c/uEaf4bj07rE" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 37, @@ -720,7 +763,8 @@ "key_source": "https://gnusha.org/pi/bitcoindev/87b4e402-39d8-46b0-8269-4f81fa501627n@googlegroups.com/", "sources": [ "https://gnusha.org/pi/bitcoindev/87b4e402-39d8-46b0-8269-4f81fa501627n@googlegroups.com/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 38, @@ -735,7 +779,8 @@ "sources": [ "https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki", "https://github.com/bitcoin/bips/pull/1670" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 39, @@ -749,7 +794,8 @@ "key_source": "https://gnusha.org/pi/bitcoindev/ED96C777-5BBD-4ACE-8821-A53FDE8FA128@sprovoost.nl/", "sources": [ "https://gnusha.org/pi/bitcoindev/ED96C777-5BBD-4ACE-8821-A53FDE8FA128@sprovoost.nl/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 40, @@ -764,7 +810,8 @@ "sources": [ "https://chaincode.com/bitcoin-post-quantum.pdf", "https://www.youtube.com/watch?v=FNqYU9TudRU" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 41, @@ -778,7 +825,8 @@ "key_source": "https://hrf.org/latest/the-quantum-threat-to-bitcoin/", "sources": [ "https://hrf.org/latest/the-quantum-threat-to-bitcoin/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 42, @@ -793,7 +841,8 @@ "sources": [ "https://www.galaxy.com/insights/research/bitcoin-quantum-computing-risk", "https://www.theblock.co/post/388969/coinshares-says-only-10200-btc-face-real-quantum-risk-pushing-back-on-overblown-estimates" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 43, @@ -807,7 +856,8 @@ "key_source": "https://nehanarula.org/2026/04/03/bitcoin-and-quantum-computing.html", "sources": [ "https://nehanarula.org/2026/04/03/bitcoin-and-quantum-computing.html" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 44, @@ -821,7 +871,8 @@ "key_source": "https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-March/018645.html", "sources": [ "https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-March/018645.html" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 45, @@ -833,7 +884,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 46, @@ -847,7 +899,8 @@ "key_source": "https://freicoin.substack.com/p/why-im-against-taproot", "sources": [ "https://freicoin.substack.com/p/why-im-against-taproot" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 47, @@ -859,7 +912,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 48, @@ -871,7 +925,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 49, @@ -883,7 +938,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 50, @@ -895,7 +951,8 @@ "notable": false, "summary": "No public statements on quantum risk", "key_source": null, - "sources": [] + "sources": [], + "last_verified": "2026-04-10" }, { "rank": 51, @@ -910,7 +967,8 @@ "sources": [ "https://gnusha.org/pi/bitcoindev/43afd5bb-244e-4698-ba3d-139efa2c2058@mattcorallo.com/", "https://podcasts.apple.com/us/podcast/what-do-bitcoiners-do-about-quantum-with-matt-corallo/id1415720320?i=1000749245854" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 52, @@ -926,7 +984,8 @@ "https://x.com/adam3us/status/1989721899991986374", "https://www.coindesk.com/tech/2026/04/08/bitcoin-s-quantum-threat-is-distant-but-migration-clock-is-ticking-says-adam-back-says", "https://bitcoinmagazine.com/news/adam-back-says-quantum-threat-to-bitcoin" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 53, @@ -941,7 +1000,8 @@ "sources": [ "https://www.benzinga.com/crypto/cryptocurrency/26/04/51687930/nobel-physicist-warns-bitcoin-could-be-cracked-in-minutes-but-the-community-has-5-10-years-to-act", "https://thequantuminsider.com/2026/03/26/john-martinis-nobel-prize-winning-physicist-joins-white-house-science-and-technology-panel/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 54, @@ -956,7 +1016,8 @@ "sources": [ "https://github.com/bitcoin/bips/pull/1895", "https://github.com/jlopp" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 55, @@ -972,7 +1033,8 @@ "https://www.coindesk.com/markets/2026/04/10/quantum-safe-bitcoin-now-possible-without-a-soft-fork-but-costs-usd200-a-pop", "https://bitcoinmagazine.com/news/bitcoin-could-be-quantum-safe", "https://starkware.co/blog/bitcoins-quantum-proposal-features-starkware-co-author/" - ] + ], + "last_verified": "2026-04-10" }, { "rank": 57, diff --git a/scripts/append-history.mjs b/scripts/append-history.mjs index 9d12df6..ea0ba72 100755 --- a/scripts/append-history.mjs +++ b/scripts/append-history.mjs @@ -3,7 +3,10 @@ // Run: node scripts/append-history.mjs --developer "Name" --change "1->3" --pr "#15" --contributor "@handle" [--date YYYY-MM-DD] import fs from "fs"; -const FILE = new URL("../public/data.json", import.meta.url); +const FILES = [ + new URL("../data.json", import.meta.url), + new URL("../public/data.json", import.meta.url), +]; const args = Object.fromEntries( process.argv.slice(2).reduce((acc, a, i, arr) => { if (a.startsWith("--")) acc.push([a.slice(2), arr[i + 1]]); @@ -17,7 +20,7 @@ if (!args.developer || !args.change) { } const today = new Date().toISOString().slice(0, 10); -const data = JSON.parse(fs.readFileSync(FILE, "utf8")); +const data = JSON.parse(fs.readFileSync(FILES[1], "utf8")); data.metadata.update_history = data.metadata.update_history || []; const entry = { @@ -34,5 +37,5 @@ data.metadata.last_updated = today; const dev = data.developers.find((d) => d.name === args.developer); if (dev) dev.last_verified = entry.date; -fs.writeFileSync(FILE, JSON.stringify(data, null, 2) + "\n"); +for (const file of FILES) fs.writeFileSync(file, JSON.stringify(data, null, 2) + "\n"); console.log("appended:", JSON.stringify(entry)); diff --git a/scripts/stamp-freshness.mjs b/scripts/stamp-freshness.mjs index e80af8c..d4324f0 100755 --- a/scripts/stamp-freshness.mjs +++ b/scripts/stamp-freshness.mjs @@ -3,7 +3,10 @@ // Run: node scripts/stamp-freshness.mjs [--dev "Name" --date YYYY-MM-DD] import fs from "fs"; -const FILE = new URL("../public/data.json", import.meta.url); +const FILES = [ + new URL("../data.json", import.meta.url), + new URL("../public/data.json", import.meta.url), +]; const args = Object.fromEntries( process.argv.slice(2).reduce((acc, a, i, arr) => { if (a.startsWith("--")) acc.push([a.slice(2), arr[i + 1]]); @@ -12,7 +15,7 @@ const args = Object.fromEntries( ); const today = new Date().toISOString().slice(0, 10); -const data = JSON.parse(fs.readFileSync(FILE, "utf8")); +const data = JSON.parse(fs.readFileSync(FILES[1], "utf8")); const defaultDate = data.metadata.date || today; let stamped = 0; @@ -27,5 +30,5 @@ for (const dev of data.developers) { } data.metadata.last_updated = today; -fs.writeFileSync(FILE, JSON.stringify(data, null, 2) + "\n"); +for (const file of FILES) fs.writeFileSync(file, JSON.stringify(data, null, 2) + "\n"); console.log(`stamped ${stamped} developer(s); metadata.last_updated=${today}`); diff --git a/scripts/validate-data.mjs b/scripts/validate-data.mjs index f11ff39..5485954 100644 --- a/scripts/validate-data.mjs +++ b/scripts/validate-data.mjs @@ -3,8 +3,10 @@ // Checks metadata/developer consistency, freshness stamps, source URLs, and score distribution. import fs from "fs"; -const FILE = new URL("../public/data.json", import.meta.url); -const data = JSON.parse(fs.readFileSync(FILE, "utf8")); +const ROOT_FILE = new URL("../data.json", import.meta.url); +const PUBLIC_FILE = new URL("../public/data.json", import.meta.url); +const rootData = JSON.parse(fs.readFileSync(ROOT_FILE, "utf8")); +const data = JSON.parse(fs.readFileSync(PUBLIC_FILE, "utf8")); const errors = []; const warnings = []; @@ -31,6 +33,10 @@ function isHttpUrl(value) { } assert(data && typeof data === "object", "data.json must parse to an object"); +assert( + JSON.stringify(rootData) === JSON.stringify(data), + "data.json and public/data.json must stay in sync" +); assert(data.metadata && typeof data.metadata === "object", "metadata object is required"); assert(Array.isArray(data.developers), "developers must be an array");