From b5759e9d800a2342f064652262c271ddc8faf4d0 Mon Sep 17 00:00:00 2001 From: fosterwei Date: Wed, 30 Sep 2026 00:25:01 -0700 Subject: [PATCH] Stop showing readers the record's workflow status Reported as the compounds page tagging everything "draft". It was: all 34 of them, in a monospace code element beside the evidence tier, on pages that are written, reviewed by a named pharmacist and indexed. `status` is internal state and nothing updates it. Every record has said 'draft' since it was drafted, which is why this looked like a bug about one directory and was actually the same stale field that had the homepage set to noindex and seven empty pages set to index. It leaked in four places, 226 times across 35 pages: the compounds directory, 34 labels the compare table on every compound page, which repeats it per row the no-reviewer notice, which named the status in the sentence 86 changelog entries ending "Status researched -> draft." All four now report something a reader can use. The directory and the compare table say when the record was reviewed, or "not yet" where no reviewer has signed it, which is the question the column was standing in for. The notice says the same thing in words. The changelog entries keep what changed and drop the state transition, which described the pipeline rather than the page. The about page computed a count of records at status 'published', always zero, and never rendered it. Removed. check_links.py gains a rule: no page may print any of the seven status values in a code element. That is narrow on purpose, so a paper titled "a draft genome" cannot trip it. Verified by injecting a leak, which exits 1. Visible occurrences of the word across the built site: 226 before, 0 after. Co-Authored-By: Claude Opus 5 (1M context) --- data/compounds/aod-9604.json | 6 +++--- data/compounds/ara-290.json | 6 +++--- data/compounds/bpc-157.json | 8 ++++---- data/compounds/bremelanotide-pt-141.json | 6 +++--- data/compounds/cagrilintide.json | 6 +++--- data/compounds/cartalax.json | 8 ++++---- data/compounds/cjc-1295.json | 6 +++--- data/compounds/dsip.json | 6 +++--- data/compounds/epitalon.json | 6 +++--- data/compounds/foxo4-dri.json | 6 +++--- data/compounds/ghk-cu.json | 6 +++--- data/compounds/ghrp-6.json | 6 +++--- data/compounds/humanin.json | 4 ++-- data/compounds/igf-1-lr3.json | 4 ++-- data/compounds/ipamorelin.json | 8 ++++---- data/compounds/kisspeptin.json | 4 ++-- data/compounds/kpv.json | 4 ++-- data/compounds/ll-37.json | 4 ++-- data/compounds/melanotan-ii.json | 4 ++-- data/compounds/mots-c.json | 4 ++-- data/compounds/pinealon.json | 4 ++-- data/compounds/retatrutide.json | 4 ++-- data/compounds/selank.json | 4 ++-- data/compounds/semaglutide.json | 8 ++++---- data/compounds/semax.json | 4 ++-- data/compounds/sermorelin.json | 4 ++-- data/compounds/slu-pp-332.json | 4 ++-- data/compounds/ss-31.json | 4 ++-- data/compounds/survodutide.json | 4 ++-- data/compounds/tb-500.json | 4 ++-- data/compounds/tesamorelin.json | 4 ++-- data/compounds/tesofensine.json | 4 ++-- data/compounds/thymosin-alpha-1.json | 4 ++-- data/compounds/tirzepatide.json | 4 ++-- scripts/check_links.py | 22 +++++++++++++++++++--- src/components/Compare.astro | 2 +- src/components/ReviewedBy.astro | 2 +- src/components/v2/CompareTable.astro | 4 ++-- src/pages/about.astro | 3 --- src/pages/compounds/index.astro | 4 ++-- 40 files changed, 111 insertions(+), 98 deletions(-) diff --git a/data/compounds/aod-9604.json b/data/compounds/aod-9604.json index 8386376..b4d7831 100644 --- a/data/compounds/aod-9604.json +++ b/data/compounds/aod-9604.json @@ -750,15 +750,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 12 ledger sources by scripts/draft_claims.py: 16 claims, 7 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 12 ledger sources by scripts/draft_claims.py: 16 claims, 7 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 12 ledger sources by scripts/draft_claims.py: 15 claims, 7 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 12 ledger sources by scripts/draft_claims.py: 15 claims, 7 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 12 ledger sources by scripts/draft_claims.py: 11 claims, 7 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 12 ledger sources by scripts/draft_claims.py: 11 claims, 7 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/ara-290.json b/data/compounds/ara-290.json index 7a4cb3f..d62ece7 100644 --- a/data/compounds/ara-290.json +++ b/data/compounds/ara-290.json @@ -1141,15 +1141,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 41 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 41 claims, 19 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 40 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 40 claims, 19 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 33 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 33 claims, 19 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/bpc-157.json b/data/compounds/bpc-157.json index 1cd3b2c..0d9ca6e 100644 --- a/data/compounds/bpc-157.json +++ b/data/compounds/bpc-157.json @@ -1294,19 +1294,19 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 36 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 36 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 37 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 37 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 35 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/bremelanotide-pt-141.json b/data/compounds/bremelanotide-pt-141.json index 1a041d0..6e1e2e9 100644 --- a/data/compounds/bremelanotide-pt-141.json +++ b/data/compounds/bremelanotide-pt-141.json @@ -1051,15 +1051,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 21 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 21 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 40 claims, 21 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 40 claims, 21 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 34 claims, 21 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 34 claims, 21 evidence-table rows." } ] } diff --git a/data/compounds/cagrilintide.json b/data/compounds/cagrilintide.json index 8f6d98a..604dc48 100644 --- a/data/compounds/cagrilintide.json +++ b/data/compounds/cagrilintide.json @@ -1326,15 +1326,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 31 ledger sources by scripts/draft_claims.py: 53 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 31 ledger sources by scripts/draft_claims.py: 53 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 31 ledger sources by scripts/draft_claims.py: 53 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 31 ledger sources by scripts/draft_claims.py: 53 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 31 ledger sources by scripts/draft_claims.py: 45 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 31 ledger sources by scripts/draft_claims.py: 45 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/cartalax.json b/data/compounds/cartalax.json index a685a14..9db65fe 100644 --- a/data/compounds/cartalax.json +++ b/data/compounds/cartalax.json @@ -483,19 +483,19 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 0 ledger sources by scripts/draft_claims.py: 0 claims, 0 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/cjc-1295.json b/data/compounds/cjc-1295.json index 8226868..07d5ebf 100644 --- a/data/compounds/cjc-1295.json +++ b/data/compounds/cjc-1295.json @@ -901,15 +901,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 21 ledger sources by scripts/draft_claims.py: 24 claims, 16 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 21 ledger sources by scripts/draft_claims.py: 24 claims, 16 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 21 ledger sources by scripts/draft_claims.py: 23 claims, 16 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 21 ledger sources by scripts/draft_claims.py: 23 claims, 16 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 21 ledger sources by scripts/draft_claims.py: 17 claims, 16 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 21 ledger sources by scripts/draft_claims.py: 17 claims, 16 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/dsip.json b/data/compounds/dsip.json index 0138074..d0e5c9a 100644 --- a/data/compounds/dsip.json +++ b/data/compounds/dsip.json @@ -1330,15 +1330,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 38 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 38 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 38 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 38 ledger sources by scripts/draft_claims.py: 35 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 38 ledger sources by scripts/draft_claims.py: 28 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 38 ledger sources by scripts/draft_claims.py: 28 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/epitalon.json b/data/compounds/epitalon.json index 0f5c26f..cf0ef28 100644 --- a/data/compounds/epitalon.json +++ b/data/compounds/epitalon.json @@ -1144,15 +1144,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 29 ledger sources by scripts/draft_claims.py: 28 claims, 24 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 29 ledger sources by scripts/draft_claims.py: 28 claims, 24 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 29 ledger sources by scripts/draft_claims.py: 25 claims, 24 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 29 ledger sources by scripts/draft_claims.py: 25 claims, 24 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 29 ledger sources by scripts/draft_claims.py: 20 claims, 24 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 29 ledger sources by scripts/draft_claims.py: 20 claims, 24 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/foxo4-dri.json b/data/compounds/foxo4-dri.json index bad947e..2f53a26 100644 --- a/data/compounds/foxo4-dri.json +++ b/data/compounds/foxo4-dri.json @@ -733,15 +733,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 15 ledger sources by scripts/draft_claims.py: 19 claims, 10 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 15 ledger sources by scripts/draft_claims.py: 19 claims, 10 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 15 ledger sources by scripts/draft_claims.py: 18 claims, 10 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 15 ledger sources by scripts/draft_claims.py: 18 claims, 10 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 15 ledger sources by scripts/draft_claims.py: 14 claims, 10 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 15 ledger sources by scripts/draft_claims.py: 14 claims, 10 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/ghk-cu.json b/data/compounds/ghk-cu.json index f7d9085..035a617 100644 --- a/data/compounds/ghk-cu.json +++ b/data/compounds/ghk-cu.json @@ -1187,15 +1187,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 42 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 42 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 33 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 33 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 21 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 21 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/ghrp-6.json b/data/compounds/ghrp-6.json index 023a4db..b4cebfd 100644 --- a/data/compounds/ghrp-6.json +++ b/data/compounds/ghrp-6.json @@ -1402,15 +1402,15 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 48 ledger sources by scripts/draft_claims.py: 48 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 48 ledger sources by scripts/draft_claims.py: 48 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 48 ledger sources by scripts/draft_claims.py: 45 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 48 ledger sources by scripts/draft_claims.py: 45 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 48 ledger sources by scripts/draft_claims.py: 38 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 48 ledger sources by scripts/draft_claims.py: 38 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/humanin.json b/data/compounds/humanin.json index ccd2293..d72917d 100644 --- a/data/compounds/humanin.json +++ b/data/compounds/humanin.json @@ -1210,11 +1210,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 46 ledger sources by scripts/draft_claims.py: 33 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 46 ledger sources by scripts/draft_claims.py: 33 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 46 ledger sources by scripts/draft_claims.py: 27 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 46 ledger sources by scripts/draft_claims.py: 27 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/igf-1-lr3.json b/data/compounds/igf-1-lr3.json index 75ece36..6f00a52 100644 --- a/data/compounds/igf-1-lr3.json +++ b/data/compounds/igf-1-lr3.json @@ -780,11 +780,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 16 ledger sources by scripts/draft_claims.py: 19 claims, 15 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 16 ledger sources by scripts/draft_claims.py: 19 claims, 15 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 16 ledger sources by scripts/draft_claims.py: 14 claims, 15 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 16 ledger sources by scripts/draft_claims.py: 14 claims, 15 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/ipamorelin.json b/data/compounds/ipamorelin.json index 7c5e507..818901a 100644 --- a/data/compounds/ipamorelin.json +++ b/data/compounds/ipamorelin.json @@ -1128,19 +1128,19 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 33 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 33 claims, 22 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 22 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 22 claims, 22 evidence-table rows." }, { "date": "2026-09-15", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 22 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 22 claims, 22 evidence-table rows." }, { "date": "2026-09-23", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 25 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 25 claims, 22 evidence-table rows." }, { "date": "2026-09-23", diff --git a/data/compounds/kisspeptin.json b/data/compounds/kisspeptin.json index cd04a55..267262d 100644 --- a/data/compounds/kisspeptin.json +++ b/data/compounds/kisspeptin.json @@ -1298,11 +1298,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 30 ledger sources by scripts/draft_claims.py: 32 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 30 ledger sources by scripts/draft_claims.py: 32 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 30 ledger sources by scripts/draft_claims.py: 25 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 30 ledger sources by scripts/draft_claims.py: 25 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/kpv.json b/data/compounds/kpv.json index 362e1e6..04e0057 100644 --- a/data/compounds/kpv.json +++ b/data/compounds/kpv.json @@ -941,11 +941,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 28 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 28 claims, 19 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 20 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 26 ledger sources by scripts/draft_claims.py: 20 claims, 19 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/ll-37.json b/data/compounds/ll-37.json index abd559a..a5813c3 100644 --- a/data/compounds/ll-37.json +++ b/data/compounds/ll-37.json @@ -1083,11 +1083,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 29 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 29 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 22 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 22 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/melanotan-ii.json b/data/compounds/melanotan-ii.json index 89cb2fc..57e4ccc 100644 --- a/data/compounds/melanotan-ii.json +++ b/data/compounds/melanotan-ii.json @@ -1126,11 +1126,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 50 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 50 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 39 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 39 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/mots-c.json b/data/compounds/mots-c.json index 455e835..4278073 100644 --- a/data/compounds/mots-c.json +++ b/data/compounds/mots-c.json @@ -1317,11 +1317,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 40 ledger sources by scripts/draft_claims.py: 38 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 40 ledger sources by scripts/draft_claims.py: 38 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 40 ledger sources by scripts/draft_claims.py: 33 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 40 ledger sources by scripts/draft_claims.py: 33 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/pinealon.json b/data/compounds/pinealon.json index 62e546f..be11eb6 100644 --- a/data/compounds/pinealon.json +++ b/data/compounds/pinealon.json @@ -428,11 +428,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 8 ledger sources by scripts/draft_claims.py: 2 claims, 6 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 8 ledger sources by scripts/draft_claims.py: 2 claims, 6 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 8 ledger sources by scripts/draft_claims.py: 1 claims, 6 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 8 ledger sources by scripts/draft_claims.py: 1 claims, 6 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/retatrutide.json b/data/compounds/retatrutide.json index 4459a60..7598a6b 100644 --- a/data/compounds/retatrutide.json +++ b/data/compounds/retatrutide.json @@ -1191,11 +1191,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 33 ledger sources by scripts/draft_claims.py: 40 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 33 ledger sources by scripts/draft_claims.py: 40 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 33 ledger sources by scripts/draft_claims.py: 34 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 33 ledger sources by scripts/draft_claims.py: 34 claims, 25 evidence-table rows." }, { "date": "2026-09-29", diff --git a/data/compounds/selank.json b/data/compounds/selank.json index 5c46122..bbb49e4 100644 --- a/data/compounds/selank.json +++ b/data/compounds/selank.json @@ -1050,11 +1050,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 34 ledger sources by scripts/draft_claims.py: 48 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 34 ledger sources by scripts/draft_claims.py: 48 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 34 ledger sources by scripts/draft_claims.py: 36 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 34 ledger sources by scripts/draft_claims.py: 36 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/semaglutide.json b/data/compounds/semaglutide.json index 5dfb4fd..8780b70 100644 --- a/data/compounds/semaglutide.json +++ b/data/compounds/semaglutide.json @@ -1142,19 +1142,19 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 22 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 22 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 42 claims, 22 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 40 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 40 claims, 22 evidence-table rows." } ] } diff --git a/data/compounds/semax.json b/data/compounds/semax.json index 6925335..9393798 100644 --- a/data/compounds/semax.json +++ b/data/compounds/semax.json @@ -1209,11 +1209,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 39 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 39 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 29 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 37 ledger sources by scripts/draft_claims.py: 29 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/sermorelin.json b/data/compounds/sermorelin.json index 29706a0..4929b14 100644 --- a/data/compounds/sermorelin.json +++ b/data/compounds/sermorelin.json @@ -880,11 +880,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 39 ledger sources by scripts/draft_claims.py: 44 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 39 ledger sources by scripts/draft_claims.py: 44 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 39 ledger sources by scripts/draft_claims.py: 20 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 39 ledger sources by scripts/draft_claims.py: 20 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/slu-pp-332.json b/data/compounds/slu-pp-332.json index 91c0230..3225384 100644 --- a/data/compounds/slu-pp-332.json +++ b/data/compounds/slu-pp-332.json @@ -457,11 +457,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 9 ledger sources by scripts/draft_claims.py: 9 claims, 8 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 9 ledger sources by scripts/draft_claims.py: 9 claims, 8 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 9 ledger sources by scripts/draft_claims.py: 4 claims, 8 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 9 ledger sources by scripts/draft_claims.py: 4 claims, 8 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/ss-31.json b/data/compounds/ss-31.json index 48e9b7c..ca53f01 100644 --- a/data/compounds/ss-31.json +++ b/data/compounds/ss-31.json @@ -1348,11 +1348,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 45 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 45 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 42 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 32 ledger sources by scripts/draft_claims.py: 42 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/survodutide.json b/data/compounds/survodutide.json index d28b106..9cfa706 100644 --- a/data/compounds/survodutide.json +++ b/data/compounds/survodutide.json @@ -1024,11 +1024,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 36 claims, 17 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 36 claims, 17 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 32 claims, 17 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 32 claims, 17 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/tb-500.json b/data/compounds/tb-500.json index ddcc818..3c5a55d 100644 --- a/data/compounds/tb-500.json +++ b/data/compounds/tb-500.json @@ -1189,11 +1189,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 36 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 36 claims, 25 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 17 claims, 25 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 50 ledger sources by scripts/draft_claims.py: 17 claims, 25 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/tesamorelin.json b/data/compounds/tesamorelin.json index 749b197..0c87429 100644 --- a/data/compounds/tesamorelin.json +++ b/data/compounds/tesamorelin.json @@ -1053,11 +1053,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 39 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 39 claims, 22 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 31 claims, 22 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 27 ledger sources by scripts/draft_claims.py: 31 claims, 22 evidence-table rows." }, { "date": "2026-09-29", diff --git a/data/compounds/tesofensine.json b/data/compounds/tesofensine.json index c3133a9..b80244e 100644 --- a/data/compounds/tesofensine.json +++ b/data/compounds/tesofensine.json @@ -1059,11 +1059,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 41 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 41 claims, 19 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 32 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 23 ledger sources by scripts/draft_claims.py: 32 claims, 19 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/thymosin-alpha-1.json b/data/compounds/thymosin-alpha-1.json index 2e266f3..4f60376 100644 --- a/data/compounds/thymosin-alpha-1.json +++ b/data/compounds/thymosin-alpha-1.json @@ -958,11 +958,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 24 ledger sources by scripts/draft_claims.py: 36 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 24 ledger sources by scripts/draft_claims.py: 36 claims, 19 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 24 ledger sources by scripts/draft_claims.py: 19 claims, 19 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 24 ledger sources by scripts/draft_claims.py: 19 claims, 19 evidence-table rows." }, { "date": "2026-09-24", diff --git a/data/compounds/tirzepatide.json b/data/compounds/tirzepatide.json index 5a2d704..6d10af2 100644 --- a/data/compounds/tirzepatide.json +++ b/data/compounds/tirzepatide.json @@ -1123,11 +1123,11 @@ }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 28 ledger sources by scripts/draft_claims.py: 36 claims, 23 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 28 ledger sources by scripts/draft_claims.py: 36 claims, 23 evidence-table rows." }, { "date": "2026-09-14", - "change": "Claims drafted extractively from 28 ledger sources by scripts/draft_claims.py: 35 claims, 23 evidence-table rows. Status researched -> draft." + "change": "Claims drafted extractively from 28 ledger sources by scripts/draft_claims.py: 35 claims, 23 evidence-table rows." } ] } diff --git a/scripts/check_links.py b/scripts/check_links.py index bdf777e..39a847f 100755 --- a/scripts/check_links.py +++ b/scripts/check_links.py @@ -15,10 +15,15 @@ dist/ and matches the width and height the page declares. A card that 404s is invisible to fetch it, and a mismatched size is cropped by the platform rather than reported. - 4. No page renders the same H2 twice. A generic block heading and an authored + 4. No page prints a record's workflow status to a reader. `status` is internal + state: it drives nothing a visitor needs and every record sat at 'draft' + long after being written and reviewed, so the compounds directory labelled + all 34 of them "draft" and every compound page repeated it in its compare + table. 226 times across 35 pages before it was noticed. + 5. No page renders the same H2 twice. A generic block heading and an authored one drifted into the same words on 32 pages, twice into an exact match, and nothing in the build could see it. - 5. Every icon and manifest in resolves, and each icon matches any + 6. Every icon and manifest in resolves, and each icon matches any sizes="" it declares. A favicon is the one asset nobody notices is broken, because the browser silently falls back to a blank page glyph. The web manifest is parsed too: its icons are referenced from nowhere else, so @@ -50,6 +55,12 @@ LINK_HREF = re.compile(r'href="([^"]+)"', re.I) LINK_SIZES = re.compile(r'sizes="(\d+)x(\d+)"', re.I) H2 = re.compile(r'(?is)]*>(.*?)') +# The workflow vocabulary from src/content.config.ts. A reader has no use for +# any of it, and seeing it in a element means a template printed the +# field rather than what the field is for. +STATUSES = ('discovered', 'researched', 'draft', 'reviewed', 'published', 'stale', 'retired') +STATUS_CODE = re.compile( + r'(?is)]*>\s*(' + '|'.join(STATUSES) + r')\s*') TAGS = re.compile(r'(?s)<[^>]+>') @@ -90,6 +101,7 @@ def main() -> int: follows: Counter[str] = Counter() bad_card: Counter[str] = Counter() dupe_h2: Counter[str] = Counter() + leaked_status: Counter[str] = Counter() internal = outbound = cards = 0 for page in pages: @@ -97,6 +109,9 @@ def main() -> int: ids = set(IDS.findall(html)) where = page.parent.relative_to(DIST).as_posix() or "/" + for word in STATUS_CODE.findall(html): + leaked_status[f"{where} -> {word}"] += 1 + seen_h2: Counter[str] = Counter() for raw in H2.findall(html): text = unescape(TAGS.sub("", raw)).strip() @@ -184,7 +199,8 @@ def main() -> int: ("same-page anchors with no matching id", dead_anchor), ("outbound links missing rel=nofollow", follows), ("card, icon or manifest assets missing or mis-sized", bad_card), - ("pages rendering the same H2 twice", dupe_h2)): + ("pages rendering the same H2 twice", dupe_h2), + ("pages printing an internal record status", leaked_status)): if counter: failed = True print(f"\n{label}: {sum(counter.values())}") diff --git a/src/components/Compare.astro b/src/components/Compare.astro index e00cbe4..d64be1c 100644 --- a/src/components/Compare.astro +++ b/src/components/Compare.astro @@ -21,7 +21,7 @@ const rows = [self, ...peers]; {formatCount(p.total)} {formatCount(p.randomized_controlled_trials)} - {e.data.status} + {e.data.review?.reviewer ? e.data.review.reviewed_at : not yet} ); })} diff --git a/src/components/ReviewedBy.astro b/src/components/ReviewedBy.astro index 7590c40..db78f59 100644 --- a/src/components/ReviewedBy.astro +++ b/src/components/ReviewedBy.astro @@ -19,6 +19,6 @@ const reviewed = Boolean(review.reviewer && review.reviewer_credential && review ) : (
Not yet reviewed -

