diff --git a/docs/ASSAY_PREREGISTRATION.md b/docs/ASSAY_PREREGISTRATION.md index 7dab38d9..94972145 100644 --- a/docs/ASSAY_PREREGISTRATION.md +++ b/docs/ASSAY_PREREGISTRATION.md @@ -28,7 +28,7 @@ non-reporting of negative results. | Selection algorithm | `pilot-panel` with similarity_threshold=0.75, max_per_seed=4 | | Selection date | [date of `make pilot` run] | | Selection locked at manifest | `outputs/phase3_manifest.json` | -| Confident panel (post-external-predictor filter) | TBD after running CAMPR4 / AMPScanner / dbAMP | +| Confident panel (post-external-predictor filter) | Historical placeholder; external predictor review later completed and summarized in `docs/METRICS_CURRENT.md` | --- diff --git a/docs/PRE_WET_LAB_CHECKLIST.md b/docs/PRE_WET_LAB_CHECKLIST.md index 4596c79e..08c49607 100644 --- a/docs/PRE_WET_LAB_CHECKLIST.md +++ b/docs/PRE_WET_LAB_CHECKLIST.md @@ -6,21 +6,19 @@ > **Current status:** 53/100 breakthrough potential. > After completing this checklist: 55–65/100. > -> **Estimated time:** 2–4 hours (all manual web submissions). +> **Estimated time:** Historical estimate for the original manual-submission pass. +> The external predictor portion has since been completed; remaining blockers are novelty/legal/expert review and wet-lab execution. --- ## Quick Start ```text -1. Submit FASTA to 5 web tools (~30 min) -2. Record results in results CSV (~10 min) -3. Generate consensus report (~1 min) -4. APD3/DRAMP novelty BLAST (~30 min) -5. Invite expert reviewer (~1 week) -6. Generate reviewer questionnaires (~1 min) -7. Lock pre-registration (~10 min) -8. Order synthesis (vendor lead time) +1. Review current external predictor evidence (done historically; see current-state docs) +2. Confirm full novelty / FTO posture (~30-90 min depending on scope) +3. Invite expert reviewer (~1 week) +4. Lock pre-registration (~10 min) +5. Order synthesis (vendor lead time) ``` --- @@ -371,8 +369,8 @@ make lint | Step | Score | Gate 6 | Gate 7 | Synthesis ready? | |------|:-----:|:------:|:------:|:----------------:| -| Current | 53 | PENDING | PENDING | ❌ | -| After Step 1 (predictors filled) | 56–58 | PASS/FAIL | PENDING | ❌ | +| Historical baseline before external predictor completion | 53 | PENDING | PENDING | ❌ | +| After external predictor completion | 56–58 | PASS/FAIL | PENDING | ❌ | | After Step 3 (expert review) | 60–65 | PASS/FAIL | PASS | ⚠️ conditional | | After Steps 4–6 (all gates pass) | 65–70 | PASS | PASS | ✅ | diff --git a/docs/WAVE_0_5_BASELINE.md b/docs/WAVE_0_5_BASELINE.md index 22ebfdf5..5ba45efd 100644 --- a/docs/WAVE_0_5_BASELINE.md +++ b/docs/WAVE_0_5_BASELINE.md @@ -5,7 +5,8 @@ > Wet-lab validation by qualified collaborators is required before any biological claim. > Known/control candidates are not novelty claims. > High-risk candidates are labeled explicitly. -> External predictor columns are PENDING — they require manual web-tool submission. +> Historical note: this baseline freeze predates the completed Wave 0.5 external screen. +> Current external-predictor status now lives in `docs/METRICS_CURRENT.md` and `docs/ROADMAP.md`. Generated: 2026-06-29 @@ -51,7 +52,7 @@ and classifies each candidate into a role that guides Wave 1 panel construction. |---|---| | LEAD | Novel scaffold with strong activity/safety balance. Priority for synthesis. | | HIGH_UPSIDE_RISKY | High predicted activity, but hemolysis or off-target risk flag present. | -| PENDING | External predictor or safety data needed to finalize role. | +| PENDING | Historical placeholder at the baseline-freeze date; superseded by later Wave 0.5 panel decisions. | | CONTROL | Known AMP (KWKLFKK/magainin class). Positive control for assay calibration. | | SAR_CONTROL | Known-variant (tachyplesin-like). SAR anchor, not a novelty lead. | | LOW_PRIORITY | Close relative to known AMPs. Useful but weak novelty position. | @@ -66,16 +67,18 @@ and classifies each candidate into a role that guides Wave 1 panel construction. | SEED-003 | 2 | Tachyplesin-like — KNOWN_VARIANT | Retain as SAR_CONTROL | | SEED-005 | 1 | KWKLFKK-family close relative | CLOSE_RELATIVE, LOW_PRIORITY | | SEED-006 | 4 | Balanced novel helices — strongest current leads | Retain all 4 as LEAD | -| SEED-007 | 4 | Temporin-G analogs — activity/safety mixed | PENDING: requires external predictor screen | +| SEED-007 | 4 | Temporin-G analogs — activity/safety mixed | Historical baseline note; final Wave 1 disposition is recorded elsewhere | | SEED-008 | 4 | Trp-rich high-aromatic — high activity, HemoFinder risk | HIGH_UPSIDE_RISKY | -| SEED-009 | 4 | Pro-rich intracellular-style — AntiCP off-target risk | PENDING: off-target concern | +| SEED-009 | 4 | Pro-rich intracellular-style — AntiCP off-target risk | Historical baseline note; final Wave 1 disposition is recorded elsewhere | --- ## External Predictor Status -All external predictor columns are currently PENDING. -Manual web submission is required for: +Historical baseline state only: at the time this file was frozen, external predictor fields had not yet been filled. +That is no longer the current repo state. The completed Wave 0.5 external screen is summarized in `docs/METRICS_CURRENT.md`, `docs/ROADMAP.md`, and `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md`. + +The original manual-submission tool stack was: | Tool | URL | Notes | |---|---|---| diff --git a/docs/WAVE_0_5_SCAFFOLD_DIVERSIFICATION_PLAN.md b/docs/WAVE_0_5_SCAFFOLD_DIVERSIFICATION_PLAN.md index 982d7b82..1a4bde37 100644 --- a/docs/WAVE_0_5_SCAFFOLD_DIVERSIFICATION_PLAN.md +++ b/docs/WAVE_0_5_SCAFFOLD_DIVERSIFICATION_PLAN.md @@ -29,7 +29,7 @@ correlated-failure risk. The goal is not more candidates — it is more independ | 2 — Scaffold Search | Defined 10 new independent families | (design parameters in `scripts/generate_wave0_5_candidates.py`) | | 3 — Candidate Generation | Generated 118 raw candidates | `outputs/wave0_5_raw_candidates.csv` | | 4 — Internal Filter | Shortlisted 60 at internal gates | `outputs/wave0_5_internal_shortlist.csv` | -| 5 — External Predictors | Created PENDING submission templates | `outputs/wave0_5_external_predict_results.csv`, `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md` | +| 5 — External Predictors | Planned manual submissions; later completed and summarized in current-state docs | `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md`, `docs/METRICS_CURRENT.md` | | 6 — Novelty Audit | Classified 60 shortlist vs 92 references | `outputs/wave0_5_novelty_audit.csv`, `docs/WAVE_0_5_NOVELTY_AUDIT.md` | | 7 — Panel Selection | Selected 24-candidate Wave 1 panel | `outputs/wave1_final_panel.csv`, `docs/WAVE_1_PANEL_RECOMMENDATION.md` | | 8 — Evidence Certificates | Generated machine-readable certs | `outputs/evidence_wave0_5/*.json` | @@ -70,9 +70,9 @@ correlated-failure risk. The goal is not more candidates — it is more independ | Task | Status | Blocker | |---|---|---| -| External predictor screen (all 60 shortlist) | PENDING | Manual web submissions to CAMPR4, AMPScanner, Macrel, AMPActiPred, HemoFinder, AntiCP | -| Wave 0.5 Gate W0.5-3 (activity consensus) | PENDING | Requires external predictor results | -| Wave 0.5 Gate W0.5-4 (safety annotation) | PENDING | Requires external predictor results | +| External predictor screen (all 60 shortlist) | COMPLETE | Reflected in `docs/METRICS_CURRENT.md` and `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md` | +| Wave 0.5 Gate W0.5-3 (activity consensus) | COMPLETE | Gate result recorded after external screen | +| Wave 0.5 Gate W0.5-4 (safety annotation) | COMPLETE | Gate result recorded after external screen | | FTO (freedom-to-operate) for CLOSE_RELATIVE candidates | PENDING | Legal review | | Expert review of HIGH_UPSIDE_RISKY candidates | PENDING | Wet-lab collaborator | @@ -107,9 +107,9 @@ activity_score >= 0.80 AND safety_score >= 0.65 → PASS_HIGH_UPSIDE | `outputs/wave0_5_raw_candidates.csv` | 118 raw generated candidates | | `outputs/wave0_5_internal_shortlist.csv` | 60 shortlisted candidates | | `outputs/wave0_5_internal_excluded.csv` | 58 excluded with reasons | -| `outputs/wave0_5_external_predict_results.csv` | 60 rows, external columns PENDING | -| `outputs/wave0_5_external_consensus.csv` | 60 rows, consensus columns PENDING | -| `outputs/wave0_5_safety_consensus.csv` | 60 rows, safety columns PENDING | +| `outputs/wave0_5_external_predict_results.csv` | Optional locally generated artifact from the completed external screen; not committed in every checkout | +| `outputs/wave0_5_external_consensus.csv` | Optional locally generated artifact from the completed external screen; not committed in every checkout | +| `outputs/wave0_5_safety_consensus.csv` | Optional locally generated artifact from the completed external screen; not committed in every checkout | | `outputs/wave0_5_novelty_audit.csv` | 60 rows with novelty classes | | `outputs/wave1_final_panel.csv` | 24 final panel candidates | | `outputs/wave1_reserve_panel.csv` | Reserve candidates | diff --git a/docs/WAVE_1_PANEL_RECOMMENDATION.md b/docs/WAVE_1_PANEL_RECOMMENDATION.md index dd650456..960db37b 100644 --- a/docs/WAVE_1_PANEL_RECOMMENDATION.md +++ b/docs/WAVE_1_PANEL_RECOMMENDATION.md @@ -40,8 +40,8 @@ All candidates have: - Synthesis risk flags - Machine-readable evidence certificates (Phase 8) -External predictor results (CAMPR4, AMPScanner, Macrel, AMPActiPred, HemoFinder, AntiCP) are -PENDING and must be completed before wet-lab synthesis submission. +External predictor review for Wave 0.5 was completed after this panel recommendation was first drafted. +Treat this file as the panel-selection record; use `docs/METRICS_CURRENT.md` for the current external-consensus state. No antimicrobial activity is claimed until qualified wet-lab validation. diff --git a/tests/test_docs_consistent.py b/tests/test_docs_consistent.py index c96d63d8..09e188e7 100644 --- a/tests/test_docs_consistent.py +++ b/tests/test_docs_consistent.py @@ -163,3 +163,21 @@ def test_doc_wave05_generated_outputs_claimed_only_if_present(self): assert "Machine-readable: `outputs/wave0_5_external_predict_results.csv`" not in metrics_text assert "PENDING (60 rows, all PENDING)" not in summary_text assert "Generated only after running `make wave0-5-fill-external`" in summary_text + + def test_doc_wave05_historical_docs_do_not_pose_as_live_pending_state(self): + """Historical Wave 0.5 docs must label superseded pending steps as historical.""" + baseline_text = (DOCS_DIR / "WAVE_0_5_BASELINE.md").read_text(encoding="utf-8") + scaffold_text = (DOCS_DIR / "WAVE_0_5_SCAFFOLD_DIVERSIFICATION_PLAN.md").read_text( + encoding="utf-8" + ) + prereg_text = (DOCS_DIR / "ASSAY_PREREGISTRATION.md").read_text(encoding="utf-8") + checklist_text = (DOCS_DIR / "PRE_WET_LAB_CHECKLIST.md").read_text(encoding="utf-8") + wave1_text = (DOCS_DIR / "WAVE_1_PANEL_RECOMMENDATION.md").read_text(encoding="utf-8") + + assert "Historical note: this baseline freeze predates the completed Wave 0.5 external screen." in baseline_text + assert "Historical baseline state only" in baseline_text + assert "External predictor screen (all 60 shortlist) | COMPLETE" in scaffold_text + assert "Wave 0.5 Gate W0.5-3 (activity consensus) | COMPLETE" in scaffold_text + assert "Historical placeholder; external predictor review later completed" in prereg_text + assert "The external predictor portion has since been completed" in checklist_text + assert "External predictor review for Wave 0.5 was completed after this panel recommendation was first drafted." in wave1_text