Skip to content

Commit bc12440

Browse files
committed
Prepare v2.2.9 release
1 parent 52c49a6 commit bc12440

19 files changed

Lines changed: 802 additions & 43 deletions

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## v2.2.9 - 2026-06-05
4+
5+
v2.2.9 improves handoff robustness and safe rerun behavior.
6+
7+
### Changed
8+
9+
- Prevent accidental cross-genus reuse of an existing outdir; use
10+
`--allow-genus-change` only when intentionally rebuilding an outdir for a
11+
different genus.
12+
- Improve zero accepted checklist guidance by pointing users to
13+
`excluded_lpsn_taxa.tsv` instead of guarded downloads.
14+
- Improve NCBI BioSample transient backend/network failure guidance with
15+
retry/cache-based next steps.
16+
- Expand `package-results --failed-handoff` to include available early
17+
acquisition, cache, and diagnostic artifacts.
18+
- Clarify plan-only run reviews when downloads were not executed.
19+
20+
### Notes
21+
22+
- Normal delivery packaging still requires `manifest.tsv`.
23+
- `--failed-handoff` only expands optional artifacts in failed-handoff mode.
24+
325
## v2.2.8 - 2026-06-04
426

527
### Added

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
cff-version: 1.2.0
22
message: "If you use TypeTreeFlow in academic work, please cite this software."
33
title: "TypeTreeFlow"
4-
version: "2.2.8"
5-
date-released: "2026-06-04"
4+
version: "2.2.9"
5+
date-released: "2026-06-05"
66
abstract: "A guarded command-line workflow for microbial type-strain genome and 16S phylogeny analysis."
77
authors:
88
- name: "TypeTreeFlow developers"

README.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ opt-in flags.
1313
The long-term goal is to collect auditable type-strain genomes and 16S
1414
sequences, compare a query genome against references with ANI, build a 16S
1515
phylogeny, and report reproducible tables, figures, name maps, and summaries.
16-
The current 2.2.8 release is a small handoff/usability release on top of the
16+
The current 2.2.9 release is a small handoff/usability release on top of the
1717
LPSN-first acquisition workflow. It keeps strict evidence boundaries, stable
1818
I/O contracts, guarded execution, and fake-runner tested wrappers, while making
19-
manual supplement review, report navigation, failed-run handoff packaging,
20-
release notes, and install verification easier to follow.
19+
handoff robustness, safe rerun behavior, failed-run packaging, report
20+
navigation, release notes, and install verification easier to follow.
2121

2222
GTDB support is retained for legacy/local metadata workflows and as a discovery
2323
or evidence layer. It is not the authority for species boundaries in the current
@@ -96,7 +96,7 @@ Start with [docs/index.md](docs/index.md) for the full documentation map.
9696
high-level `doctor`, `verify-genus`, `status`, `next-step`,
9797
`package-results`, and `verify-release-genus` commands.
9898
- [docs/release_verification.md](docs/release_verification.md): current
99-
release-verification behavior, v2.2.8 failed-handoff notes, reliability
99+
release-verification behavior, v2.2.9 handoff/safe-rerun notes, reliability
100100
history, and gap-report interpretation.
101101
- [docs/output_layout.md](docs/output_layout.md): canonical output directory
102102
layout, stage ownership, and path invariants.
@@ -217,7 +217,7 @@ typetreeflow --version
217217
typetreeflow doctor
218218
```
219219

220-
## Recommended v2.2.8 workflow
220+
## Recommended v2.2.9 workflow
221221

222222
For ordinary users, `verify-genus` is the main entry point. It prepares the
223223
LPSN-first checklist, NCBI Assembly candidate evidence, optional BioSample
@@ -363,8 +363,9 @@ directories.
363363

364364
When a run fails before `manifest.tsv`, use
365365
`package-results --failed-handoff` to collect `run_state.json`, selection
366-
tables, candidate diagnostics, reports if available, and `README_failure.md`.
367-
Then run `next-step` for specific recovery guidance.
366+
tables, available early acquisition/cache/diagnostic artifacts, reports if
367+
available, and `README_failure.md`. Then run `next-step` for specific recovery
368+
guidance. Normal `package-results` still requires a packageable `manifest.tsv`.
368369

369370
Run the release verification matrix for balanced plus representative policies:
370371

@@ -374,25 +375,27 @@ typetreeflow verify-release-genus Fusobacterium \
374375
--discovery-cache data/fusobacterium_discovery_records.tsv \
375376
--biosample-cache data/fusobacterium_biosample_records.tsv \
376377
--enrich-biosample \
377-
--outdir results/v2_2_7_release_verification \
378+
--outdir results/v2_2_9_release_verification \
378379
--policies balanced,representative \
379380
--force
380381
```
381382

382383
This writes per-policy outdirs plus
383-
`results/v2_2_7_release_verification/verification_matrix.tsv` and
384+
`results/v2_2_9_release_verification/verification_matrix.tsv` and
384385
`release_verification_summary.md`.
385386

