# Release notes — R2026.25 (data package 1.20.0, 2026-10-12)

Generated by `catalog.release.release_notes` from package 1.19.1 (R2026.24, 2026-10-10) → 1.20.0. Every number below is computed from the two packages; dates come from VERSION.json.

## Catalog (human gut, all ages: `gut_*` tables)

| entity | 1.19.1 | 1.20.0 | added | removed |
|---|---|---|---|---|
| catalog studies | 2,893 | 2,798 | 0 | 95 |
| catalog samples | 588,558 | 573,001 | 1,520 | 17,077 |
| sample × field values (current) | 4,137,747 | 4,216,259 | +78,512 |  |
| catalog runs (`gut_runs`) | 738,792 | 718,658 | -20,134 |  |

Per-field coverage over all catalog samples (`gut_sample_metadata_wide`):

| field | n 1.19.1 | cov | n 1.20.0 | cov | Δ n |
|---|---|---|---|---|---|
| `age_category` | 382,141 | 64.9% | 377,233 | 65.8% | -4,908 |
| `country` | 539,556 | 91.7% | 523,605 | 91.4% | -15,951 |
| `health_condition` | 287,466 | 48.8% | 285,987 | 49.9% | -1,479 |
| `subject_id` | 438,961 | 74.6% | 427,176 | 74.6% | -11,785 |
| `age_at_collection_days` | 168,354 | 28.6% | 165,005 | 28.8% | -3,349 |
| `sex` | 192,382 | 32.7% | 192,169 | 33.5% | -213 |
| `detailed_location` | 307,507 | 52.2% | 309,721 | 54.1% | +2,214 |
| `lifestyle` | 19,989 | 3.4% | 18,872 | 3.3% | -1,117 |
| `collection_date` | 435,563 | 74.0% | 440,066 | 76.8% | +4,503 |
| `intervention` | 48,569 | 8.3% | 49,152 | 8.6% | +583 |
| `antibiotic_exposure` | 115,253 | 19.6% | 115,622 | 20.2% | +369 |
| `bmi` | 52,697 | 9.0% | 53,613 | 9.4% | +916 |
| `timepoint_label` | 181,731 | 30.9% | 179,698 | 31.4% | -2,033 |
| `diet` | 14,427 | 2.5% | 16,929 | 3.0% | +2,502 |
| `smoking_status` | 12,472 | 2.1% | 13,957 | 2.4% | +1,485 |
| `medication` | 10,048 | 1.7% | 10,552 | 1.8% | +504 |
| `stool_consistency_bristol` | 3,038 | 0.5% | 3,038 | 0.5% | +0 |

## Registry (`registry_studies`)

| entity | 1.19.1 | 1.20.0 | added | removed |
|---|---|---|---|---|
| registry studies | 64,369 | 64,369 | 0 | 0 |

## Infant extension: studies and samples

| entity | 1.19.1 | 1.20.0 | added | removed |
|---|---|---|---|---|
| included studies | 389 | 389 | 0 | 0 |
| catalog samples | 153,238 | 153,238 | 0 | 0 |

## Infant extension: per-field coverage on `catalog_scope`

Recomputed from `sample_metadata_wide` (non-null values among catalog_scope rows: 72,254 → 72,254); field list from `field_coverage_summary.csv`.

| field | n 1.19.1 | cov | n 1.20.0 | cov | Δ n |
|---|---|---|---|---|---|
| `probiotic_exposure` | 2,573 | 3.6% | 2,573 | 3.6% | +0 |
| `preterm_status` | 32,289 | 44.7% | 32,289 | 44.7% | +0 |
| `gestational_age_weeks` | 12,256 | 17.0% | 12,256 | 17.0% | +0 |
| `delivery_mode` | 23,066 | 31.9% | 23,066 | 31.9% | +0 |
| `feeding_mode` | 11,312 | 15.7% | 11,312 | 15.7% | +0 |
| `antibiotic_exposure` | 12,576 | 17.4% | 12,576 | 17.4% | +0 |
| `age_at_collection_days` | 52,582 | 72.8% | 52,582 | 72.8% | +0 |
| `birth_weight_grams` | 10,436 | 14.4% | 10,436 | 14.4% | +0 |
| `country` | 69,267 | 95.9% | 69,267 | 95.9% | +0 |
| `maternal_antibiotics` | 8,317 | 11.5% | 8,317 | 11.5% | +0 |
| `hmo_supplementation` | 1,256 | 1.7% | 1,256 | 1.7% | +0 |
| `nec_status` | 5,302 | 7.3% | 5,302 | 7.3% | +0 |
| `health_condition` | 6,284 | 8.7% | 6,284 | 8.7% | +0 |
| `multiple_birth` | 4,792 | 6.6% | 4,792 | 6.6% | +0 |
| `sibling_in_study` | 3,272 | 4.5% | 3,272 | 4.5% | +0 |
| `geo_subregion` | 26,468 | 36.6% | 26,468 | 36.6% | +0 |
| `sex` | 32,296 | 44.7% | 32,296 | 44.7% | +0 |
| `timepoint_label` | 27,035 | 37.4% | 27,035 | 37.4% | +0 |
| `subject_id` | 42,930 | 59.4% | 42,930 | 59.4% | +0 |

