Seed Longevity Lab — the downloadable lab (site v0.17.0)

Every analysis component of longevity.seedsofhawaii.org as a standalone,
independently runnable script — in BOTH Python and R, so what happens at
each step is fully inspectable in whichever language you work in. The two
implementations follow one contract and are cross-validated against each
other and against the website engine by the site's test suite.

Python: 3.9+, standard library only (matplotlib just for longevity_plots.py).
R: 4.0+, base R only (stats::glm is the probit engine; base graphics).

INDEPENDENT — each script runs alone on your raw completed-test CSV:
  1  longevity_normalize.(py|R)   upload layer → normalized_assays.csv
  2  longevity_rci.(py|R)         RCI management analysis (overall vs at-recommended)
  3  longevity_formal.(py|R)      formal protocol-specific survival models
  4  longevity_shared_ki.(py|R)   shared-Ki 5 °C vs −18 °C comparison
  5  longevity_models.(py|R)      competing-model AICc workbench
  6  longevity_plots.(py|R)       the three plot families
  7  run_all.(py|R)               chains 1→6

INTERDEPENDENT — the real contingencies, made explicit:
  · normalized_assays.csv is the interchange format: every script accepts it
    in place of a raw CSV (the website exports the identical file)
  · Component 3's RCI-P70 bridge threshold comes from Component 2's baseline
    stage: pass --thresholds rci_accession_intervals.csv to chain them, or
    let it recompute internally
  · Component 4 builds on Component 3's trajectory grouping and QC flags
    (embedded); Component 6 draws what 2–4 compute
  · run_all wires the whole chain:  python run_all.py tests.csv -o out/
                                    Rscript run_all.R tests.csv -o out/

Where a component's behavior deliberately differs from the archival workflow
behind the published catalog, the notes on the /scripts page spell it out
per component.

One row = one completed germination test. Actual sown/tested + germinated
counts are required — no script here ever assumes a sample size.
