Latest sweep — 2026-05-25 → 2026-05-26 (4 commits)
Performance + encoding-correctness pass. Every change went through the existing CI pipeline (idempotency + sentinel + puppeteer smoke).
Performance
- Inline RapidMeta engine minified in 1,524 review pages — terser pass (mangle disabled to preserve the global
RapidMetaAPI) cut each engine block from ~970 KB to ~585 KB. Total: 1.46 GB → 889 MB across the portfolio; 569 MB saved (39.1%). Lighthouse "total byte weight" audit moves from CRITICAL to MEDIUM on every FULL_REVIEW. commit 88e7b07e1 - Auto-minify hook in
clone_dashboard.py— freshly cloned pages now go through terser on write, so the engine never re-inflates between bulk-clone runs. - Sentinel R8 (un-minified engine guard) — pre-push hook now BLOCKs any
*_REVIEW.htmlwhose largest inline<script>body is ≥ 800 KB (post-minification typical is ~585 KB; anything larger means the engine was reintroduced unminified).
Encoding correctness
- 1,321 dashboards repaired from cp1252-roundtrip em-dash mojibake (1,306 in repo root + 15 mirrors in
e156-submission/assets/). The R-Validation comment "RapidMeta v11.0 R-Validation (DL + HKSJ + Bayesian) — HR" had its em-dash mis-decoded asâ€"by a one-time editor save; byte-level repair restored UTF-8e2 80 94. - Sentinel R7 (mojibake guard) — BLOCKs any reintroduction of the 3-char mojibake sequence
â€". Verified to fire on synthetic input and stay silent on the cleaned corpus. - Generator-level safety verified:
clone_dashboard.pyreads/writesencoding='utf-8'throughout and usesDUPILUMAB_COPD_REVIEW.html(now mojibake-free) as its base template. Future clones inherit the clean bytes.
Idempotency + tests
- 17 idempotency tests total (was 9 last session) — every fix script in
scripts/verified to be a no-op on its own output. New tests cover: PI propagation, the 4 a11y contrast fixers, PICO input labels, heading-order lite, Plotly externalisation, em-dash mojibake repair, and the terser minifier itself. - 8 Sentinel rules (was 6 last session) — R7 mojibake + R8 un-minified engine.
Honest deferrals
- FULL_REVIEW engine externalisation to
vendor/would yield a bigger Lighthouse win (browser caches one engine across many pages) but the engine has 138 hardcoded drug/slug references across 95 lines interleaved inside JS string literals, regex literals, and Python-code-in-template-literals blocks. A clean externalisation requires an AST-aware refactor (acorn/esprima walking only safe StringLiteral nodes) — not feasible in one session. Minification is the safest one-session win on the same byte cost. - One file untracked:
HIV_NEXTGEN_ART_REVIEW.htmlhas a pre-existing JS syntax bug (unterminated string at engine line 37638;propagate_robme_engine.pyappears to have injected raw JS where escaped string concatenation was needed). Excluded via.gitignoreso it doesn't poisongit add *.html; Sentinel R8 surfaces it as a persistent warning until repaired.
Prior sweep — 2026-05-24 → 2026-05-25 (16 commits)
Two-day sweep across the whole portfolio. Every change shipped behind R-metafor parity validation and a 3-job CI pipeline (idempotency + sentinel + puppeteer smoke).
Reliability & correctness
- Page-breaking JS fixed across 1,123 FULL_REVIEW dashboards — Python
Noneliterals replaced with JSnull(12,939 occurrences). Pages that previously loaded as static shells now run the full RapidMeta interactive engine. - 6 individual JS bugs caught by puppeteer smoke — Plotly SVG-title injection (4 files, unescaped
"inside template string), unresolved git merge-conflict markers (1 file), orphanreturnafter corrupted method (1 file). All repaired. - 5 catastrophic R-validation sidecars regenerated from curated
publishedHRvia metafor REML+HKSJ: COPD_TRIPLE, FGFR_INHIBITORS_SOLID, HEPATITIS_HCV_DAA, HPV_DOSE_REDUCTION, MDRTB_BPAL. Catastrophic parity failures: 5 → 0. - Sentinel pre-push hook + GH Actions CI (3 jobs: idempotency tests, sentinel 6-rule static scan, puppeteer smoke) — every regression of the bugs we fixed this session is now blocked at commit time AND verified at runtime.
Statistical methodology
- Prediction interval propagated to Cochrane v6.5
t_{k-1}across 213 dashboards (was IntHout 2016t_{k-2}). Matches metaforpredict()default. commit ed61bbf1c - R-metafor parity gate — every R-validation sidecar verified against a fresh metafor REML+HKSJ pool. 148 pass at 1×10−6 strict; portfolio is now formally parity-checkable. methodology notes
- AACT param_type-aware extraction — 720 FULL_REVIEW files re-extracted (1,083 trial cells). Percentages and continuous outcomes now distinguished from raw counts; previously the value-vs-N heuristic mislabelled ~30% of trial data.
- Continuous outcomes activated — 814 NCT-level effects (HR 335, MD 258, OR 137, RD 72, RR 12) from AACT
outcome_analyses.txt+ 545 more from per-arm Mean+SD with relaxed dispersion-type matching. 1,359 trials' MD/HR/OR/RR/RD now poolable that previously had null event counts. - RoB-2 derived from AACT
designs.txt— 2,615 trial RoB arrays across 1,306 files. Replaces the misleading['low','low','low','low','low']stub with a defensible D1–D5 heuristic from allocation + masking + assessor-blinding fields. - PMIDs corrected — 2,019 + 1,439 trial PMID links fixed using AACT
study_referenceswith "smallest RESULT/DERIVED PMID" heuristic (the trial's original primary publication, not extensions).
Content & usability
- 1,093 per-topic protocol files generated from each FULL_REVIEW's structured PICO data — header badges now resolve to a real protocol, not a fallback redirect. Each carries an "auto-generated, NOT a pre-registered PROSPERO record" banner.
- Schema.org
MedicalScholarlyArticleJSON-LD on every page (2,178 total) — LLM & search-engine surface improved. - 28,897 aria-labels added to icon-only buttons + 2,178 skip-to-main-content links — every download icon, toggle, and toolbar action now reads cleanly in screen readers.
- Audit-table bands recomputed with continuous-outcome-aware logic. Trustworthy: 866 → 2,005; Quarantined: 10 → 0.
- 1,507 meta description tags + sitemap.xml + robots.txt for SEO/LLM discoverability.
- AUTO_REVIEW lite pages got a banner CTA to their full-interactive twin + per-trial PubMed abstract hydration with embedded NCT→PMID map.
Internal docs & tests
~/.claude/rules/advanced-stats.mdupdated — PI formula resolved tot_{k-1}per Cochrane v6.5 (was IntHoutt_{k-2}).scripts/tests/test_idempotency.py— 9 tests verifying everyfix_*.py/apply_*.pyis idempotent (prevents the compounding regression class that causedcE 524 → 204 → 80 → 31in an earlier fix).scripts/_js_parse_gate.py— build-time Node parse-check wired into bulk_clone + retro fixers; rolls back any post-rewrite JS that fails to parse.
Pre-session state (preserved for historical reference)
532
Trustworthy (<0.30)
106
Low concern (0.30-0.50)
92
Manual review (0.50-0.70)
5
Quarantined (≥0.70)
Post-session: see audit_table.html for the current banded counts (Trustworthy 2,005 / LowConcern 82 / ManualReview 67 / Quarantined 0 as of 2026-05-25).
Per-trial identity-confidence score (R33 — 1,655 trials)
Composite of 25%·NCT-in-AACT + 20%·drug-in-AACT-intvs + 15%·PMID-present + 10%·year + 10%·name + 20%·evidence[]-non-empty.
718
Excellent (80-100)
545
Good (60-79)
268
Caution (40-59)
119
Poor (20-39)
5
Bad (0-19)
Audit rounds (chronological)
R1-init
Initial 12-method audit + 8-agent scan + deterministic fixes
768 fixes
Sources: deterministic, agent
R1-multi
R1 multi-agent (3 lenses, 77 trials)
11 fixes
Sources: multi-agent
R2
Multi-agent R2 (249 trials, 3 lenses)
204 fixes
Sources: multi-agent
R3
Multi-agent R3 (184 trials, fab-review deep audit)
230 fixes
Sources: multi-agent, quarantines
R4
R4 + risk classifier + aggressive cleanup
38 fixes
Sources: multi-agent, classifier
R5
R5 fidelity vs published landmark trials (16 NCTs)
1 fixes
Sources: landmark trials, calibration
R5b
R5b pool reproduction vs 20 published reference MAs
Sources: published MAs, calibration
8-agent
8-agent blinded TruthCert audit (157 reviews, 1,100 trials)
57 fixes
Sources: 8 blinded agents, TruthCert HMAC
8-agent-ext
8-agent extended fixer + MED + carryforward
53 fixes
Sources: multi-agent
R6abc
Internal-consistency suite (9 checks: direction, copy-paste, baseline-N…)
264 fixes
Sources: internal
R7
AACT cross-verify (LOW+MANUAL band, 1,063 trials)
100 fixes
Sources: AACT 2026-04-12
R7c
AACT verify on OK band (248 trustworthy reviews)
139 fixes
Sources: AACT
R8
PMID-year era heuristic (PubMed indexing rate)
31 fixes
Sources: PubMed indexing
R9
AACT baseline_counts per-arm enrollment check
110 fixes
Sources: AACT baseline_counts
R10
AACT outcome_measurements event-count cross-check
554 fixes
Sources: AACT outcome_measurements
R19
AACT primary_completion_date vs extracted year
197 fixes
Sources: AACT completion dates
R20
Stress-test (re-run R5+R5b on cleaned corpus)
Sources: regression test
R22
MeSH-anchored review-topic vs AACT-conditions
422 fixes
Sources: AACT, curated MeSH dict
R23
Trial acronym vs AACT brief_title + id_information
249 fixes
Sources: AACT id_information
Path-A
PMC OAI full-text evidence injection (29.8% PMC OA hit rate)
12 fixes
Sources: PMC OAI, NCBI E-utilities
R24
AACT design_outcomes type classification (flag-only)
225 flagged
Sources: AACT design_outcomes
R24b
PubMed-directed R24 estimand auto-fix (conservative gate)
10 fixes
Sources: PubMed abstracts
R30
Fully-null trial-row cleanup
Sources: internal
R31-33
Polish suite (Benford after cleanup + decimal precision + confidence score)
Sources: audit metrics
R25-RW
Retraction Watch DB cross-check (Crossref/GitLab, 70,147 retractions)
Sources: Retraction Watch
R26-perf
terser engine minification (1,524 pages, 569 MB saved) + em-dash mojibake repair (1,321 pages) + Sentinel R7/R8 + clone_dashboard auto-minify hook
2,845 fixes
Sources: terser CLI (mangle disabled) · UTF-8 byte-level repair · per-rule WCAG validation
Ground-truth sources
- AACT 2026-04-12 — Clinical Trials Transformation Initiative pipe-delimited snapshot (studies, conditions, interventions, baseline_counts, outcome_measurements, design_outcomes, id_information, primary_completion_date)
- PubMed E-utilities — NCBI metadata (1,190 cached abstracts) + idconv API (PMID↔PMC mapping)
- PMC OAI full-text — NCBI PubMed Central full-text XML (60 papers retrieved, 12 evidence entries injected at ≥3 number matches)
- Retraction Watch (Crossref/GitLab) — 70,147 retractions cross-checked; 0 retracted papers in corpus
- Published landmark trials — NEJM/Lancet primary publications (16 trials, 34 occurrences, 97% byte-exact)
- Published reference MAs — 20 published meta-analyses, REML+HKSJ pool reproduction (93% within Cochrane floor)
- Multi-agent consensus — 3-lens ≥2-of-3 consensus (R1-R4) + 8-agent blinded TruthCert HMAC (157 reviews)
- Internal cross-consistency — direction-inconsistent, copy-paste arms, NCT-era, PMID-cross-NCT, baseline-N mismatch, CI-outside-HR, year-inconsistent-across-reviews, MeSH-anchored topic matching
Files
- FINAL_INTEGRITY_REPORT_V2.md — 232-line consolidated methodology
- fabrication_risk_table.csv — per-review classifier scores
- truthcert/ — 409 HMAC-SHA256 signed per-review manifests
scripts/— every round's auto-fix script (replayable)