This page defines the current release-verification contract: what evidence to collect, where to place it, how to read the verification matrix, and how to interpret incomplete results. It complements the release workflow in release_process.md and the executable gates in release_checklist.md.
Historical v2.2.x release behavior is summarized in release_notes_v2_2_x.md. Older matrix runbooks are retained only as archived historical evidence.
Release verification outputs should normally be outside the repository.
Workspace placement is governed by workspace_policy.md,
repository results/ content is limited by
results_policy.md, and run-directory files are defined in
output_layout.md.
For the current v2.2.14 release, verification is maintenance-only. It confirms release metadata consistency, local release tooling, documentation entry points, architecture audit coverage, package smoke behavior, CLI compatibility and dispatch characterization tests, and offline test coverage. It does not add real download validation, selection-policy changes, evidence-threshold changes, provider automation changes, or workflow behavior changes.
Before tagging, confirm package metadata, typetreeflow.__version__, CLI
--version, README, release docs, citation metadata, and changelog all report
2.2.14; then run the release consistency checker, workspace hygiene checker,
pytest, wheel build, and wheel smoke checks without live downloads unless the
release scope explicitly requires guarded live validation.
Use verify-release-genus when a release needs both balanced and
representative policy checks for the same genus:
python typetreeflow.py verify-release-genus <Genus> \
--outdir <workspace>/runs/release/<run-name> \
--lpsn-cache <release_lpsn_species_cache.tsv> \
--discovery-cache <release_discovery_records.tsv> \
--biosample-cache <release_biosample_records.tsv> \
--enrich-biosample \
--forceverify-release-genus uses a shared acquisition cache so balanced and
representative policy checks do not repeat the same LPSN, assembly-discovery,
and BioSample work. Use verify-genus for a single policy/outdir, status and
next-step to inspect progress, and package-results only after the outdir
has reviewed packageable outputs. Guarded downloads still require the double
opt-in --auto-accept-selection --enable-downloads.
A verification matrix should record each genus/policy case, the chosen outdir, the command or cache inputs, pass/fail status, and any expected limitations. The matrix is release evidence, not a replacement for the current checklist.
Each release-verification outdir can provide:
manifest.tsvandselection/user_selection.tsvcompletion/gaps.tsvcompletion/uncovered_species.tsvcompletion/16s_gaps.tsvcompletion/expanded_discovery_plan.tsv- optional guarded-audit outputs:
completion/expanded_discovery_results.tsv,completion/expanded_discovery_history.tsv,completion/rejected_candidates.tsv, andcompletion/manual_supplement_hints.tsv - report outputs such as
report/summary.mdandreport/run_review.md - package handoff output from
package-results
BioSample enrichment checkpoints cache/ncbi/biosample_records.tsv; reruns can
resume from fetched records. Expanded discovery and taxonomy-derived rows are
audit-only. --enable-expanded-discovery executes the optional second-pass
audit; it does not automatically edit manifest.tsv,
selection/user_selection.tsv, completion metrics, or evidence levels.
TypeTreeFlow release verification does not promise automatic 100% coverage for a genus. It verifies that evidence, gaps, guarded stages, and handoff outputs are auditable.
Keep these evidence tiers separate:
strict_confirmed: strict type-strain evidence.likely_type_material: likely type material that still lacks strict deposit-equivalent confirmation.representative_only: exploratory representative fallback, not strict type-strain completion.
Representative output can pressure-test download, 16S, report, and packaging behavior, but it must not be described as strict type-strain completion.
For 16S interpretation, keep these summary labels distinct:
Same-genome barrnap 16S
Total 16S including Entrez fallback
Fallback warnings
Strict blocking count
barrnap-derived 16S is same-genome/internal evidence when extracted from the
selected genome FASTA. Entrez fallback 16S is external rescue evidence; it is
opt-in only, requires --enable-entrez --email, and should not be merged into
same-genome barrnap coverage. Use --enable-barrnap to resume local
same-genome 16S extraction from a genome-ready manifest; use
--enable-entrez --email only when an explicit external 16S fallback pass is
intended.
Gap categories explain why coverage is partial; they do not relax evidence rules.
insufficient_type_evidence: type evidence is insufficient for the target policy.missing_external_candidate: no external candidate is available yet.workflow_failed_before_selection: workflow or network failure happened before selection.genome_ready_16s_not_found: a genome is ready but 16S was not found.uncovered_checklist_species: checklist coverage remains missing.
Recovery commands follow the same operator boundary as ordinary verification:
offline runs need a real --discovery-cache, live discovery needs
--enable-ncbi-discovery --email, and existing outdirs should continue with
--resume or --continue.