386-
In v2.2.8, `verify-release-genus` retains the v2.2.6 shared acquisition cache:
387+
In v2.2.9, `verify-release-genus` retains the v2.2.6 shared acquisition cache:
387388
it writes shared acquisition files under the release outdir and then derives
388389
the balanced and representative policy outputs from that cache. This avoids
389390
duplicate LPSN, assembly-discovery, and BioSample queries across policies.
390391
BioSample enrichment also checkpoints `cache/ncbi/biosample_records.tsv` as
391392
records are fetched, so an interrupted live enrichment can resume from the
392-
partial cache instead of starting over. v2.2.8 keeps the handoff wording,
393+
partial cache instead of starting over. v2.2.9 keeps the handoff wording,
393394
Clostridium limited smoke notes, release notes, and install reproducibility
394-
focus, and adds failed-run handoff packaging; it does not expand discovery
395-
auto-selection or change the evidence model.
395+
focus, improves failed-run handoff packaging, protects existing outdirs from
396+
accidental cross-genus reuse unless `--allow-genus-change` is explicit, and
397+
clarifies plan-only run reviews when downloads were not executed; it does not
398+
expand discovery auto-selection or change the evidence model.
396399

397400
Selection policy semantics:
398401

@@ -475,7 +478,7 @@ rows are not automatically added to `manifest.tsv`, selection rows, completion
475478
metrics, or evidence levels; curator review is still required before any manual
476479
selection or registration change.
477480

478-
The v2.2.8 Clostridium limited smoke is only an exploratory verification of
481+
The v2.2.9 Clostridium limited smoke is only an exploratory verification of
479482
those guarded handoff and packaging paths. It should use local cache or minimal
480483
synthetic inputs, should not run real NCBI Datasets downloads, and is not a
481484
Clostridium genus-completion effort. It does not relax representative-only,

