2026-08-22 08:10:48 +07:00 | | | # P3-S.1 LIQUIDITY SWEEP HUMAN–MACHINE VALIDATION — PROTOCOL & INTEGRITY
|
| | |
|
| | | ```text
|
2026-08-22 17:21:46 +07:00 | | | Date : 2026-08-22
|
| | | Session : P3-S.1 — Machine Annotation Freeze (f7_v2) -> Human Annotation (blind)
|
2026-08-22 08:10:48 +07:00 | | | Checkpoint : b519a34 (P3-S.0 f7 fix committed; working tree clean)
|
| | | Machine : f7_v2 (f7 event lifecycle corrected; f10/f11 UNCHANGED)
|
2026-08-22 17:21:46 +07:00 | | | Status : MACHINE FREEZE = INTEGRITY PASS; HUMAN ANNOTATION = PENDING (awaiting annotators)
|
2026-08-22 08:10:48 +07:00 | | | ```
|
| | |
|
| | | ---
|
| | |
|
| | | ## 1. MACHINE v2 INTEGRITY — PASS
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | Automatic audit: `ml/p3/smc_semantic/integrity_audit.py` -> `output/integrity_audit_f7_v2.json`
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ```text
|
| | | A. CASE SET (v1 == v2)
|
| | | count : 60 == 60
|
2026-08-22 17:21:46 +07:00 | | | case IDs : IDENTICAL (SGML_SWEEP_001..060)
|
2026-08-22 08:10:48 +07:00 | | | decision timestamp : 0 diff
|
| | | symbol : 0 diff (XAUUSD)
|
2026-08-22 17:21:46 +07:00 | | | decision_tf : all M15
|
2026-08-22 08:10:48 +07:00 | | | case_set_hash : da3a0d0154b7d4b2b853b088e1948fd780d7677fbb00929eef24fc4e0132733a
|
| | | -> NO CASE ADDED / REMOVED / RESAMPLED
|
| | |
|
| | | B. MACHINE COUNTS
|
| | | machine YES = 45 | machine NO = 15
|
2026-08-22 17:21:46 +07:00 | | | all 15 NO : age > SEQ_WINDOW(40) -> STALE_EXPECTED (NOT due to timestamp/missing/parser/N/A/TF)
|
| | | no NO has active f10/f11
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | C. V1 -> V2 DIFF (f7_v1_vs_v2_comparison.json)
|
| | | changed 22 | unchanged 38 | events removed 22 | events added 0
|
2026-08-22 17:21:46 +07:00 | | | anomalies outside lifecycle : 0 (f10/f11/close_price/timeframe UNCHANGED for changed cases)
|
| | | -> ALL changes = event expiration / lifecycle correction
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | D. FIELD CONTRACT
|
2026-08-22 17:21:46 +07:00 | | | 22 mandatory columns present; N/A used for non-applicable fields (75 = 15 NO cases x 5 fields)
|
| | | no human-interpretation fields
|
2026-08-22 08:10:48 +07:00 | | | ```
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | Provenance v2 (corrected in this session):
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ```text
|
| | | annotation_version : f7_v2
|
| | | source_commit : b519a34
|
| | | machine_v2_sha : 6d7c0b41aeb6d8ab64dcda9d0723f8e82abce771ab86fc9834ddeb874dd58583
|
| | | v1_legacy_sha : e083913648f2059c7ebbaa049b6443e6c5ada3a3c7092ae7b391115d19c710e2
|
| | | case_set_sha : da3a0d0154b7d4b2b853b088e1948fd780d7677fbb00929eef24fc4e0132733a
|
| | | feature_contract : C44CC6F2B740C32D06F776BD7C3E669DC5A8A6DE0484230544EBFFCF517D38DD
|
| | | dataset : e85a0861... (P2.6)
|
| | | ```
|
| | |
|
| | | ## 2. MACHINE FREEZE
|
| | |
|
| | | `machine_annotations_f7_v2.csv` = **machine-side reference (FROZEN)**.
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | - No further f7 semantics changes in this session.
|
| | | - f10/f11, OB, FVG, CHoCH, timeframe design, ML, regime, label contract: NOT touched.
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ## 3. BLINDING ARCHITECTURE
|
| | |
|
| | | ```text
|
| | | HUMAN PACKAGE (ml/p3/smc_semantic/human_package/)
|
2026-08-22 17:21:46 +07:00 | | | cases.csv : 60 cases (id, symbol, decision_timestamp, tf, note)
|
| | | human_annotation_template_f7.csv : blank template (§7 format)
|
| | | HUMAN_ANNOTATION_PROTOCOL.md : blind rules + chart rule + procedure
|
| | | context_m15/<case_id>.csv : 200 M15 bars up to decision_timestamp (snapshot does NOT exceed it)
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | MACHINE PACKAGE (ml/p3/smc_semantic/machine_package/) — BLINDED
|
2026-08-22 17:21:46 +07:00 | | | machine_annotations_f7_v2.csv : machine decisions
|
| | | machine_reasons_f7_v2.txt : readable reasons
|
| | | README_BLINDED.md : warning: annotators MUST NOT open
|
2026-08-22 08:10:48 +07:00 | | | ```
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | Human annotators receive ONLY `human_package/`.
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ## 4. CHART DATA RULE
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | - Annotator sees the XAUUSD chart (M15 decision; H4/M30/M3 context) ONLY up to
|
2026-08-22 08:10:48 +07:00 | | | `decision_timestamp`.
|
2026-08-22 17:21:46 +07:00 | | | - Must not see future candles / signals / trade outcomes / machine annotations.
|
| | | - Context snapshot `context_m15/*.csv` ends EXACTLY at decision_timestamp.
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ## 5. TWO-ANNOTATOR PROTOCOL
|
| | |
|
| | | ```text
|
| | | Human A = primary annotator -> output/human_A_f7.csv
|
2026-08-22 17:21:46 +07:00 | | | Human B = independent reviewer -> output/human_B_f7.csv (does not see A)
|
2026-08-22 08:10:48 +07:00 | | | ```
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | - Results are stored separately; not merged until both are done.
|
| | | - If only 1 annotator is available: finish Human A first; the final ground truth
|
| | | is NOT created before a second annotator / adjudication.
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ## 6. INTER-RATER & ADJUDICATION
|
| | |
|
| | | ```text
|
2026-08-22 17:21:46 +07:00 | | | comparison.py (run after A & B finish):
|
2026-08-22 08:10:48 +07:00 | | | human_interrater_f7_report.json :
|
| | | agreement rate; YES/NO; reference; direction; timeframe; rejection;
|
| | | confidence distribution; disagreement cases
|
| | | disagreement -> ADJUDICATION REQUIRED
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | adjudication -> output/human_adjudicated_f7.csv (status YES/NO/AMBIGUOUS)
|
| | | adjudicator sees chart + protocol + metadata — NOT the machine result
|
| | | goal = HUMAN CONSENSUS, not machine agreement
|
2026-08-22 08:10:48 +07:00 | | | ```
|
| | |
|
| | | ## 7. MACHINE vs HUMAN CONSENSUS
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | After consensus: `comparison.py` -> `human_machine_f7_comparison.json`
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ```text
|
| | | TP / FP / FN / TN ; Precision / Recall / F1
|
| | | Level 1 outcome : human YES == machine YES
|
2026-08-22 17:21:46 +07:00 | | | Level 2 structural : + reference + direction + timeframe consistent
|
| | | Level 3 semantic : + rejection consistent (main target)
|
| | | SEMANTIC FALSE AGREEMENT : human YES & machine YES with different reference/timeframe/rejection
|
| | | TIMEFRAME MISMATCH : grouped (H4 vs M30, M30 vs M15, ...)
|
| | | REJECTION SEMANTICS : human vs machine table per case
|
2026-08-22 08:10:48 +07:00 | | | ```
|
| | |
|
| | | ## 8. DECISION GATE
|
| | |
|
| | | ```text
|
2026-08-22 17:21:46 +07:00 | | | PASS : machine semantics strongly matches human consensus (high L3)
|
| | | PASS WITH CAVEAT : mostly matches, systematic ambiguity present
|
| | | FAIL : machine definition materially differs from human semantics
|
| | | INCONCLUSIVE : low human agreement / sample not yet adequate
|
2026-08-22 08:10:48 +07:00 | | | ```
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | Forbidden: changing f7/threshold/InpSeqWindow/timeframe based on human labels;
|
| | | AUC/PF optimization; running ML. Comparison = validation, not optimization.
|
2026-08-22 08:10:48 +07:00 | | |
|
2026-08-22 17:21:46 +07:00 | | | ## 9. CURRENT STATUS
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ```text
|
| | | [x] machine v2 integrity PASS
|
| | | [x] machine freeze (f7_v2)
|
2026-08-22 17:21:46 +07:00 | | | [x] human package + machine package (blind) ready
|
| | | [x] comparison.py extended (inter-rater + machine-vs-consensus + levels 1-3)
|
| | | [ ] human_A_f7.csv <- WAITING FOR ANNOTATOR A
|
| | | [ ] human_B_f7.csv <- WAITING FOR ANNOTATOR B
|
2026-08-22 08:10:48 +07:00 | | | [ ] human_adjudicated_f7.csv
|
| | | [ ] human_machine_f7_comparison.json
|
| | | [ ] LIQUIDITY SWEEP SEMANTIC VERDICT
|
| | | ```
|
| | |
|
| | | ## 10. SUCCESS CRITERIA
|
| | |
|
| | | ```text
|
| | | machine v2 integrity PASS
|
| | | AND human annotations completed
|
| | | AND human agreement measured
|
| | | AND adjudication completed
|
| | | AND machine-vs-human comparison completed
|
| | | AND semantic verdict established
|
| | | ```
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | If human agreement is low -> STOP; do not fix the machine based on subjective
|
| | | disagreement.
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ## 11. NEXT RESEARCH GATE
|
| | |
|
2026-08-22 17:21:46 +07:00 | | | CHoCH may start validation ONLY after Liquidity Sweep receives its verdict
|
2026-08-22 08:10:48 +07:00 | | | (PASS / PASS WITH CAVEAT / FAIL / INCONCLUSIVE). OB/FVG/Displacement/Candidate
|
2026-08-22 17:21:46 +07:00 | | | Setup also wait for this verdict.
|
2026-08-22 08:10:48 +07:00 | | |
|
2026-08-22 17:21:46 +07:00 | | | ## 12. ARTIFACTS
|
2026-08-22 08:10:48 +07:00 | | |
|
| | | ```text
|
| | | docs/P3_S1_HUMAN_MACHINE_F7_VALIDATION.md
|
| | | ml/p3/smc_semantic/integrity_audit.py
|
| | | ml/p3/smc_semantic/gen_human_package.py
|
| | | ml/p3/smc_semantic/comparison.py (extended: inter-rater + machine-vs-consensus)
|
| | | ml/p3/smc_semantic/output/integrity_audit_f7_v2.json
|
| | | ml/p3/smc_semantic/human_package/ (cases.csv, template, protocol, context_m15/)
|
| | | ml/p3/smc_semantic/machine_package/ (BLINDED)
|
| | | ml/p3/smc_semantic/output/machine_annotations_f7_v2.csv (FROZEN machine reference)
|
| | | ml/p3/smc_semantic/output/machine_annotations_f7_v1_LEGACY.csv (preserved)
|
| | | ```
|