]> Piment Noir Git Repositories - freqai-strategies.git/commit
fix(reforcexy): close the review findings on the gate and its harness
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 2 Oct 2026 08:42:40 +0000 (10:42 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 2 Oct 2026 08:42:40 +0000 (10:42 +0200)
commitcd52260cafd29e465a5417b2e7ad9276f02ddecf
tree8b13f14f1449c532d406db69f1ee40f1c33d8f9d
parent5367df0dfe2e1b3755e5da1e2dd80e110facb50d
fix(reforcexy): close the review findings on the gate and its harness

Two of the guards could not fail on the defect they name.

The measured-file guard filtered registrations by the dotted prefix, which
discarded exactly the bare-stem duplicate its own comment called out as the
threat, so it stayed green with the shadow copy live. It now counts every
registration shape-agnostically, and a second guard rejects any measured file
registered under a bare stem. Both walks were also one level too high: they
scanned `ReforceXY/` and so matched the out-of-scope reward-space modules.

The shuffle guard asserted the identity of the comparator the harness had
just installed, which a constant comparator would satisfy. It now asserts the
ORDER the loader produces — alphabetical exactly when no seed is set, and not
alphabetical when one is — with the seeded comparator rebuilt rather than read
out of the module, so the seed is actually exercised.

Also from review: the hyperopt eval-frequency test was a fixed point that
certified a reduction it never performed, so deleting the reduction left it
green; the net-arch tests asserted a key set and a type where the names
claimed widths; the numpy restore compared one element of a five-tuple and
could not see an advanced stream position; the CI step was named for an
ordering it cannot permute, since unittest sorts module and class order
alphabetically and consults no hook for either; and the sampler-pin comment
claimed a guarantee two wholesale call sites void.

92 tests green under four orderings; gate exits 0 at 57.1%; ruff clean;
basedpyright snapshot unchanged.
.github/workflows/quality.yml
README.md
ReforceXY/tests/qa_support.py
ReforceXY/tests/test_model_schedules_params_and_net.py
ReforceXY/tests/test_suite_contract.py