Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion docs/50_LOOP_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,11 @@ Phase 4: ✅ Complete (Loops 40–49)
| 28 ✅ | Policy version bump workflow for when real data arrives | `scripts/bump_recalibration_policy.py`: standalone script with `--dry-run`, decision-log guard, auto-increment + write. CI guard in `ci.yml` validates policy version changes against base branch. v0.5.49. 9 tests. | CI rejects policy PRs without valid decision log; `make bump-policy-version` and `make bump-policy-version-dry-run` available |
| 29 ✅ | No public negative-result archive format. If Wave 1 yields all negatives, where do they go? | `docs/NEGATIVE_RESULT_ARCHIVE.md`: full template with entry schema, procedures, automation notes, and limitations. Covers pre-selection rejects, selected-untested, lab inactives, lab toxic, control failures. v0.5.50. | Template complete enough for a lab partner to fill; schema defines 18 fields with required/conditional markers |

**All 50 loops complete.**
**Next loop:** None. All 50 loops complete. See Loop 50 below.

| Loop | Bottleneck | Deliverable | Verification |
|------|-----------|-------------|-------------|
| 50 ✅ | Reproducibility report lab_batch_pack check used wrong path (Makefile target, not file path); plan header stale | Fixed `full_reproducibility_report.py` to check for script. Updated plan docs. v0.5.70 | Report now correctly shows all Phase 4 artifacts. 2021 tests |

**Phase 2 exit criteria (all 5 met ✅):**
- ✅ `make calibration-loop` runs from clean checkout, produces batch-2 manifest
Expand Down
2 changes: 1 addition & 1 deletion docs/METRICS_CURRENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Machine-readable snapshot: `outputs/metrics_snapshot.json` regenerated with `mak
> **Purpose:** One authoritative table of current pipeline metrics. If any doc disagrees
> with this file, this file wins. Updated whenever benchmark/benchmark config changes.
>
> **Last updated:** 2026-07-06 (culmination — v0.5.69)
> **Last updated:** 2026-07-06 (loop 50 polish — v0.5.70)
> **New in v0.5.65:** `scripts/build_lab_batch_pack.py` now writes `chain_of_custody.json` and `MANIFEST.json` into lab batch packs. The custody file includes SHA-256 hashes for `panel.csv`, the ordered candidate list, each candidate sequence, and each evidence certificate. `--verify-pack` verifies archive integrity and detects tampering. These hashes prove identity/integrity only, not biological activity, safety, or synthesis success. 5 tests.
> **New in v0.5.64:** `schemas/decision_log.schema.json` — 12-field JSON Schema for human review decisions. Covers 9 decision types from AGENTS.md §8. Dissent conditional. 11 tests. 2000 total.
> **New in v0.5.63:** `scripts/build_lab_batch_pack.py` — generates single zip with candidate CSV, 36 evidence certs, protocol refs, controls manifest, data return template. `make lab-batch-pack`. 10 tests. 1989 total.
Expand Down
13 changes: 13 additions & 0 deletions docs/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Roadmap

## v0.5.70 — Loop 50: Reproducibility Report Polish ✓ (2026-07-06)

Fixed lab_batch_pack check in reproducibility report (was checking for
a Makefile target; now checks for the build script). All 50 loops complete.

Changes:
- ``scripts/full_reproducibility_report.py`` — Fixed lab_batch_pack path
to check for ``scripts/build_lab_batch_pack.py`` instead of ``make
lab-batch-pack``. Updated loops_completed to 50.
- ``docs/50_LOOP_PLAN.md`` — Added Loop 50 entry. Next loop set to "None."
- ``docs/METRICS_CURRENT.md`` — Changelog updated.
- 2021 tests passing.

## v0.5.69 — Culmination Reproducibility Report (Loop 49) ✓ (2026-07-06)

All 49 loops complete. Final reproducibility report documents pipeline
Expand Down
4 changes: 2 additions & 2 deletions scripts/full_reproducibility_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def build_report() -> dict:
"report_type": "full_reproducibility",
"pipeline_version": __version__,
"generated_at": datetime.now(timezone.utc).isoformat(),
"loops_completed": 49,
"loops_completed": 50,
"phases_completed": {
"phase_0_structure": True,
"phase_1_benchmark_honesty": True,
Expand Down Expand Up @@ -98,7 +98,7 @@ def build_report() -> dict:
"pass_fail_criteria": "configs/wave1_pass_fail.yaml",
"expert_review_template": ".github/ISSUE_TEMPLATE/expert_review.yml",
"decision_log_schema": "schemas/decision_log.schema.json",
"lab_batch_pack": "make lab-batch-pack",
"lab_batch_pack": "scripts/build_lab_batch_pack.py",
"analysis_plan": "docs/WAVE1_ANALYSIS_PLAN.md",
"data_return_validation": "scripts/validate_lab_data_return.py",
"publication_pack": "docs/PUBLICATION_PACK.md",
Expand Down
2 changes: 1 addition & 1 deletion tests/test_full_reproducibility_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
def test_report_builds():
report = build_report()
assert report["report_type"] == "full_reproducibility"
assert report["loops_completed"] == 49
assert report["loops_completed"] == 50
assert "sections" in report


Expand Down
Loading