SMA-cross by-name binding: promised fast/slow names + minimal bootstrap both need hand-added ParamAlias #56
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Surfaced by the milestone fieldtest "The World — parameter-space & sweep"
(docs/specs/fieldtest-milestone-the-world-param-sweep.md, scenario mw_1/mw_3).
Friction
A native-Rust author who follows the milestone's headline by-name example
verbatim —
.with("sma_cross.fast", 2).with("sma_cross.slow", 4)— hits twoconsecutive errors on a freshly-authored 2-SMA cross:
param_space()emitssma_cross.lengthtwice (theraw
Smafactory param name, path-qualified only by the composite name), so.with("sma_cross.fast", 2)->UnknownKnob("sma_cross.fast")and bindingthe real name ->
AmbiguousKnob("sma_cross.length").Subfanning in twoSmas with equal recursive signatures is rejected withIndistinguishableFanIn(the C9 fan-in-distinguishability guarantee).Both are dissolved only by hand-adding two
ParamAlias { name: "fast"/"slow" }overlays — which the shipped CLI sample already carries (crates/aura-cli/src/main.rs).
So
sma_cross.fastis not a free name; it is authored. The binding layer iscorrect (it faithfully matches the exact
param_space()name; aliasing is thedocumented C23 authoring choice) — this is friction, not a bug. But the project's
running example cannot be run in its minimal form, and the acceptance evidence
(the code a by-name author actually writes) is longer than advertised.
Two directions (no decision made here)
ParamAliasstep explicitly, sosma_cross.fastis visibly earned.(e.g. an
Sma::builder()name argument). One label would satisfy fan-indistinguishability AND yield distinct
param_space()names in a single step —no separate alias overlay. This is a design question (how sibling primitives
acquire distinct identity) and would route through brainstorm if pursued.
Strikeable; no commitment. Cheapest mitigation is (i).