# P3-S22.3 — REPAIR DECISION ```text Date : 2026-08-26 Session : P3-S22.3 — RESEARCH M30 CONSTRUCTION REPAIR & POPULATION REDERIVATION Status : COMPLETE (research-only; corrected construction implemented and verified) Policy : docs/CODE_VERIFICATION_AND_SILENT_BUG_POLICY_v1.md Decision : C — CORRECTION VERIFIED, MATERIAL POPULATION CHANGE ``` ## Question > Can the research-side M30 construction be corrected to match the verified > UTC-clock runtime semantics, and what exact change does that correction make > to the historical Candidate Setup population and the frozen feature/label > rows? Answer: YES. The corrected UTC-clock M30 construction matches the independent oracle 100 %, the frozen baseline is reproduced (694 created / 686 in-scope), and the material population change is quantified below. ## Authoritative corrected (gap-aware) result | metric | value | |---|---| | frozen in-scope | 686 | | corrected in-scope | 707 | | created (corrected) | 717 | | shared identity | 484 | | old-only | 202 | | corrected-only | 223 | | M30 gate diff (full) | 38,399 (19.49 %) | | M30 gate diff (scope) | 37,651 (19.31 %) | ## Classification ```text C — CORRECTION VERIFIED, MATERIAL POPULATION CHANGE. ``` Evidence base: - Independent oracle: 100 % agreement on timestamps / open / high / low / close / dirs / gate. - Frozen baseline: 694 / 686 / 0 per-bar mismatch (reproduced). - Mutation: 6/6 detected; regression: 12/12 invariant. - Part D test suite run twice, byte-identical. - Population change: 686 -> 707 in-scope; 202 old identities not reproduced; 223 different identities appear; M30 gate differs on ~19.5 % of bars. ## Not changed ```text Production MQL5 : NO (verified by git). F1/F2/F3/F4 / labels / FEATURE_CONTRACT / TP-SL-horizon : NO. ML : NO (no retrain, no recalibrate, no nonlinear, no tune). Historical P3-S16..P3-S22 artifacts : NO (additive only). External data : NO (no Tickstory / Dukascopy). Deployment / trading : NO (no live trade). ``` ## ML gate This phase did NOT retrain or re-evaluate ML. Because the corrected population differs materially: > P3-S20 remains a valid historical result for the frozen historical > population, but a new corrected-population ML experiment is required before > making any claim about model performance on the corrected dataset. That new experiment is NOT performed automatically; it requires a separate authorized phase (P3-S22.4). Production MQL5 is not defective (the runtime already reads the broker UTC-grid M30); the repair is confined to the historical RESEARCH chain. *End of P3-S22.3 repair decision.*