SniperGold_ML/docs/P3_S22_3_REPAIR_DECISION.md

2.6 KiB

P3-S22.3 — REPAIR DECISION

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

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

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.