# P3-S23 — ML READINESS ```text Date : 2026-08-26 Session : P3-S23 — corrected-population pre-registered ML baseline Comparator : P3-S20 walk-forward baseline (FROZEN) Status : COMPLETE (research baseline only) ``` ## Decision ```text Corrected-population logistic baseline : B — WEAK / INCONSISTENT SIGNAL ML readiness (for any NEXT step, if separately authorized): NOT READY to escalate model family / calibration / feature work on the strength of this corrected baseline. ``` ## Rationale The corrected population does **not** reproduce the frozen P3-S20 signal as a stable OOS ranking edge: ```text pooled OOS ROC-AUC : 0.5235 (frozen P3-S20 0.5792; CI [0.450, 0.592]) fold ROC (1..3) : 0.5393 / 0.5376 / 0.4644 (fold-3 collapse below 0.5) pooled LogLoss : 0.6474 (constant prior 0.6206) -> worse pooled Brier : 0.2259 (constant prior 0.2146) -> worse PR-AUC vs prior : beats prior in every fold but insufficient to carry a stable ranking claim reproducibility : byte-identical across two runs mutation tests : 8/8 ; independent oracle matches ``` ## Statistical caution A pooled ROC-AUC of 0.52 over n=279 with a fold-3 collapse to 0.464 is weak and period-inconsistent. Quality gates pass (>=50 rows, >=20 WIN, >=20 LOSS per fold) but this is sample-size adequacy for the test, NOT evidence of a reproducible edge. The corrected result is not "better" than P3-S20; the two populations differ and the corrected ranking is weaker. ## What this decision does NOT authorize NO retraining, NO calibration, NO nonlinear models, NO feature engineering/removal/selection, NO label or TP/SL change, NO external data integration, NO production deployment, NO trading. Corrected population artifacts (P3-S22.3 / P3-S22.4) and frozen P3-S20 remain as they are. ## Hard-stop re-affirmation ```text Production MQL5 : NO P3-S18 / P3-S20 : NO (read-only) P3-S22.3 / P3-S22.4 : NO (read-only) Feature / label / TP/SL/H : NO External data : NO Calibration / nonlinear : NO Deployment / Trading : NO P3-S24 : NOT STARTED ``` *End of P3-S23 ML readiness.*