03285d1b47
Milestone-scope fieldtest (closing functional gate) for "The World —
parameter-space & sweep" (issues #30-#36). Three curated end-to-end scenarios
derived top-down from the milestone promise, driven from the public interface
only (ledger + specs + rustdoc; no crates/*/src read), built and run from HEAD
via a downstream consumer crate.
Delivery verdict: GREEN. The milestone delivers its promise.
- mw_1 single run bound by name: .with("sma_cross.fast", 2).bootstrap() binds
and runs (12 equity rows); diagnostics precise and knob-named (UnknownKnob /
AmbiguousKnob / KindMismatch).
- mw_2 named-axis sweep + compare: .axis(..).sweep(run) yields a 4-member,
ordered (odometer), disjoint, non-constant SweepFamily; ranking from public
fields. CLI (aura sweep / aura runs rank) delivers the same with no Rust.
- mw_3 structural-constant negative space (deliberate): SMA2-entry's
definitional `2` has no honest expression today -> grounds #55. Out of
milestone scope; not a blocker.
Findings: 0 bugs, 2 working, 3 friction, 1 spec_gap. Verified independently
(re-ran all three from HEAD; confirmed a plain SMA-cross emits sma_cross.length
twice and the shipped CLI sample carries the fast/slow ParamAlias overlays).
Friction (routed to the forward queue, none blocks the gate):
- the promised sma_cross.fast/.slow names are not free — they require
author-added ParamAlias overlays, doubly mandatory because the canonical
2-SMA cross also will not bootstrap without them (IndistinguishableFanIn);
- the sweep closure drops back to positional bind + manual name re-zip.
spec_gap -> #55: the wished-for structural-constant consumer code is recorded
in mw_3 as #55's acceptance evidence.
This commit is the milestone fieldtest itself; it closes no issue. Closing the
tracker milestone stays a deliberate manual act on this green gate.
35 lines
1.1 KiB
TOML
35 lines
1.1 KiB
TOML
# Milestone fieldtest consumer crate — "The World — parameter-space & sweep".
|
|
#
|
|
# A standalone downstream project (the shape a C16 research project takes):
|
|
# path-deps on the engine crates only. It drives the param-space / named-binding
|
|
# / sweep surface from the PUBLIC interface only — no crates/*/src was read; the
|
|
# API was discovered from the design ledger (docs/design/INDEX.md), the specs
|
|
# (0015/0028/0030), and `cargo doc --workspace --no-deps` rustdoc.
|
|
#
|
|
# Empty [workspace] table: this fixture crate is its OWN workspace root, so it is
|
|
# not pulled into the aura engine workspace.
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "ms-the-world-param-sweep-fieldtest"
|
|
edition = "2024"
|
|
version = "0.0.0"
|
|
publish = false
|
|
|
|
[[bin]]
|
|
name = "mw_1_single_named"
|
|
path = "mw_1_single_named.rs"
|
|
|
|
[[bin]]
|
|
name = "mw_2_sweep_compare"
|
|
path = "mw_2_sweep_compare.rs"
|
|
|
|
[[bin]]
|
|
name = "mw_3_structural_constant"
|
|
path = "mw_3_structural_constant.rs"
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../../crates/aura-core" }
|
|
aura-std = { path = "../../crates/aura-std" }
|
|
aura-engine = { path = "../../crates/aura-engine" }
|