WalkForwardResult::named_params — mirror SweepFamily::named_params for the typed/named view #76

Closed
opened 2026-06-16 19:04:36 +02:00 by Brummel · 0 comments
Owner

Idea

Cycle 0048 made WalkForwardResult share the (space: Vec<ParamSpec>, tag-free Vec<Cell> points) idiom with SweepFamily. SweepFamily exposes an inherent convenience for the
named/typed view:

impl SweepFamily {
    pub fn named_params(&self, i: usize) -> Vec<(String, Scalar)> {
        zip_params(&self.space, &self.points[i].params)
    }
}

WalkForwardResult has no mirror — a consumer wanting the named view writes
zip_params(&result.space, &result.windows[i].run.chosen_params) by hand (the
WindowRun.chosen_params doc already points at this). Closing the symmetry:

impl WalkForwardResult {
    pub fn named_params(&self, window: usize) -> Vec<(String, Scalar)> {
        zip_params(&self.space, &self.windows[window].run.chosen_params)
    }
}

Why deferred

Explicitly out of scope of 0048 (the spec named it a follow-on). No consumer is blocked —
the free function zip_params already serves the case — so this is a droppable
convenience, not debt. Audit (cycle 0048) flagged it as tracker-worthy, not actionable
drift.

refs #75

## Idea Cycle 0048 made `WalkForwardResult` share the `(space: Vec<ParamSpec>, tag-free Vec<Cell> points)` idiom with `SweepFamily`. `SweepFamily` exposes an inherent convenience for the named/typed view: ```rust impl SweepFamily { pub fn named_params(&self, i: usize) -> Vec<(String, Scalar)> { zip_params(&self.space, &self.points[i].params) } } ``` `WalkForwardResult` has no mirror — a consumer wanting the named view writes `zip_params(&result.space, &result.windows[i].run.chosen_params)` by hand (the `WindowRun.chosen_params` doc already points at this). Closing the symmetry: ```rust impl WalkForwardResult { pub fn named_params(&self, window: usize) -> Vec<(String, Scalar)> { zip_params(&self.space, &self.windows[window].run.chosen_params) } } ``` ## Why deferred Explicitly out of scope of 0048 (the spec named it a follow-on). No consumer is blocked — the free function `zip_params` already serves the case — so this is a droppable convenience, not debt. Audit (cycle 0048) flagged it as tracker-worthy, not actionable drift. refs #75
Brummel added the idea label 2026-06-16 19:04:36 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#76