From 3de00e23e0f14dc3875078626e1e1dfed80bcd22 Mon Sep 17 00:00:00 2001 From: Brummel Date: Tue, 16 Jun 2026 19:04:58 +0200 Subject: [PATCH] =?UTF-8?q?audit:=20cycle=200048=20=E2=80=94=20drift-clean?= =?UTF-8?q?=20(walk-forward=20param=20plane)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cycle 0048 tidy. Architect drift review (86746e3..9febdb9, against the design ledger C7/C1/C12/C20/C23) found the walk-forward param-plane cut drift-clean: - C7 made honest: WindowRun.chosen_params is now genuinely tag-free Vec; the param kind lives once on WalkForwardResult.space. No residual per-value tag. The deleted scalar_as_f64's per-value unreachable! became a per-slot schema cost (the coerce builder map), correctly invoking C20 only on the timestamp arm. - C1 behaviour-preserving: the i64->f64 / f64 coercions are value-identical to the deleted helper; the migrated fixtures keep mean 2.5 / p50 2.5 / mean 1.5. The Bool->0/1 arm is the only new behaviour, pinned by param_stability_reduces_bool_slot_to_fraction_true (0.75). - SweepFamily symmetry is real: the (space + tag-free Vec points + zip_params) idiom is mirrored while the two stay distinct types. The arity debug_assert reads space.len() against windows (not the moved-out runs) — correct. walkforward_family derives space from the same blueprint sweep_over uses, so the kinds genuinely match. - No stale references: the only "Vec" / "self-describing record" matches are in docs/plans/0048 (a historical plan quoting the BEFORE state by design) and ledger lines describing Scalar itself (still true). No live code or current-state doc carries the old Fork-A chosen_params rationale. Regression check: no regression script configured (project facts list only build/test/lint/doc) — no-op; architect is the gate. The four gates (build/test/clippy -D warnings/doc) and the acceptance greps were verified green before the close commit. Follow-on: the out-of-scope WalkForwardResult::named_params (closing the last asymmetry vs SweepFamily::named_params) was filed as a droppable idea (#76). Not actionable drift — no consumer is blocked (zip_params already serves it).