SniperGold_ML/docs/SESSION_HANDOVER_2026-08-23_P3_S17_DATASET_AUDIT.md

133 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

2026-08-23 07:49:51 +07:00
# SESSION HANDOVER — P3-S.17 DATASET AUDIT / LABEL VALIDATION
```text
Date : 2026-08-23
Session : P3-S.17 — Dataset Audit / Label Validation
Baseline : P3-S.16 checkpoint 4b095443077539889f0ac6f0381881d6e4995c73 VERIFIED
(local == origin/main, branch main, working tree CLEAN)
Scope : RESEARCH-ONLY audit. XAUUSD M15 2017-01-01..2026-08-20.
Human verif: REMAINS CANCELLED (historical only). NO AUC/PF/backtest/opt.
Verdict : DATASET BLOCKED — real-data Candidate Setup population is EMPTY
(0 observations) under the migrated proxy semantics; a secondary
structural conflict with the frozen P3-S.4 parity guard is noted.
Next gate : NOT training. FUTURE phase = reconcile real-data SMC detection
with the frozen MQL5 F3/F1/F2 detectors (get a non-empty faithful
population) + reconcile the setup-level FVG zone-type namespace
with the P3-S.4 parity-absence guard; then re-audit.
```
---
## 1. What P3-S.17 established
```text
A. P3-S.16 contract MECHANICS validated:
unit tests re-run 20/20 PASS (DS-T01..T16 + DS-17..20). Observation unit,
identity, entry=creation-bar-close, TP-before-SL WIN/LOSS/UNRESOLVED/AMBIGUOUS,
de-overlap lead-setup-per-episode, no leakage, reproducibility — all hold at
the contract/test level.
B. REAL-DATA POPULATION = 0 (BLOCKER 1). Across ~194,985 XAUUSD M15 bars, the
frozen F3 chain never completed under the migrated real-data SMC semantics.
Root-cause primitive counts: sweep_onsets=84, zone_unmitigated=69,
m15_entry=1418, choch=194792, h4=194985. The proxy sweep + unmitigated-zone
detection are far more selective than the frozen detectors -> detection
fidelity gap, resolved by a FUTURE detector reconciliation (NOT by relaxing
gates to fabricate setups).
C. SECONDARY structural finding (BLOCKER 2): the real-data extractor references
"FVG" as a setup zone-type; the frozen P3-S.4 parity guard asserts FVG is
absent from ml/**/*.py. Merging the extractor would flip P3-S.4 FVG-T20
(20/20 -> 19/20). The historical suite was NOT modified (§31). Hence the
extraction scripts were NOT merged into main, and this is recorded as a
FUTURE reconciliation dependency.
D. Regression: all prior suites remain intact (verified re-run; see §3). The
two extraction scripts were deliberately NOT merged to preserve the frozen
P3-S.4 parity invariant.
```
---
## 2. Deliverables
```text
docs/P3_S17_DATASET_AUDIT_LABEL_VALIDATION.md (audit report; verdict BLOCKED)
ml/p3/setup_dataset/output/p3_s17_dataset_audit.json (machine record of the audit)
ml/p3/setup_dataset/output/p3_s17_distribution.csv (generated; gitignored *.csv)
ml/p3/setup_dataset/output/p3_s17_anomalies.csv (generated; gitignored *.csv)
docs/SESSION_HANDOVER_2026-08-23_P3_S17_DATASET_AUDIT.md (this file)
(Working diagnostic scripts real_setup_extractor.py / dataset_audit.py are kept
locally but NOT merged, per §H/BLOCKER-2 — see report.)
```
---
## 3. Regression status
```text
Verified re-run after P3-S.17 (historical suites untouched by this session):
P3-S.2 17/17 · P3-S.3 20/20 · P3-S.4 20/20 (kept green — extractor not merged) ·
P3-S.5 20/20 · P3-S.6 20/20 · P3-S.7 22/22 · P3-S.8 25/25 ·
F1 8/8 · F2 20/20 · F3 25/25 · F4 16/16 · P3-S16 20/20.
No historical suite modified or weakened. (P3-S.4 would flip to 19/20 ONLY if
the FVG-referencing extractor were merged; it is not.)
```
---
## 4. Explicitly unchanged areas
```text
- Candidate Setup runtime / F1 / F2 / F4 runtime MTF unchanged
- Feature Contract (FEATURE_CONTRACT.md) unchanged
- SniperGold_ML.mqh / weights / labels unchanged
- production .mq5/.mqh unchanged
- legacy MLP unchanged (reference only)
- No AUC/PF/backtest/optimization used unchanged policy
- Human annotation verification remains CANCELLED
```
---
## 5. Open / deferred for a FUTURE phase (NOT resolved in P3-S.17)
```text
1. Real-data SMC detection reconciliation with the frozen MQL5 F3/F1/F2
detectors (AF_Engine2_Setup, AF_DetectSweep, AF_DetectChoch, AF_FindFVG,
AF_FindOrderBlock, Engine-1 closed-bar cache) to obtain a NON-EMPTY, faithful
Candidate Setup population.
2. Reconcile the setup-level FVG zone-type namespace with the frozen P3-S.4
parity-absence guard (design a research-namespace boundary), so the guarded
regression stays green when the real-data extractor is merged.
3. Re-run P3-S.17 audit on the reconciled population.
4. Numeric open parameters (k_tp/k_sl, horizon, split%, purge-gap, W_m3) remain
OPEN; not optimized.
```
---
## 6. Handoff
```text
DO NOT train ML until the real-data Candidate Setup population is non-empty and
faithful, and the P3-S.4 parity invariant is preserved. A separate FUTURE phase
must resolve the two blockers and re-audit before any baseline training (P3-S.18)
may be considered. The legacy MLP remains frozen reference.
```
---
## 7. Provenance / Checkpoint
```text
Forge HEAD (start) : 4b095443077539889f0ac6f0381881d6e4995c73 (P3-S.16) VERIFIED
Branch / remote : main == origin/main
Working tree : CLEAN at start; CLEAN after P3-S.17 push
Commits : 706df4c research: audit real setup-level dataset and label distribution
: a7d23a7 docs: record P3-S17 dataset validation
P3_S17_FINAL_SHA : a7d23a7 (to be finalized in the handover-record commit)
2026-08-23 07:49:51 +07:00
Human verification : CANCELLED
```
*End P3-S.17 handover. Datasets blocked pending detector reconciliation.*