# P3-S22.4 — FEATURE / LABEL CONTRACT VALIDATION ```text Date : 2026-08-26 Session : P3-S22.4 — CORRECTED POPULATION + FEATURE/LABEL CONTRACT VALIDATION Status : COMPLETE (contract validation only) Result : FEATURE CONTRACT UNCHANGED ; LABEL CONTRACT UNCHANGED Policy : docs/CODE_VERIFICATION_AND_SILENT_BUG_POLICY_v1.md Owner : chiki2bum2 (authoritative repo) Namespace : ml/p3/p3_s224_corrected_population_validation/ ``` ## Scope This companion report documents the FEATURE and LABEL contract-facing parts (C, D, E, F, G, H, I, K) of P3-S22.4 applied to the corrected 707-setup population. It proves the corrected population satisfies the FROZEN feature schema (12 causal features) and the P3-S16 label contract v1 unchanged, and that row values differ only as an expected consequence of the corrected M30 semantics. ## A. Feature contract validation (frozen 12-feature schema) ```text Feature version : P3-S18_feature_snapshot_v1 Schema columns : direction, h4_gate, m30_gate, sweep_age_bars, choch_age_bars, choch_latency_bars, zone_type_code, zone_age_bars, zone_width_atr, price_in_zone_offset, dist_to_zone_center_atr, atr_at_entry Count / names / order : identical to frozen dtypes / missing / finite : numeric / 0 / all finite as-of availability : all closed-bar-as-of at entry namespace separation : identity_ / feature_ / label_ separated feature_sha16 (corrected population) : ff07b2bf74af4b3c feature_sha16 (frozen P3-S18/20) : 0414e401522ea4e2 schema_sha16 (schema-only) : ae64573dc6d5cba0 ``` **Contract finding:** the feature SCHEMA is unchanged. The population-derived `feature_sha16` differs because the row population changed (707 vs 686). This is an expected population consequence of the corrected UTC-clock M30 construction, NOT a feature-contract change. No feature was added, removed, reordered, renamed, or redefined. ## B. Feature semantic availability Every one of the 12 features is generated from closed-bar information available at or before ENTRY (creation-bar close). A future-value injection audit mutated each feature individually; the semantic audit detected the mutation in 12/12 cases. ## C. Structural redundancy (documented, unchanged) ```text h4_gate == m30_gate == direction (every row) : 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 (OB population) : True ``` These are by-construction / affine identities of the verified canonical chain. Documented and validated; NO feature is removed or altered. ## D. Label contract validation (P3-S16 v1, unchanged) Contract parameters (frozen, not modified): entry = creation-bar close, K_TP = 1.5 ATR, K_SL = 0.75 ATR, H = 16, first-hit TP-before-SL, same-bar ambiguity rule. Corrected population accounting: ```text total corrected population : 707 corrected leads : 610 corrected follow-ons : 97 total == leads + follow-ons : True lead class accounting : WIN 175 / LOSS 404 / UNRESOLVED 25 / AMBIGUOUS 6 lead class sum == 610 : True ``` No outcome forced; UNRESOLVED = true censoring; AMBIGUOUS = same-bar conflict never forced to WIN/LOSS. ## E. Leakage / silent-bug audit (dataset-generation controls) The CODE_VERIFICATION_AND_SLENT_BUG_POLICY_v1 dataset-generation controls were exercised via an 8-mutation battery (future feature, future label, row shift, timestamp shift, duplicate row, deleted row, shuffled row, M30 gate substitution). Detection result: 8/8. ## F. Sample-size (corrected binary-fit) ```text corrected binary-fit N : 579 (WIN 175 / LOSS 404) -- see sample_size_readiness.json frozen P3-S20 binary-fit N : 571 (167 WIN / 404 LOSS) ``` Statistical statement only. ML sufficiency is decided in the authorized ML experiment auth step, not by this validation. ## G. Integrity statement ```text Feature contract modified : NO Label contract modified : NO TP/SL/horizon modified : NO Frozen P3-S18/P3-S20 artifacts modified : NO Any ML trained / evaluated / calibrated : NO ``` *End of P3-S22.4 feature/label contract validation.*