param_space() knobs (name : kind): sma_cross.length : I64 sma_cross.length : I64 scale : F64 [2a] promise-form (sma_cross.fast/.slow) result: Some(UnknownKnob("sma_cross.fast")) [2b] real-emitted-name (sma_cross.length) result: Some(AmbiguousKnob("sma_cross.length")) [2c] param_space() AFTER aliasing: sma_cross.fast : I64 sma_cross.slow : I64 scale : F64 [2c] aliased named-bound run — recorded equity rows: 12 ts= 0 equity_pips=0.0000 ts= 60000000000 equity_pips=0.0000 ts= 120000000000 equity_pips=0.0000 ts= 180000000000 equity_pips=0.0000 ts= 240000000000 equity_pips=4.0000 ts= 300000000000 equity_pips=11.5000 ts= 360000000000 equity_pips=3.5000 ts= 420000000000 equity_pips=-2.5000 ts= 480000000000 equity_pips=0.5000 ts= 540000000000 equity_pips=4.5000 ts= 600000000000 equity_pips=-2.5000 ts= 660000000000 equity_pips=-6.5000 [3] wrong-name (sma_cross.slo) result: Some(UnknownKnob("sma_cross.slo")) [4] bare-name ("fast") result: Some(UnknownKnob("fast")) [5] wrong-kind (scale=1 into F64) result: Some(KindMismatch { knob: "scale", expected: F64, got: I64 }) [6] ambiguous (plain sma_cross.length) result: Some(AmbiguousKnob("sma_cross.length")) OK: param-space inspected, named bind ran (aliased), diagnostics probed.