## Triage verdict flips (`universe_studies_all.triage_verdict`)

Universe 9,581 → 9,581 studies; verdict distribution 1.20.0: exclude 9,140, include 389, uncertain 52. **0 flips** among studies present in both packages; 0 studies new to the universe, 0 removed.

## Findings applied in this release (`value_history` rows new since the previous package)

value_history 46,587 → 46,587 rows; **0 new rows**.

`APPLY_FINDINGS_DIFF.md` is shipped in the package.

## Sandpiper snapshot

|  | 1.19.1 | 1.20.0 |
|---|---|---|
| sandpiper_version | 2.0.0 | 2.0.0 |
| zenodo_record | 20419175 | 20419175 |
| profiled samples | 79,473 | 79,473 |

## Gold metrics (`extraction_gold_eval_hires.csv`, curatedMetagenomicData hi-res set)

| field | gold n | cov 1.19.1 | prec 1.19.1 | rec 1.19.1 | cov 1.20.0 | prec 1.20.0 | rec 1.20.0 |
|---|---|---|---|---|---|---|---|
| `age_days` | 3,346 | 0.959 | 0.991 | 0.951 | 0.959 | 0.991 | 0.951 |
| `born_method` | 2,546 | 0.937 | 0.995 | 0.932 | 0.937 | 0.995 | 0.932 |
| `feeding_practice` | 693 | 0.648 | 0.891 | 0.577 | 0.648 | 0.891 | 0.577 |
| `premature` | 1,998 | 0.961 | 1.000 | 0.961 | 0.961 | 1.000 | 0.961 |
| `antibiotics_current_use` | 2,534 | 0.946 | 0.867 | 0.820 | 0.946 | 0.867 | 0.820 |
| `gestational_age` | 1,998 | 0.264 | 1.000 | 0.264 | 0.264 | 1.000 | 0.264 |

## Schema changes

New files: `gut_metadata_contradictions.parquet`, `gut_pass_coverage.csv`
Removed files: none

| table | columns added | columns removed |
|---|---|---|
| `gut_studies.parquet` | `n_contradicted_samples`, `contradiction_summary`, `n_relations`, `longitudinal_resolved`, `relatedness_resolved` | — |

VERSION.json: `package_version`=1.20.0, `previous_release_id`=R2026.24, `release_id`=R2026.25, `release_tag`=data-v1.20.0

## Bitemporal columns (`release_added` / `release_retired` / `package_added`)

`sample_determinations_all.parquet`: 619,647 current + 1,316 retired rows (0 retired in R2026.25). Rule for retired rows: value_history.status in ['superseded', 'moved_to_parent_biosamples', 'recommitted_out_of_scope_host', 'recommitted_out_of_scope_isolate'].

| release_added (current determinations) | rows |
|---|---|
| 1.0.0 | 605,707 |
| 1.1.0 | 3,632 |
| 1.2.0 | 9,559 |
| R2026.3 | 749 |

| release_retired (retired determinations) | rows |
|---|---|
| 1.1.0 | 75 |
| 1.2.0 | 245 |
| 1.2.1 | 295 |
| 1.2.2 | 701 |

Pre-1.3.0 values of `release_added` are reconstructed from `value_history.change_stage` / `src_track` — see `docs/RELEASES.md` §3 for exactness per row class.

## Token cost

LLM tokens this cycle: ≈ 12 M tokens (16 sub-agents + 4 follow-ups re-running shards that duplicated a sibling) (docs/CYCLE_LOG.md row `R2026.25`)