docs/cookbook.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ typetreeflow verify-release-genus Fusobacterium \
121121
--discovery-cache data/fusobacterium_discovery_records.tsv \
122122
--biosample-cache data/fusobacterium_biosample_records.tsv \
123123
--enrich-biosample \
124-
--outdir results/v2_2_7_release_verification \
124+
--outdir results/v2_2_9_release_verification \
125125
--policies balanced,representative \
126126
--force
127127
```
@@ -130,15 +130,16 @@ typetreeflow verify-release-genus Fusobacterium \
130130
rows are exploratory only and must not be counted as strict type-strain
131131
completion.
132132

133-
For v2.2.8 reliability checks, `verify-release-genus` keeps the v2.2.6
133+
For v2.2.9 reliability checks, `verify-release-genus` keeps the v2.2.6
134134
shared acquisition cache for balanced and representative policies, so LPSN,
135135
assembly-discovery, and BioSample lookup are not repeated for each policy.
136136
BioSample enrichment checkpoints `cache/ncbi/biosample_records.tsv` and can
137-
resume from a partial cache after a network interruption. The v2.2.8 cleanup
137+
resume from a partial cache after a network interruption. The v2.2.9 cleanup
138138
keeps the handoff wording, Clostridium limited smoke notes, release notes, and
139-
install reproducibility focus, and adds failed-run handoff packaging; it does
140-
not add expanded discovery auto-selection, provider/ATCC auto-download, or
141-
evidence model changes.
139+
install reproducibility focus, improves failed-run handoff packaging, protects
140+
existing outdirs from accidental cross-genus reuse, and clarifies plan-only run
141+
reviews. It does not add expanded discovery auto-selection, provider/ATCC
142+
auto-download, or evidence model changes.
142143

143144
Release runs also write auditable gap reports when information is incomplete:
144145
`completion/gaps.tsv`, `completion/uncovered_species.tsv`, and
@@ -189,7 +190,7 @@ Assembly/BioSample queries in the plan. If expanded discovery is enabled, those
189190
results are used only for rejected-candidate audit rows and manual supplement
190191
hints; TypeTreeFlow does not auto-promote a candidate into the manifest.
191192

192-
A Clostridium limited smoke for v2.2.8 should be read the same way: it is a
193+
A Clostridium limited smoke for v2.2.9 should be read the same way: it is a
193194
small exploratory cache-based or synthetic run for guarded download planning,
194195
handoff visibility, status, reports, and packaging. It is not Clostridium genus
195196
completion, it should not execute real NCBI Datasets downloads, and it does not

docs/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,9 @@ The repository root currently contains local run outputs and large data under
141141
documentation map; review them separately before deciding what should remain
142142
tracked, be regenerated, or be cleaned locally.
143143

144-
## Recommended v2.2.8 Route
144+
## Recommended v2.2.9 Route
145145

146-
Use README's "Recommended v2.2.8 workflow" section as the shortest current
146+
Use README's "Recommended v2.2.9 workflow" section as the shortest current
147147
operator guide and `cookbook.md` as the quick command cookbook. In brief:
148148
ordinary users should start with `doctor`, run `verify-genus` for plan-only
149149
review, inspect `selection/user_selection.tsv`, inspect
@@ -158,8 +158,8 @@ barrnap 16S is same-genome/internal evidence; Entrez fallback 16S is opt-in
158158
external rescue evidence and must be reported separately. See
159159
`release_verification.md` for current v2.2.x shared acquisition cache,
160160
checkpoint/resume, package failure explanation, gap-report behavior,
161-
Clostridium limited smoke notes, and the v2.2.8 release/install and
162-
failed-handoff focus. External provider planning is metadata/review handoff
161+
Clostridium limited smoke notes, and the v2.2.9 release/install,
162+
failed-handoff, and safe-rerun focus. External provider planning is metadata/review handoff
163163
only; legally obtained local FASTA files enter the workflow through
164164
`--register-external-genomes`, and provider IDs remain outside NCBI
165165
`assembly_accession`.

docs/release_notes_v2_2_x.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# v2.2.x Release Notes
22

3-
These notes consolidate the v2.2.2 through v2.2.8 integration review.
3+
These notes consolidate the v2.2.2 through v2.2.9 integration review.
44
They describe user-visible release-verification behavior only; this document
55
does not introduce new workflow features.
66

@@ -54,6 +54,13 @@ does not introduce new workflow features.
5454
- v2.2.8 adds `package-results --failed-handoff` for failed runs that stop
5555
before `manifest.tsv`, and improves `next-step` recovery guidance for
5656
duplicate selected assembly accessions.
57+
- v2.2.9 improves handoff robustness and safe rerun behavior: cross-genus
58+
outdir reuse is blocked unless `--allow-genus-change` is explicit, zero
59+
accepted checklist runs point users to `excluded_lpsn_taxa.tsv`, likely
60+
transient NCBI BioSample backend/network failures get retry/cache-based next
61+
steps, `package-results --failed-handoff` includes available early
62+
acquisition/cache/diagnostic artifacts, and plan-only run reviews no longer
63+
describe skipped downloads as `0/N` genome coverage.
5764

5865
## Scientific Boundary
5966

@@ -63,7 +70,7 @@ strict, likely type-material, or representative-only evidence boundaries.
6370
v2.2.5 is published, but complex large-genera representative selection had a
6471
species-identity limitation that v2.2.6 fixes before auto-selection.
6572

66-
v2.2.8 does not add full Clostridium completion, expanded discovery
73+
v2.2.9 does not add full Clostridium completion, expanded discovery
6774
auto-selection, provider/ATCC auto-download, or an evidence model rewrite.
6875

6976
Expanded discovery and taxonomy-derived rows are audit-only. They do not

docs/release_verification.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,25 @@
33
This page describes the current release-verification contract. It complements
44
the historical v2.2.0 matrix runbook in `docs/v2_2_0_release_verification.md`.
55

6+
## v2.2.9 Handoff and Safe Rerun Notes
7+
8+
v2.2.9 keeps the v2.2.8 failed-handoff and install reproducibility boundaries
9+
and improves handoff robustness and safe rerun cleanup. Existing outdirs are
10+
protected from accidental cross-genus reuse unless `--allow-genus-change` is
11+
explicit. Zero accepted checklist runs point users to `excluded_lpsn_taxa.tsv`;
12+
likely transient NCBI BioSample backend/network failures point to retry or
13+
cache-based reruns; failed-handoff packages can include available early
14+
acquisition, cache, and diagnostic artifacts; and plan-only run reviews do not
15+
report skipped downloads as `0/N` genome coverage.
16+
17+
Before tagging, confirm package metadata, `typetreeflow.__version__`, CLI
18+
`--version`, README, release docs, citation metadata, and changelog all report
19+
`2.2.9`; run final pytest and smoke checks without live downloads.
20+
21+
Normal `package-results` still requires `manifest.tsv`. The extra early
22+
acquisition/cache/diagnostic artifacts are optional additions only for
23+
`package-results --failed-handoff`.
24+
625
## v2.2.8 Failed-Handoff Notes
726

827
v2.2.8 keeps the v2.2.7 limited-smoke and install reproducibility boundaries
@@ -11,10 +30,6 @@ and adds two release-prep handoff refinements: `package-results
1130
and `next-step` gives specific recovery guidance for duplicate selected
1231
assembly accessions.
1332

14-
Before tagging, confirm package metadata, `typetreeflow.__version__`, CLI
15-
`--version`, README, release docs, citation metadata, and changelog all report
16-
`2.2.8`; run final pytest and smoke checks without live downloads.
17-
1833
## v2.2.7 Limited Smoke Notes
1934

2035
The v2.2.7 Clostridium limited smoke is exploratory verification only. It uses

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "typetreeflow"
7-
version = "2.2.8"
7+
version = "2.2.9"
88
description = "CLI workflow skeleton for type strain genome and 16S phylogeny analysis."
99
readme = "README.md"
1010
requires-python = ">=3.10"

0 commit comments

Comments
 (0)