af0191884d
Public-API field test of the random param-sweep surface, from a standalone downstream-consumer crate (path-deps only; the public interface = ledger + glossary + spec 0049 + cargo doc rustdoc; no crates/*/src read). Four bins, each built from HEAD and run: continuous tuning (200-point random tune ranked by total_pips), the typed validation gate (all five reachable SweepError variants pre-run), reproducibility + seed-sensitivity + the full i64::MIN..=MAX sampler edge, and Space-trait interchangeability (one tune_and_rank<S: Space> over both GridSpace and RandomSpace). Findings: 0 bugs, 4 working, 2 spec_gap, 1 friction. The four working findings confirm the cycle's acceptance criterion empirically — the headline tune reads as the code a researcher would write, the gate is precise and fires before any run, the C1 reproducibility promise is checkable in one line, and the Space trait delivers one-consumer/both-enumerations. Triage of the actionable findings: - friction (no named-axis builder for RandomSpace — positional Vec<ParamRange> must align with param_space() by hand, and a same-kind transposition passes validation silently): filed as a feature for a future cycle, refs #79 (a RandomBinder sibling to the grid's SweepBinder). - spec_gap (SweepError rustdoc summary named only GridSpace): fixed inline in a follow-up doc commit. - spec_gap (NonNumericRange / Bool-slot ranges unreachable with the shipped aura-std node roster — no node declares a Bool/Timestamp knob): RATIFIED as intentional. The variant is a forward-looking structural guard for the C16 "author your own node" path (a Bool/Timestamp param-slot a custom node may declare); its current untriggerability with the standard roster is expected, not drift. refs #79
42 lines
1.3 KiB
TOML
42 lines
1.3 KiB
TOML
# Standalone downstream-consumer crate for the cycle-0049 fieldtest
|
|
# (RandomSpace + the Space trait + typed ParamRange — the random half of the
|
|
# C12.1 param-sweep axis).
|
|
#
|
|
# Like the cycle-0007..0031 fixtures, this is NOT a member of the aura
|
|
# workspace — it path-deps the engine crates exactly as a real C16 research
|
|
# project would, then drives the new random-sweep surface from the PUBLIC
|
|
# interface only (design ledger + glossary + specs + `cargo doc` rustdoc; no
|
|
# crates/*/src was read). Built/run via
|
|
# cargo run --manifest-path fieldtests/cycle-0049-random-sweep/Cargo.toml --bin <name>
|
|
# so HEAD source is always what runs.
|
|
#
|
|
# Empty [workspace] table: marks this fixture crate as its OWN workspace root.
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "c0049-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 = "c0049_1_continuous_tune"
|
|
path = "c0049_1_continuous_tune.rs"
|
|
|
|
[[bin]]
|
|
name = "c0049_2_validation_gate"
|
|
path = "c0049_2_validation_gate.rs"
|
|
|
|
[[bin]]
|
|
name = "c0049_3_reproducibility"
|
|
path = "c0049_3_reproducibility.rs"
|
|
|
|
[[bin]]
|
|
name = "c0049_4_space_interchange"
|
|
path = "c0049_4_space_interchange.rs"
|