Skip to content

Studio · task 0.2 — studio/schema v0 (review gate) #61

Description

@aliakherati

Phase 0, task 0.2 — see docs/studio/plan/PHASE_0.md. This is a review gate: nothing is built on top of studio/schema until it is reviewed and merged.

Scope

  • SciField(unit=…, range=…, provenance=…, cite=…, derived_from=[…]) over Field(json_schema_extra=…).
  • Minimum-viable RunConfig covering exactly what the Phase-0 slice needs — resist modelling stages 4–7 fully before anything runs.
  • RunSet + axes (GRID / ZIP / LIST) from day one. N = 1 is a RunSet with zero axes; there is no separate single-run code path. Bolting sweeps on later would mean rewriting the config layer, the results schema and the comparison views.
  • Canonical JSON serialisation → stable SHA-256, with hash stability tested across dict insertion order and across Python versions. A drifting hash silently invalidates every cache and fixture (ADR-006).
  • JSON Schema export; round-trip tests.
  • Field provenance populated from the sources that already exist: TABLE_microphysics_parameters.md, TABLE_dilution_parameters.md, and the CoupledScenario docstrings.

Acceptance

  • Every field carries unit, range, description, default and provenance — enforced by a test, not by review attention.
  • The schema is a faithful superset of what run_ensemble.build_scenario() sets for case 30N_20km__sabr220__D2med__a1p0__nuc1__cg1. The field-for-field equivalence proof itself is task 0.4; this task must not make it impossible.
  • No physics computed here. Derived fields are declared with derived_from and left unresolved — the DAG engine is 0.3 and the derivations are 0.5.
  • studio.schema still imports nothing from coupled, JAX, the database or the web layer.

Base branch: studio/dev.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    studioPlume Studio (studio/, docs/studio/)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions