{ "session": "P3-S21.1 feature contribution audit", "model": { "primary": "LogisticRegression(C=1.0, L2, max_iter=5000)", "scaler": "StandardScaler fit on train only per fold", "seed": 42 }, "reproduction": { "verified_against": "ml/p3/baseline/output/p3_s20_oos_predictions.csv", "exact": true, "max_abs_prob_diff": 0.0, "tol": 1e-09, "pooled_oos_roc_recomputed": 0.5791603786527645, "pooled_oos_roc_committed": 0.5791603786527645 }, "standardization": "StandardScaler z=(x-mean)/std; mean/std fit on THAT fold's TRAINING rows only; std_coef = coefficient on the standardized input; raw_coef = std_coef / scaler.scale_ (back-transformed to original feature units).", "population": { "all_setup": 686, "leads": 594, "binary_fit": 571, "win": 167, "loss": 404 }, "hashes": { "feature_sha16": "0414e401522ea4e2", "label_sha16": "b52a80677d5e9b99", "schema_sha16": "470193a9d372c348" }, "folds": [ [ 0, 300, 300, 395 ], [ 0, 395, 395, 490 ], [ 0, 490, 490, 571 ] ], "purge_gap_bars": [ 555, 472, 321 ], "coefficient_method": "refit frozen logistic per fold; verified OOS probabilities == committed P3-S20 predictions within 1e-09", "temporal_classification": { "direction": "STABLE", "h4_gate": "STABLE", "m30_gate": "STABLE", "sweep_age_bars": "INCONCLUSIVE", "choch_age_bars": "STABLE", "choch_latency_bars": "VARIABLE", "zone_type_code": "INCONCLUSIVE", "zone_age_bars": "INCONCLUSIVE", "zone_width_atr": "STABLE", "price_in_zone_offset": "STABLE", "dist_to_zone_center_atr": "STABLE", "atr_at_entry": "VARIABLE" }, "focus_features": [ "direction", "h4_gate", "m30_gate", "price_in_zone_offset", "dist_to_zone_center_atr" ], "family_contribution_mass": { "CONTEXT": 0.245661, "LIQUIDITY_STRUCTURE": 0.128028, "ZONE": 0.370136, "SCALE": 0.079917 }, "focus_by_family": { "CONTEXT": 3, "LIQUIDITY_STRUCTURE": 0, "ZONE": 2, "SCALE": 0 }, "collinearity": { "n": 571, "h4_equals_direction": true, "m30_equals_direction": true, "direction_unique": [ -1, 1 ], "unique_combinations": [ [ -1, -1, -1 ], [ 1, 1, 1 ] ], "note": "STRUCTURAL redundancy by construction (context gates must be direction-compatible for any Candidate Setup); NOT a bug." }, "structural_redundancy": { "n": 571, "direction_equals_h4_equals_m30_every_row": true, "dist_eq_poz_minus_half_every_row": true, "choch_latency_eq_sweep_minus_choch_every_row": true, "zone_type_code_constant": true, "readiness_note": "These are EXACT structural/affine identities from the verified canonical chain (F3 gates must be direction-compatible; zone-center offset = in-zone offset - 0.5 width; CHoCH latency = sweep age - CHoCH age). They explain identical standardized columns/coefficients; they do NOT make any feature leaky or invalid, and this audit does NOT remove any feature." }, "zone_atr_semantics": { "zone_width_atr": { "definition": "(zone_top - zone_bot) / ATR(entry); 0 if degenerate", "units": "ATR-ratio (width in ATR multiples)", "availability": "entry" }, "price_in_zone_offset": { "definition": "(entry_price - zone_bot) / zone_width in [0,1]", "units": "unit interval (position within zone)", "availability": "entry" }, "dist_to_zone_center_atr": { "definition": "(entry_price - (top+bot)/2) / zone_width (signed)", "units": "zone-width multiples", "availability": "entry" }, "atr_at_entry": { "definition": "rolling 14-bar M15 ATR ending at the entry bar", "units": "price units", "availability": "entry" }, "dependence_on_atr_is_not_leakage": true, "scale_note": "ATR dependence is contextual scaling, not target leakage: ATR is known at entry; features carry no post-entry or outcome-derived value (P3-S19)." }, "final_classification": "D_MIXED_CONTRIBUTION", "git_commit": "7c9602ca4964f42f4ae8b7ac1ea14ab5e49e9176", "generated_utc": "2026-08-25T09:40:21.367843+00:00" }