CIT Phase 1 — results-file validator
Tracking issue for Phase 1 of confluence-contracts / the cit tool: a per-module
results-file validator for the SWOT-Confluence workflow. Modules interoperate only through
NetCDF/JSON files on a shared mount, so CIT checks a produced file against a per-module contract
— no module execution or pipeline needed.
Phase 1 delivers, with no golden data required:
- Structural validation — variable existence, dtype, shape, required.
- Metadata-rules validation — SoS attribute rules from
sos metadata.xlsx (--strict fails on violations).
- JSON products — same checks for
.json interfaces, not just NetCDF.
- Output-set completeness — did the module run on every expected reach? (report-only)
- Empty / all-fill detection — ran but produced nothing? (report-only)
consumes ↔ produces cross-check — a registry lint over the whole contract set.
Numeric regression (check 2, golden fixtures) and science hooks (check 3) are deferred to later
phases.
Child tasks (P1-1 → P1-17)
Core (bottom-up): P1-1 → P1-9. Then contracts (P1-10, P1-11, P1-14), quality (P1-12, P1-13),
and the extra coverage (P1-15 → P1-17). Sub-issues are linked below.
CIT Phase 1 — results-file validator
Tracking issue for Phase 1 of
confluence-contracts/ thecittool: a per-moduleresults-file validator for the SWOT-Confluence workflow. Modules interoperate only through
NetCDF/JSON files on a shared mount, so CIT checks a produced file against a per-module contract
— no module execution or pipeline needed.
Phase 1 delivers, with no golden data required:
sos metadata.xlsx(--strictfails on violations)..jsoninterfaces, not just NetCDF.consumes↔producescross-check — a registry lint over the whole contract set.Numeric regression (check 2, golden fixtures) and science hooks (check 3) are deferred to later
phases.
Child tasks (P1-1 → P1-17)
Core (bottom-up): P1-1 → P1-9. Then contracts (P1-10, P1-11, P1-14), quality (P1-12, P1-13),
and the extra coverage (P1-15 → P1-17). Sub-issues are linked below.