This page records what is implemented in the first slice of issue #18 and what is intentionally not claimed. The remaining end-user occupancy workflow is tracked in follow-up issue #205; code present today is not to be confused with that outstanding work.
| Claim | Implementation receipt | Boundary / evidence |
|---|---|---|
Selectable ZINB differential model |
|
Base R likelihood with zero and count components; the group effect is jointly tested by a 2-df likelihood-ratio test. Count offset is TSS/RLE. BH is applied by the shared result path. Backend Julia/R CI must pass before merge. |
Selectable hurdle negative-binomial differential model |
Same fitter and config/UI path; the positive count likelihood is zero-truncated NB. |
All observed zeros are assigned to the occurrence process. It does not offer a lognormal or Poisson count component yet. |
Model cautions and results |
|
The UI surfaces a caution and exposes the zero-process coefficient. The joint LRT is not a model-selection test and does not establish that the chosen zero process is biologically real. |
Repeated-visit occupancy estimator |
|
Accepts sites × visits × taxa Boolean detection histories; estimates group occupancy and common detection probability; refuses fewer than two visits. This is a lower-level API, not the standard analysis method or endpoint. |
Scientific limitations |
|
No single-visit occupancy claim. Closure and destructive microbiome sampling limitations are stated. Detection covariates are not implemented. |
The follow-up issue linked from #18 owns first-class occupancy configuration and UI, occupancy/detection formula inputs and covariates, identifiability checks, zero-formula/count-distribution options, model diagnostics/comparisons, reference parity, scale benchmarks, schema/provenance completion, and a synchronized wiki roadmap. Until that work lands, do not describe the occupancy estimator as a ready-to-use workflow.
-
Frontend typecheck, production build and frontend unit tests are run locally.
-
Julia/R backend tests are defined in
test/unit/test_differential.jland run by the repository CI workflow. Their successful CI result is required before merge; this sandbox does not have Julia or R installed. -
CI also contains other workflows; each current failure must be inspected and either fixed or shown to be an unrelated, pre-existing non-required lane.