{"updated_at":"2026-07-29T20:50:01.508970+00:00","policy":{"version":"2026-07-28","updated_at":"2026-07-29T20:50:01.507609+00:00","confirmed_by":"Jamie (user confirmed auto-approve is good)","summary":"Auto-approve ONLY when lab quality PASS, gate HARD_GO, OOS n≥30 / Sharpe≥0.70 / WR≥55% / Edge>0.65, RR same-or-better (Δ≥−5% or RR≥1.8), DD no worse than baseline (or improve ≥0.2pp), volume within ±15% of Book A pace, and risk stays 2%. Else FlipScout #approve human queue.","thresholds":{"oos_n_min":30,"sharpe_min":0.7,"wr_min_pct":55.0,"edge_min_exclusive":0.65,"rr_delta_min_pct":-5.0,"rr_floor":1.8,"dd_improve_pp":0.2,"volume_band_pct":15.0,"risk_pct":2.0},"never_auto_change":["FOREX_MT5_RISK_PCT","soft_half","deadman","max_hold_4h","breakeven","trail","new_pairs","NO_GO_checkpoints"],"allowlist_wire_kinds":["cps_densify_promote"],"wire_mode":"pending_apply","wire_note":"No wire_approved_change helper in tree — auto_approved sets approval record + pending_apply only. Never silent board dumps.","baseline_notes":{"eur_london_densify":"Compare densify_oos vs baseline_oos on same hold-out window; volume = densify n vs baseline n (±15%).","jpy_nymid_trim":"Compare ny_mid_only vs full_pace sleeve; volume = sleeve n vs full_pace n. Trim is NOT allowlisted for auto-wire.","book_a_risk":"Live Book A risk stays 2% — auto-approve never raises risk."},"bars":[{"id":"lab_quality_pass","label":"Lab quality PASS (no soft-fail / REJECT densify hold-out)"},{"id":"gate_hard_go","label":"Gate HARD_GO (REJECT_HARD_GO / NO_GO / SOFT → block)"},{"id":"oos_n","label":"OOS n ≥ 30"},{"id":"oos_sharpe","label":"OOS Sharpe ≥ 0.70"},{"id":"oos_wr","label":"OOS WR ≥ 55%"},{"id":"oos_edge","label":"OOS Edge > 0.65"},{"id":"rr_ok","label":"RR same/better (Δ ≥ −5% vs baseline) OR RR ≥ 1.8"},{"id":"dd_ok","label":"DD no worse than baseline (or improve ≥ 0.2pp)"},{"id":"volume_ok","label":"Volume within ±15% of Book A pace"},{"id":"risk_unchanged","label":"Risk stays 2% — no soft-half/deadman/4h/BE/trail/new pairs/NO_GO CPs"},{"id":"allowlisted_change","label":"Change kind allowlisted (CPS densify-promote only)"}]},"proposals":[{"id":"eur_london_densify","title":"EUR_USD london_open densify OOS","pair":"EUR_USD","checkpoint":"london_open","change_kind":"cps_densify_promote","gate":"REJECT","status":"blocked","auto_approved":false,"auto_approve_tag":"NO","reason":"Blocked from auto-approve: REJECT — gate=REJECT; quality_pass=False","apply_status":"n/a","wired":false,"checklist":[{"id":"lab_quality_pass","label":"Lab quality PASS (no soft-fail / REJECT densify hold-out)","met":false,"detail":"gate=REJECT; quality_pass=False","value":"REJECT"},{"id":"gate_hard_go","label":"Gate HARD_GO","met":false,"detail":"gate=REJECT — blocked from auto-approve","value":"REJECT"},{"id":"oos_n","label":"OOS n ≥ 30","met":false,"detail":"n=13.0","value":13.0},{"id":"oos_sharpe","label":"OOS Sharpe ≥ 0.7","met":false,"detail":"sharpe unavailable — fail","value":null},{"id":"oos_wr","label":"OOS WR ≥ 55.0%","met":false,"detail":"WR=46.2%","value":46.2},{"id":"oos_edge","label":"OOS Edge > 0.65","met":false,"detail":"edge=0.3671","value":0.3671},{"id":"rr_ok","label":"RR same/better (Δ ≥ −5%) OR RR ≥ 1.8","met":false,"detail":"rr=0.7955; baseline_rr=0.8797; Δ%=-9.57","value":{"rr":0.7955,"baseline_rr":0.8797,"delta_pct":-9.571444810730936}},{"id":"dd_ok","label":"DD no worse than baseline (or improve ≥ 0.2pp)","met":true,"detail":"DD=5.86% vs baseline 7.24% (Δ improve 1.38pp)","value":{"dd_pct":5.86,"baseline_dd_pct":7.24}},{"id":"volume_ok","label":"Volume within ±15% of Book A pace","met":false,"detail":"n=13.0 vs baseline 21.0 (Δ -38.1%, band ±15.0%)","value":{"n":13.0,"baseline_n":21.0,"delta_pct":-38.095238095238095}},{"id":"risk_unchanged","label":"Risk stays 2% — never auto-change risk shell","met":true,"detail":"risk_pct=2.0; mutates_risk_shell=False","value":2.0},{"id":"allowlisted_change","label":"Allowlisted change (CPS densify-promote only)","met":true,"detail":"change_kind=cps_densify_promote; allow=['cps_densify_promote']","value":"cps_densify_promote"}],"metrics":{"n":13.0,"wr_pct":46.2,"edge":0.3671,"rr":0.7955,"dd_pct":5.86,"sharpe":null,"baseline_n":21.0,"baseline_rr":0.8797,"baseline_dd_pct":7.24,"risk_pct":2.0},"failed_ids":["lab_quality_pass","gate_hard_go","oos_n","oos_sharpe","oos_wr","oos_edge","rr_ok","volume_ok"],"passed":3,"total":11,"scored_at":"2026-07-29T20:50:01.508143+00:00","policy_version":"2026-07-28"},{"id":"jpy_nymid_trim","title":"USD_JPY ny_mid-only trim OOS","pair":"USD_JPY","checkpoint":"ny_mid","change_kind":"session_trim","gate":"REJECT","status":"blocked","auto_approved":false,"auto_approve_tag":"NO","reason":"Blocked from auto-approve: REJECT — gate=REJECT; quality_pass=False","apply_status":"n/a","wired":false,"checklist":[{"id":"lab_quality_pass","label":"Lab quality PASS (no soft-fail / REJECT densify hold-out)","met":false,"detail":"gate=REJECT; quality_pass=False","value":"REJECT"},{"id":"gate_hard_go","label":"Gate HARD_GO","met":false,"detail":"gate=REJECT — blocked from auto-approve","value":"REJECT"},{"id":"oos_n","label":"OOS n ≥ 30","met":false,"detail":"n=28.0","value":28.0},{"id":"oos_sharpe","label":"OOS Sharpe ≥ 0.7","met":false,"detail":"sharpe unavailable — fail","value":null},{"id":"oos_wr","label":"OOS WR ≥ 55.0%","met":true,"detail":"WR=64.3%","value":64.3},{"id":"oos_edge","label":"OOS Edge > 0.65","met":false,"detail":"edge=0.5919","value":0.5919},{"id":"rr_ok","label":"RR same/better (Δ ≥ −5%) OR RR ≥ 1.8","met":false,"detail":"rr=0.9207; baseline_rr=1.5712; Δ%=-41.4","value":{"rr":0.9207,"baseline_rr":1.5712,"delta_pct":-41.401476578411405}},{"id":"dd_ok","label":"DD no worse than baseline (or improve ≥ 0.2pp)","met":true,"detail":"DD=1.19% vs baseline 5.96% (Δ improve 4.77pp)","value":{"dd_pct":1.19,"baseline_dd_pct":5.96}},{"id":"volume_ok","label":"Volume within ±15% of Book A pace","met":false,"detail":"n=28.0 vs baseline 87.0 (Δ -67.8%, band ±15.0%)","value":{"n":28.0,"baseline_n":87.0,"delta_pct":-67.816091954023}},{"id":"risk_unchanged","label":"Risk stays 2% — never auto-change risk shell","met":true,"detail":"risk_pct=2.0; mutates_risk_shell=False","value":2.0},{"id":"allowlisted_change","label":"Allowlisted change (CPS densify-promote only)","met":false,"detail":"change_kind=session_trim; allow=['cps_densify_promote']","value":"session_trim"}],"metrics":{"n":28.0,"wr_pct":64.3,"edge":0.5919,"rr":0.9207,"dd_pct":1.19,"sharpe":null,"baseline_n":87.0,"baseline_rr":1.5712,"baseline_dd_pct":5.96,"risk_pct":2.0},"failed_ids":["lab_quality_pass","gate_hard_go","oos_n","oos_sharpe","oos_edge","rr_ok","volume_ok","allowlisted_change"],"passed":3,"total":11,"scored_at":"2026-07-29T20:50:01.508213+00:00","policy_version":"2026-07-28"}],"summary":{"auto_approved":0,"ready_human":0,"blocked":2,"any_auto_approved_today":false},"history":[],"live_wire_enabled":false,"wire_mode":"pending_apply","disclaimer":"Auto-approve records pending_apply only when ALL bars pass. Never raises risk / silent board dumps. EUR REJECT_HARD_GO stays blocked."}