Repository navigation
Validation and Scientific Review
This page is for validators and the named scientific assignee. It distinguishes automated evidence checks from scientific judgment and explains exactly how a decision returns to the release process.
The normative source is the scientific reviewer runbook.
popgenVCF uses complementary evidence:
- analytical fixtures with hand-derived expectations;
- independent implementations and external tools;
- structural invariants;
- checksum-pinned canonical real data;
- cross-version and benchmark comparisons;
- explicit named scientific review.
Routine package tests do not replace production real-data review.
For 0.10.0, scientific review is assigned to:
Marc-Olivier Duceppe
marc-olivier.duceppe@inspection.gc.ca
ORCID: 0000-0003-2130-0427
The assignment covers the production baseline, external concordance, three-backend ancestry case, benchmark history, and final scientific evidence set. Assignment does not confer approval and does not include release authorization.
- A production workflow executes one exact candidate commit and writes immutable evidence, logs, commands, versions, tables, and checksums.
- The reviewer obtains the retained artifact through GitHub Actions, a release, or a controlled institutional channel.
- The reviewer runs the packet builder against an unmodified copy.
- Automated checks verify integrity and summarize declared comparisons.
- The reviewer completes the manual checklist and records approval or rejection with the actual date and artifact-specific notes.
- The completed packet returns through a reviewed pull request or controlled release-evidence channel.
- An integrator records the decision in component evidence and the production evidence index.
- The release-candidate evaluator recomputes every digest and gate, then
reports
READYorBLOCKED.
Nothing is automatically emailed or uploaded. Results are not automatically sent to the reviewer, and a completed decision is not automatically sent back. Artifact production, mechanical comparison, and final readiness calculation are automated; delivery, judgment, and return are explicit human steps.
The first promotion-eligible proposal is workflow run 30065732603:
mkdir -p review-input
gh run download 30065732603 \
--name canonical-production-evidence \
--dir review-inputDo not approve proposal 3: its source checksums lost filename bindings during serialization. If the retained Actions artifact expires, regenerate a candidate-bound proposal and preserve the new transport identity.
Rscript scripts/build_scientific_review_packet.R \
review-input \
scientific-review-packetFor a complete candidate evidence set:
Rscript scripts/build_scientific_review_packet.R \
review-input \
scientific-review-packet \
--strictThe packet contains automated checks, assigned gate status, baseline, concordance and benchmark summaries, a 33-item manual checklist, an unsigned decision template, a Markdown report, and terminal checksums.
Verify it:
cd scientific-review-packet
sha256sum --check scientific-review-packet-SHA256SUMS.txtPossible packet states:
-
INTEGRITY FAILED— do not review or sign; replace or regenerate evidence; -
EVIDENCE INCOMPLETE— component review can continue, but final approval cannot; -
READY FOR MANUAL SCIENTIFIC REVIEW— mechanical checks passed and assigned gates have indexed evidence; scientific approval is still pending.
- every discovered terminal checksum entry;
- evidence-index size and SHA-256 records;
- candidate and gate identities;
- baseline snapshot/observation serialization consistency;
- concordance inventory, role, status, and approval declarations;
- continuous benchmark comparison status;
- likely ancestry evidence inventory;
- absence of symbolic links in retained evidence.
The baseline comparison is not independent: the snapshot and observation table come from the same run. Trace all six values to the retained QC and PCA tables.
Confirm dataset identity/checksums, 2,504 unique complete samples, fixed region
and QC/PCA contract, sample and marker order, all source tables, counts, PCA
behavior, exact count comparisons, and the rationale for relative 1e-6 PCA
variance tolerance.
For each required tool-analysis pair, confirm command, version, executable or container identity, input/sample order, estimator compatibility, citations, tolerances, every long-form comparison row, and the distinction between equivalence and diagnostic evidence.
Failed, skipped, errored, missing, or unapproved equivalence evidence blocks approval.
Confirm ADMIXTURE, fastStructure, and LEA/sNMF used the same biological samples; verify backend conversions and sample-order files; inspect K ranges, seeds, replicates, fit statistics, raw Q matrices, label alignment, RMSE/correlations, consensus evidence, and limitations. Agreement is not proof that K or ancestry components are biologically true.
Confirm benchmark and baseline identity, repetitions, runner comparability, runtime/memory/throughput/scaling checks, declared budget, and historical trend interpretation. Hosted-runner noise must not be represented as a scientific regression without evidence.
Confirm every assigned gate is complete for the same candidate, failures are resolved, claims match methods/results/limitations, and no approval metadata was inferred from successful execution.
- Fill every required row in
manual-review-checklist.tsvwith a status and artifact-specific notes. - Copy
scientific-review-decision-template.json; fill the actual ISO date, overall decision, per-gate decisions, rationale, limitations, and exact artifact identities. - Verify and retain the completed packet checksum.
- Return the packet in a reviewed pull request or controlled release-evidence channel.
The decision template is deliberately pending and is not directly consumed as approval. An integrator must create component-specific approved records and add this approval object to each applicable evidence-index gate:
{
"state": "approved",
"reviewer": "Marc-Olivier Duceppe (ORCID: 0000-0003-2130-0427)",
"reviewed_at": "YYYY-MM-DD",
"notes": "Artifact-specific rationale and limitations."
}The dossier builder then checks the exact artifacts and decision automatically. Release tagging, publication, DOI deposition, and release authorization remain separate later actions.
Where practical, rerun deterministic and integration suites from a clean installation:
Rscript -e 'print(popgenVCF::run_scientific_validation(integration = TRUE))'
Rscript -e 'print(popgenVCF::run_population_structure_validation(integration = TRUE))'
validation/run-validation.shRetain the reproduction separately and compare it with the candidate. Never silently replace the candidate evidence.
popgenVCF documentation · Repository · pkgdown · Issues · MIT License
Users
Validators
Developers
Maintainers