Skip to main content

widen

Function widen 

pub fn widen(
    policy: &SpacePolicy,
    view: &StudyView,
    space: SpaceSchema,
) -> Result<SpaceSchema>
Expand description

§12.1’s interposition: the ask-time space with every policy-open parameter’s live (replayed) range in place of its seed — plus §10.4’s injection, which adds a policy-declared parameter the inferred space does not carry (the define-by-run bootstrap: the policy is a partial declared space).

Pure over its inputs, and returns space untouched when there is nothing to change — the steady state costs exactly what it costs today (§12.1’s cost note). Rebuilds by iterating specs in declaration order, never the name index (determinism.md’s ordering promise; §8.4’s dim_k needs it), with injected parameters appended after every declared one, in policy (name) order.

§Errors

Error::InvalidSpace only for the structurally-impossible rebuild failures (a duplicate or empty name from a schema that already refused both) — typed per ground rule 3 rather than unwrapped.