SniperGold_ML/docs/P3_S22_3_REPAIR_DECISION.md

75 lines
No EOL
2.6 KiB
Markdown

# 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.*