| # End-to-end reference validation |
|
|
| Task 21 compares staged event identity, labels, folds, weights, globals, node |
| features, topology, edge features, batching, fixed-weight forward, loss and |
| metrics, one optimizer step, short training, checkpoint reload, and inference. |
| The first failing stage is retained in JSON and Markdown reports. |
|
|
| Legacy and rewrite extraction may use separate environments. Each writes the |
| version-1 artifact described in `validation/README.md`; the comparator never |
| imports legacy modules or DGL graph objects. Record ROOT file/tree, selection, |
| event count, file size, SHA-256, branches, seeds, versions, device and source |
| identities in the artifact manifest. Do not use an absolute personal path as a |
| scientific event identity. |
|
|
| The captured runtime versions and seed policy are recorded in |
| `validation/manifests/environments.json`; the HF composite fixture provenance |
| is recorded in `validation/manifests/multiclass_fixture.json`. |
|
|
| For the portable public regression, run: |
|
|
| ```bash |
| uv run python -m validation.run_public_validation |
| ``` |
|
|
| This downloads or verifies the pinned `HWresearch/Delphes` 64-event fixture |
| and compares the current rewrite against the checked-in legacy golden output. |
|
|
| Strict parity applies to preprocessing, topology, fixed forward, loss, and |
| one-step CPU updates. Multi-epoch, GPU and DDP comparisons are scientific: |
| compare curves, metrics, distributions and event-level correlations. Named |
| metadata, modern NPZ names and the version-1 checkpoint schema are expected |
| interface differences and must be reported explicitly. |
|
|
| Run the existing gates separately: |
|
|
| ```bash |
| GNN4COLLIDERS_REQUIRE_ROOT_GNN=1 uv run pytest |
| uv run ruff check . |
| ``` |
|
|