NVIDIA-NeMo/RL PR #3480 — the test evidence
behind the recovery ledger, independently re-run for this review. Links pinned to bca9a721.
Part 3 of 3 · the ledger · the atomic cut
The standing worry with checkpoint tests is mocks: a "round trip" where the buffer or the sampler is a stub proves the wiring, not the recovery. This page is the audit — which pieces of the PR's test pyramid run the real code, what each layer proves, what we re-ran locally for this review, and the one assertion still missing.
Two details worth trust. The functional hook is injected through a test-only entrypoint — no environment-variable hooks in production code — and its assertions are about a specific group id, not "the run finished". And the matrix restart is honest: the restored side shares no objects with the saving side, down to a fresh data-plane client that must load everything from the files.
All in-scope suites were re-run locally on CPU for this review (macOS, hand-built venv):
test_checkpoint_recovery_matrix + test_checkpoint_dispatch_races
+ test_rollout_recovery + test_checkpointing 147 passed, 14.45s
test_rollout_pump + test_tq_replay_buffer
+ test_sampler_interface 140 passed, 12.90s
0 failed, 0 skipped
The gap: the matrix proves restored groups are present — it checks the
buffer's group ids and ready flags after restore — but nothing ever asks a restored
sampler to select them. The harness even says so:
ready/pending counts are "reported separately for diagnosis only; nothing asserts on them"
(_checkpoint_scenarios.py:263).
Selection is per-sampler logic — one keys on the stamped step, the others on weight
windows — so presence does not imply selectability, and only in_order gets an
end-to-end restore-then-train proof from the functional test.
To check whether this hides a bug, we wrote the missing test against the PR's own harness
and ran it: save the all-complete scenario, restore into a fresh buffer, real
sampler.select(), assert the three restored groups come back. All four
samplers pass. So the product code is fine — this is a missing assertion, and the
review asks the author to fold it into the matrix (the harness already builds the restored
sampler; the assertion is a few lines).