Compatibility boundary
The package's canonical APIs use named EventMetadata fields and the version
1 checkpoint schema. Compatibility is explicit and one-way: old artifacts are
adapted into the new representation and are never rewritten implicitly.
| Artifact or behavior | Supported | Boundary | Notes |
|---|---|---|---|
New checkpoint (schema_version: 1) |
yes | CheckpointManager |
Full model/lifecycle resume when state is present |
Legacy model_epoch_N.pt checkpoint |
yes | gnn4colliders.compat.load_legacy_checkpoint |
Model state and active early-stop fields are adapted |
| Legacy DDP/compiled prefixes | yes | normalize_legacy_state_dict_keys |
Supports module. and _orig_mod. |
| Legacy ROOT-GNN classifier name | yes | map_legacy_edge_network_state_dict |
Maps classify to classifier |
| Legacy optimizer state | partial | legacy checkpoint adapter | Loaded when present; scheduler state is not available in the historical format |
| Legacy scheduler state | no | — | Historical checkpoints do not carry a supported scheduler state |
| Positional tracking rows | yes, at ingestion boundary | EventMetadata.from_legacy_tracking |
Exactly tracking[0] = fold, tracking[1] = weight; shorter rows fail |
| Generic/unknown tracking layouts | no | — | The package does not guess historical column meanings |
| Modern NPZ output | yes | inference.write_npz |
Named fields: sample_id, logits, scores, predictions, and available metadata |
Historical tracking_info NPZ output |
no | — | No active consumer remains; positional output is intentionally unsupported |
Legacy YAML module/class/args |
compatibility only | configuration boundary | Accepted only where the semantic factory can safely interpret it; new configs use semantic model names |
The frozen parity fixtures and root-gnn-parity-baseline tag preserve the
historical observations for parity tests and investigation. Production modules
do not import executable historical model code.