This record is in status {status}. It has not been reviewed by a named, credentialed person, and it is excluded from search indexing until it is.

+

No named, credentialed person has reviewed this record yet, and it is excluded from search indexing until one has.

)} diff --git a/src/components/v2/CompareTable.astro b/src/components/v2/CompareTable.astro index 38b5232..b2738f3 100644 --- a/src/components/v2/CompareTable.astro +++ b/src/components/v2/CompareTable.astro @@ -11,7 +11,7 @@ const rows = [self, ...peers];
- + {rows.map((e) => { const p = e.data.evidence_summary?.publications ?? {}; return ( @@ -19,7 +19,7 @@ const rows = [self, ...peers]; - + ); })} diff --git a/src/pages/about.astro b/src/pages/about.astro index efbcdf9..9df0938 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -6,9 +6,6 @@ import { records } from '../lib/collections'; import { compounds as regCompounds, stacks as regStacks, comparisons as regComparisons, tools as regTools } from '../lib/registry'; import { TIER_LABEL } from '../lib/site'; const all = await records('compounds'); -const byStatus: Record = {}; -for (const e of all) byStatus[e.data.status] = (byStatus[e.data.status] ?? 0) + 1; -const published = byStatus['published'] ?? 0; const reviewed = all.filter((e) => e.data.review?.reviewer_credential).length; const sources = all.reduce((n, e) => n + e.data.sources.length, 0); const claims = all.reduce((n, e) => n + Object.entries(e.data.attributes).filter(([k]) => k !== 'evidence_table').reduce((m, [, v]) => m + (v as unknown[]).length, 0), 0); diff --git a/src/pages/compounds/index.astro b/src/pages/compounds/index.astro index bc061d8..523742e 100644 --- a/src/pages/compounds/index.astro +++ b/src/pages/compounds/index.astro @@ -12,7 +12,7 @@ for (const e of entries) { } const published = entries.filter((e) => isIndexable(e)).length; --- - 0}> + 0}>

Directory

Compounds

{entries.length} records, grouped by class. The tier is the strongest evidence any indexed study provides for that compound, not a judgment of the compound.

@@ -24,7 +24,7 @@ const published = entries.filter((e) => isIndexable(e)).length; {list.map((e) => (
  • {e.data.preferred_name} -
    · {e.data.status}
    +
    · {e.data.review?.reviewer ? `reviewed ${e.data.review.reviewed_at}` : 'not yet reviewed'}
  • ))}
    {rows.length} compounds in the {cls} class. Each row states what that compound's own record says; nothing is inferred across rows.
    CompoundTierPublicationsRCTsRecord
    CompoundTierPublicationsRCTsReviewed
    {formatCount(p.total)} {formatCount(p.randomized_controlled_trials)}{e.data.status}{e.data.review?.reviewer ? e.data.review.reviewed_at : not yet}