Motivation
Checkpointing is currently entangled with save/postprocess paths. Downstream runs have OOMed while materializing full-state saves, failed after the solve because a checkpoint dependency was absent, produced non-restorable checkpoints, or lost outputs after late artifact failures.
A checkpoint is durable execution state, not a diagnostic observation or an MLflow artifact convention.
Scope
Define a CheckpointStore protocol with save, restore, validate, list, and latest operations. Add versioned metadata including:
- checkpoint/schema version;
- program identity and compatibility version;
- config/provenance and structural fingerprints;
- simulation time, step, and chunk identity;
- PyTree paths, shapes, dtypes, and logical sharding;
- package/code versions.
Require atomic commit semantics. Save the solver carry directly rather than routing it through ObservationPlan/SaveAt buffers. Support restoration into a compatible target topology. Implement initial null and local/Orbax-backed stores plus checkpoint policy in a run plan.
Acceptance criteria
Dependencies
Out of scope
- Transparent restoration across arbitrary physics/schema changes.
- A general distributed object store beyond the initial filesystem/Orbax backend.
Motivation
Checkpointing is currently entangled with save/postprocess paths. Downstream runs have OOMed while materializing full-state saves, failed after the solve because a checkpoint dependency was absent, produced non-restorable checkpoints, or lost outputs after late artifact failures.
A checkpoint is durable execution state, not a diagnostic observation or an MLflow artifact convention.
Scope
Define a CheckpointStore protocol with save, restore, validate, list, and latest operations. Add versioned metadata including:
Require atomic commit semantics. Save the solver carry directly rather than routing it through ObservationPlan/SaveAt buffers. Support restoration into a compatible target topology. Implement initial null and local/Orbax-backed stores plus checkpoint policy in a run plan.
Acceptance criteria
Dependencies
Out of scope