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.