11dfff860c
Per-cycle fieldtest of node-instance naming (#56), driven as a downstream consumer from the public interface only (ledger + spec + rustdoc + CLI; no crates/*/src read), three fixtures built and run from HEAD. Verdict: the core 0031 promise holds first-try. A consumer authors Sma::builder().named("fast"), inspects param_space() (sma_cross.fast.length), binds by name and runs; the default-name case (sma.length / exposure.scale, verbatim lowercase) and paramless-interchangeable-stays-legal both hold. 0 bugs, 3 working, 2 friction, 1 spec_gap. The one real gap (verified by the orchestrator against the fixture output): the spec's headline forcing function IndistinguishableFanIn does NOT reach an author on the canonical .with(...).bootstrap() flow. An un-named 2-SMA cross emits a literal DUPLICATE knob (sma_cross.sma.length x2); the binder resolves names before the compile fan-in check, so the author hits UnknownKnob / AmbiguousKnob("sma_cross.sma.length") — which point at the knob, not at the cure "name your nodes". IndistinguishableFanIn only surfaces via the positional compile_with_params path. Rejection still happens (no invalid blueprint runs), so it is an ergonomic/signposting gap, not a correctness bug. Routed to the backlog (relates to #58); 0031 stays audit-closed. Minor: FlatGraph/Harness lack Debug, so a bootstrap Result can't be {:?}-printed.
35 lines
1.1 KiB
TOML
35 lines
1.1 KiB
TOML
# Standalone downstream-consumer crate for the cycle-0031 fieldtest
|
|
# (node-instance naming: `.named()`, uniform `<node>.<param>` param paths,
|
|
# IndistinguishableFanIn re-keyed onto the node name, ParamAlias retired).
|
|
#
|
|
# Like the prior cycle-0006..0011 fixtures, this is NOT a member of the aura
|
|
# workspace — it path-depends on the engine crates exactly as a real research
|
|
# project (C16) would. Built/run via
|
|
# cargo run --manifest-path fieldtests/cycle-0031-node-naming/Cargo.toml --bin <name>
|
|
# so HEAD source is always what runs. No crates/*/src was read; the API was
|
|
# discovered from the ledger (C9/C23), spec 0031, and `cargo doc`.
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "c0031-fieldtest"
|
|
version = "0.0.0"
|
|
edition = "2024"
|
|
publish = false
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../../crates/aura-core" }
|
|
aura-engine = { path = "../../crates/aura-engine" }
|
|
aura-std = { path = "../../crates/aura-std" }
|
|
|
|
[[bin]]
|
|
name = "c0031_1_named_single_run"
|
|
path = "c0031_1_named_single_run.rs"
|
|
|
|
[[bin]]
|
|
name = "c0031_2_forcing_function"
|
|
path = "c0031_2_forcing_function.rs"
|
|
|
|
[[bin]]
|
|
name = "c0031_3_default_names"
|
|
path = "c0031_3_default_names.rs"
|