ok the SPY engine self-test (rsy_selftest.js) still passes DAX: 9814 days 1987-12-30 .. 2026-10-20; independent re-read 9814 days ok loader = independent re-read of the raw file: same days, closes and opens, up to 2026-10-20 ok loader: 9,814 days from 1987-12-30 to 2026-10-20 ok loader: no dividend added (performance index) and no interest while out ok loader: the development period starts in 1988, the other boundaries are those of SPY ok loader: the gap days of the data check are not in the data ok signals start on the 250th day, 1988-12-27 ok indicators equal to the reference from day 249 - 0 days differ ok RD2-10 engine = independent reference, trade by trade - 270 vs 270 trades ok RD2-10 no trade before day 249, none entered on its own exit day ok RD2-10 control machinery with the real entries reproduces the real trades ok RD2-10 control entries only above SMA200 and below SMA5, while flat ok RD2-10 control calibrated to the real trade count (20 runs) - 265.0 vs 270 ok RD2-10 rule 3: trades open across a gap found by date - 0 trade(s) ok RD2-5 engine = independent reference, trade by trade - 138 vs 138 trades ok RD2-5 no trade before day 249, none entered on its own exit day ok RD2-5 control machinery with the real entries reproduces the real trades ok RD2-5 control entries only above SMA200 and below SMA5, while flat ok RD2-5 control calibrated to the real trade count (20 runs) - 132.0 vs 138 ok RD2-5 rule 3: trades open across a gap found by date - 0 trade(s) ok mutation detected: exit average of 6 days ok mutation detected: threshold 15 ok mutation detected: entry at the next close ok mutation detected: a dividend-adjusted loader (1% added on one day inside a trade) PASSED