2026-08-25 19:50:12 +07:00 | | | # P3-S22.1 VERIFICATION DEBT-CLOSURE — FINAL REPORT
|
| | |
|
| | | ```text
|
| | | Date : 2026-08-25
|
| | | Session : P3-S22.1 — VERIFICATION DEBT CLOSURE (machine-readable only)
|
| | | Status : COMPLETE (verification-only; NO repair performed)
|
| | | Result : C — DISCREPANCY FOUND
|
| | | 2 documented contract-level departures (ADJ-1 F2 state label,
|
| | | ADJ-2 M30 research-vs-runtime alignment); no production/ML/
|
| | | external-data change; population replay proven impossible in
|
| | | this environment (UNVERIFIED — ENVIRONMENT/DATA REPRODUCTION
|
| | | LIMITATION); P3-S21.1 coefficient re-audit VERIFIED.
|
| | | Policy : docs/CODE_VERIFICATION_AND_SILENT_BUG_POLICY_v1.md
|
| | | Next : P3-S22.2 = NOT STARTED (owner decision required)
|
| | | ```
|
| | |
|
| | | ---
|
| | |
|
| | | ## A. Session handover used
|
| | |
|
| | | ```text
|
| | | docs/SESSION_HANDOVER_2026-08-25_P3_S22_TERMINAL_INDICATOR_VERIFICATION.md
|
| | | (newest by Git ancestry at start; predecessor chain traced through the
|
| | | handovers/reports to P1 as required).
|
| | | ```
|
| | |
|
| | | ## B. Starting checkpoint (verified before any work)
|
| | |
|
| | | ```text
|
| | | P3_S2211_START_SHA : 010ee52d76617e55ae11d4f83d828bcd10c968fc
|
| | | local HEAD == origin/main (git ls-remote origin HEAD == 010ee52),
|
| | | branch main, working tree CLEAN, no stash, no untracked files,
|
| | | origin = https://forge.mql5.io/chiki2bum2/SniperGold_ML.git
|
| | | Reconciles exactly with the P3-S22 handover (P3-S22 final SHA recorded as
|
| | | f90f878 + the doc-close commit 010ee52 on top; two-commit convention).
|
| | | ```
|
| | |
|
| | | ## C. Final SHA
|
| | |
|
| | | ```text
|
2026-08-25 19:51:13 +07:00 | | | P3_S2211_FINAL_SHA : ef80fc31b44e6bcf90d4999bffe80b84f0df87da
|
| | | (main == origin/main, working tree CLEAN)
|
2026-08-25 19:50:12 +07:00 | | | ```
|
| | |
|
| | | ## D. Method
|
| | |
|
| | | ```text
|
| | | Each of the four debt items was treated as an INDEPENDENT verification target
|
| | | with its own oracle, inputs, expected result, independent comparison,
|
| | | deterministic evidence, failure classification and reproducibility (two runs,
|
| | | byte-identical except generated_utc). Visual verification: NONE (prohibited).
|
| | | Mutation testing performed exclusively on disposable in-memory copies.
|
| | | ```
|
| | |
|
| | | ---
|
| | |
|
| | | ## 1. SUBPHASE 1 — F2 NUMERIC ZONE-BOUNDARY PARITY
|
| | |
|
| | | ```text
|
| | | Oracle : independent canonical zone-contract evaluator written fresh for this
|
| | | audit (UNMITIGATED/PARTIALLY_FILLED/FULLY_MITIGATED; FVG wick
|
| | | full-fill; OB close-through strict; invalidation = full fill).
|
| | | Runtime : faithful numeric transcription of the FROZEN MQL5 functions
|
| | | (AF_FVGZoneState / AF_OBZoneState / AF_FindFVG / AF_FindOrderBlock,
|
| | | AF_Engine2_Agents.mqh) with exact operators and 1e-12 overlap
|
| | | tolerance; series (reversed) indexing identical to the runtime.
|
| | | Matrix : F2B-01..F2B-16 + probes F2B-E1/E2 (narrow/wide zone, exact lower &
|
| | | upper boundary touch, inside/outside price, exact mitigation
|
| | | threshold, just-below threshold, invalidation terminal, pre-entry
|
| | | mitigation, post-entry mitigation scope, bull/bear symmetry,
|
| | | newest-active find, epsilon-window probes).
|
| | |
|
| | | RESULT (consumer/availability level) : 15/15 ALIGNED PARITY
|
| | | - every boundary/touch/threshold/invalidation/availability case agrees
|
| | | between runtime transcription and the independent oracle;
|
| | | - real-feed cross-check on the validated research feed (600 bars):
|
| | | 1085 zone-state checks, 0 aligned mismatches;
|
| | | - mutations 3/3 detected (FVG '<='->'<', OB '<'->'<=', overlap epsilon
|
| | | 1e-12->1e-9);
|
| | | - probes F2B-E1/E2: representation-level tolerance window (production
|
| | | 1e-12 vs canonical 1e-9) reachable only by sub-tick prices (price is
|
| | | quantized to the 0.01 point) — classified
|
| | | REPRESENTATION_LEVEL_TOLERANCE_WINDOW, not a real-price defect.
|
| | |
|
| | | EXACT-LABEL DEPARTURE (recorded, NOT repaired):
|
| | | 3/15 state cases and 570/1085 real-feed checks show the PARTIALLY_FILLED
|
| | | mit_state label handled differently:
|
| | | production : mit_state = UNMITIGATED(0) + partial_filled flag = true
|
| | | contract : mit_state = PARTIALLY_FILLED(1)
|
| | | Source-verified: AF_ZONE_PARTIALLY_FILLED appears in AF_Engine2_Agents.mqh
|
| | | only in the enum definition and in IsActive(); it is NEVER assigned by
|
| | | AF_FVGZoneState / AF_OBZoneState. The committed research chain (reference +
|
| | | vectorized kernels) and the frozen contract use mit=1. Consumer availability
|
| | | is identical (IsActive treats 0 and 1 the same); F3 is fed the research-
|
| | | encoded inputs (verified EXACT 25/25 in P3-S22); ML features do not consume
|
| | | mit_state.
|
| | | -> DISCREPANCY-ADJ-1 (see discrepancy report). Severity LOW.
|
| | |
|
| | | Classification (debt item 1) : DISCREPANCY FOUND — REQUIRES INVESTIGATION
|
| | | (boundary matrix and consumer semantics VERIFIED; one contract-state-label
|
| | | mismatch discovered and documented).
|
| | | ```
|
| | |
|
| | | ## 2. SUBPHASE 2 — HISTORICAL M30/H4 BOUNDARY-TIMESTAMP PARITY
|
| | |
|
| | | ```text
|
| | | Oracle : from M15 open timestamps only (frozen as-of §L / GR-T11): the
|
| | | selected higher-timeframe bar is the newest CLOSED bar with
|
| | | close_time <= decision close (t+900). No runtime used.
|
| | | Self-test: boundary fixtures (exact M30/H4 boundary, before/after, data gap)
|
| | | PASS (monotone ids, boundary-exact, closed-bar property).
|
| | | H4 : committed H4 gate series is constant within the frozen as-of buckets
|
| | | on the FULL feed (197,032 bars): 0 constancy violations, boundary
|
| | | exact. Real H4 feed as-of: change events match except 142
|
| | | idealized-grid-only events that are US-market-holiday feed gaps
|
| | | (Jul-4, Thanksgiving, NYE, MLK); real-only = 0 (no false
|
| | | negatives); 9 real-feed constancy residuals are the same holiday
|
| | | artifacts (gate series is grid-synthesized at feed gaps).
|
| | | M30 : committed M30 gate changes ONLY at odd M15 indices (28,395 change
|
| | | points, 100% odd) -> constant within each index-pair segment
|
| | | (research construction: m30_from_m15 resamples M15 by index pairs);
|
| | | internal as-of consistency 0 violations. It is NOT constant within
|
| | | fixed-UTC 30-min buckets (best wall-clock grid violations 7,040)
|
| | | and the pair phase drifts across session/data gaps.
|
| | | M15/H4/M30 relationship : PASS (as-of H4 open <= as-of M30 open; opens on the
|
| | | 30-min / 4-h grids; ids monotone).
|
| | | Mutations : 3/3 detected (unclosed-bar selection, wrong-period bucket,
|
| | | off-by-one bucket).
|
| | |
|
| | | RESULT:
|
| | | H4 historical boundary-timestamp selection: VERIFIED (0 violations on the
|
| | | frozen grid; boundary-exact; closed-bar; real-feed superset explained).
|
| | | M30: the research M30 construction is index-pair aligned and therefore
|
| | | differs from the runtime UTC-clock M30 at gaps — the documented claim in
|
| | | spec_tests_engine2_gates.py ("identical to the runtime M30 OHLC") does not
|
| | | hold at session gaps.
|
| | | -> DISCREPANCY-ADJ-2 (see discrepancy report). Severity LOW-MODERATE;
|
| | | no setup-level impact demonstrated (h4==m30==direction holds on all 571
|
| | | binary rows; F3 exactness independent; ML features do not consume M30
|
| | | timestamps).
|
| | |
|
| | | Classification (debt item 2) : DISCREPANCY FOUND — REQUIRES INVESTIGATION
|
| | | (H4 dimension VERIFIED; M30 research-vs-runtime alignment divergence
|
| | | discovered and documented).
|
| | | ```
|
| | |
|
| | | ## 3. SUBPHASE 3 — POPULATION-LEVEL TERMINAL REPLAY
|
| | |
|
| | | ```text
|
| | | Target : 694 total / 686 in-scope = 594 leads + 92 follow-ons
|
| | | (committed P3-S19/20 accounting).
|
| | | Feasibility : an exact terminal replay requires (R1) per-M15 F1 events,
|
| | | (R2) per-M15 F2 zones, (R3) per-M15 F4 gates, (R4) the
|
| | | AFSetupEngine chain over the FULL research scope (194,985
|
| | | bars, 2017-01-03..2026-07-21), (R5) the SAME feed as the
|
| | | research environment, and (R6) machine-readable per-setup
|
| | | export.
|
| | | Blocker proof :
|
| | | B1 deployed runtime reads broker history via CopyRates; research uses
|
| | | committed npz feeds (different data registries); feed substitution is
|
| | | prohibited by the phase brief.
|
| | | B2 no committed MQL5 full historical semantic-input replay harness exists
|
| | | in the repo (only 2026 tester windows were ever run: P3-S22).
|
| | | B3 terminal coverage = ~20 trading days of 2026; the population range
|
| | | (2017-2026) is untouched by the terminal.
|
| | | B4 the research chain (F1/F2/F4/F3) is FULL PARITY at research level
|
| | | (P3-S17R2), so the SEMANTICS are verified; only the terminal full
|
| | | population replay is missing.
|
| | |
|
| | | RESULT: exact population replay is NOT technically possible in this
|
| | | environment without building a new terminal replay capability or substituting
|
| | | the feed (both out of scope). No aggregate-count similarity is claimed as
|
| | | reproduction evidence.
|
| | |
|
| | | Classification (debt item 3) : UNVERIFIED — ENVIRONMENT/DATA REPRODUCTION
|
| | | LIMITATION (as prescribed; NOT labelled PASS).
|
| | | ```
|
| | |
|
| | | ## 4. SUBPHASE 4 — P3-S21.1 COEFFICIENT-LEVEL RE-AUDIT (independent)
|
| | |
|
| | | ```text
|
| | | Method : reconstructed the frozen P3-S20 fold training data (571 binary
|
| | | rows; folds (0,300,300,395),(0,395,395,490),(0,490,490,571); purge
|
| | | 16) from the FROZEN dataset; refit the frozen logistic per fold
|
| | | (StandardScaler train-only + LogisticRegression(C=1.0, max_iter=
|
| | | 5000, seed 42)); independently derived standardized coefficients,
|
| | | signs, ranks, mean|std|; independently verified the structural
|
| | | identities; the committed S20/S21.1 values were used ONLY as
|
| | | cross-checks, never as the oracle.
|
| | | RESULT :
|
| | | structural identities (all True on 571 rows):
|
| | | h4_gate == m30_gate == direction TRUE
|
| | | dist_to_zone_center_atr == price_in_zone_offset - 0.5 TRUE
|
| | | choch_latency_bars == sweep_age_bars - choch_age_bars TRUE
|
| | | zone_type_code constant TRUE
|
| | | pooled OOS ROC-AUC (independent) = 0.5791603786527645
|
| | | committed P3-S20 pooled ROC = 0.5791603786527645 (cross-check equal)
|
| | | OOS cross-check max|d| vs committed CSV = 0.0 (271/271 rows)
|
| | | coefficients reproduce the committed S21.1 table EXACTLY (e.g.
|
| | | price_in_zone_offset std +0.1186/+0.1251/+0.1705; direction/h4/m30
|
| | | -0.0945/-0.0688/-0.0824; zone_width_atr -0.0786/-0.0939/-0.0642).
|
| | | focus features (top-rank, stable sign) = direction/h4/m30 and
|
| | | price_in_zone_offset/dist_to_zone_center_atr (matches S21.1).
|
| | | mutation tests 7/7 detected (fold-boundary shift, global-scaler leak,
|
| | | h4 identity break, zone-center affine break, latency identity break,
|
| | | zone-type constancy break, feature-column swap — the last requiring the
|
| | | full feature-table signal, per the P3-S22 sparse-vs-full lesson).
|
| | | reproducibility: run twice byte-identical.
|
| | |
|
| | | Classification (debt item 4) : VERIFIED
|
| | | ```
|
| | |
|
| | | ---
|
| | |
|
| | | ## 5. REPRODUCIBILITY
|
| | |
|
| | | ```text
|
| | | Every subphase executed twice from the same frozen inputs.
|
| | | s2211_run_repro.py compares ALL produced artifacts:
|
| | | s2211_s1_f2_boundary.json OK
|
| | | s2211_s2_mtf_boundary.json OK
|
| | | s2211_s3_population_feasibility.json OK
|
| | | s2211_s4_coefficients.csv OK
|
| | | s2211_s4_reaudit.json OK
|
| | | s2211_s4_repro.json OK
|
| | | identical_except_generated_utc = True
|
| | | ```
|
| | |
|
| | | ## 6. PROVENANCE
|
| | |
|
| | | ```text
|
2026-08-25 19:51:13 +07:00 | | | Git SHA : 010ee52 (start) -> ef80fc31b44e6bcf90d4999bffe80b84f0df87da
|
| | | (pushed HEAD)
|
2026-08-25 19:50:12 +07:00 | | | feature_sha16 : unchanged (S4 uses the frozen schema; no recomputation of
|
| | | hashes changed any committed artifact)
|
| | | dataset identity: frozen P3-S16/S18 pipeline (571 binary rows)
|
| | | environment : Python 3.14.6, numpy 2.5.1, scikit-learn 1.9.0, Windows,
|
| | | x64; no MetaTrader terminal execution in this phase
|
| | | input hashes : recorded per-run (numpy arrays / committed caches)
|
| | | output hashes : sha256 of each artifact recorded by s2211_run_repro.py
|
| | | test counts : S1 15+2 probes (mutations 3/3); S2 8 blocks (mutations
|
| | | 3/3); S3 feasibility 4 blockers; S4 12 features x 3 folds
|
| | | + 7 mutations
|
| | | discrepancies : 2 (ADJ-1, ADJ-2) - documented, not repaired
|
| | | ```
|
| | |
|
| | | ## 7. FINAL CLASSIFICATION
|
| | |
|
| | | ```text
|
| | | Debt item 1 (F2 numeric boundary parity) : DISCREPANCY FOUND
|
| | | Debt item 2 (M30/H4 timestamp parity) : DISCREPANCY FOUND
|
| | | Debt item 3 (population replay) : UNVERIFIED - ENVIRONMENT/DATA
|
| | | REPRODUCTION LIMITATION
|
| | | Debt item 4 (S21.1 coefficient re-audit) : VERIFIED
|
| | |
|
| | | OVERALL DECISION : C — DISCREPANCY FOUND
|
| | | (an actual implementation/semantic mismatch was discovered in items 1-2;
|
| | | no defect repair performed; see docs/P3_S22_1_DISCREPANCY_REPORT.md)
|
| | | ```
|
| | |
|
| | | ## 8. PRODUCTION / ML / EXTERNAL-DATA STATUS
|
| | |
|
| | | ```text
|
| | | Production MQL5 : UNCHANGED (verified by git: no tracked file modified).
|
| | | F1/F2/F3/F4 : UNCHANGED (contracts untouched).
|
| | | FEATURE_CONTRACT: UNCHANGED. Label contract v1: UNCHANGED. TP/SL/H: UNCHANGED.
|
| | | ML : NONE (no retraining, calibration, feature selection,
|
| | | ablation, nonlinear models, deployment).
|
| | | External data : NONE introduced (no Tickstory/Dukascopy/substitution).
|
| | | Trading/deploy : NONE.
|
| | | ```
|
| | |
|
| | | ## 9. NEXT-PHASE STATEMENT
|
| | |
|
| | | ```text
|
| | | P3-S22.2 = NOT STARTED. No automatic advance to P3-S22.2 / P3-S23 / ML
|
| | | retraining / calibration / feature redesign / nonlinear modeling /
|
| | | external-data integration / deployment. Owner decision required.
|
| | | ```
|
| | |
|
| | | *End of P3-S22.1 debt-closure report. Evidence under
|
| | | ml/p3/p3_s2211_debt_closure/ (disposable, verification-only).*
|