audit: cycle 0048 — drift-clean (walk-forward param plane)

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<Cell>;
  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<Cell> 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<Scalar>" / "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).
This commit is contained in:
2026-06-16 19:04:58 +02:00
parent 9febdb9623
commit 3de00e23e0

Diff Content Not Available