audit: cycle 0049 — drift-clean (random param-sweep)
Architect drift review over 3de00e2..HEAD (the 0049 spec/plan/feat plus the two intervening refactors that had not been audited: aura-ingest M1 transpose6390093, aura-std SMA perf67c1f51). Verdict: feature clean — C1 determinism preserved (RandomSpace points seed-determined before any run; grid path behaviour-preserving via trait-forwards-to-inherent), the #52/#71 source-seam firewall honoured in code (sweep stays &S: Space + Fn(&[Cell]) -> RunReport, no Source type enters the sweep layer; SplitMix64 a code-path-disjoint instance), and both intervening refactors behaviour-preserving (pinned by incremental_matches_full_resum_within_tolerance and chunked_accumulation_equals_single_transpose). Two low-grade doc-debt items found and fixed inline (doc-only, behaviour- preserving): - sweep.rs module doc named only the grid axis; refreshed to name RandomSpace + the Space trait the module now also owns. - C12 ledger had no realization note for axis-1 (param-sweep); added one recording the grid (0028) + random (0049) landing and the Space-trait unification. Regression gate: the project configures no regression scripts, so the test suite + lint are the gate. Independently verified: cargo test --workspace green (incl. the 17 new engine tests + 6 public-API E2E), cargo clippy --workspace --all-targets -- -D warnings clean. Drift-clean, not a milestone close (no milestone fieldtest run this cycle).
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
//! Grid param-sweep (C12.1): enumerate a cartesian grid over a blueprint's
|
||||
//! param-space and run each point disjointly (C1). This module owns enumeration
|
||||
//! (`GridSpace`), execution (`sweep`), and collection (`SweepFamily`); the
|
||||
//! per-point run-to-metrics closure is the author's (harness-specific sink glue
|
||||
//! the engine cannot generically own — C8/C18).
|
||||
//! Param-sweep (C12.1): enumerate a blueprint's param-space — either a cartesian
|
||||
//! `GridSpace` (a discrete per-slot lattice) or a seeded `RandomSpace` (`N` draws
|
||||
//! over typed continuous ranges) — and run each point disjointly (C1). Both
|
||||
//! enumerations implement the `Space` trait that `sweep` is generic over, so
|
||||
//! either runs through one execution path. This module owns enumeration
|
||||
//! (`GridSpace` / `RandomSpace` / the `Space` trait), execution (`sweep`), and
|
||||
//! collection (`SweepFamily`); the per-point run-to-metrics closure is the
|
||||
//! author's (harness-specific sink glue the engine cannot generically own — C8/C18).
|
||||
|
||||
use aura_core::{zip_params, Cell, ParamSpec, Scalar, ScalarKind};
|
||||
use crate::RunReport;
|
||||
|
||||
@@ -568,6 +568,16 @@ a streaming path *existing*, not by deleting the eager one). **Still open:**
|
||||
cross-*sim* `Arc<[T]>` sharing — one window shared zero-copy across many disjoint
|
||||
sweep sims — has no consumer until the orchestration families (axes 2–4 above:
|
||||
#66/#68/#69) are built, and remains the target for those cycles.
|
||||
**Realization (cycles 0028, 0049).** Axis 1 (param-sweep) is built. `GridSpace`
|
||||
(0028) enumerates a cartesian lattice over discrete per-slot value-lists;
|
||||
`RandomSpace` (0049) draws `N` seeded points over typed continuous `ParamRange`s
|
||||
(I64 inclusive `[lo,hi]`, F64 half-open `[lo,hi)`), validated against the
|
||||
param-space before any run. Both implement the `Space` trait the disjoint
|
||||
`sweep` / `run_indexed` core is generic over, so either enumeration runs through
|
||||
one execution path (C1: results in enumeration order, not completion order). The
|
||||
seeded sampler reuses the bit-stable `SplitMix64` as a **code-path-disjoint**
|
||||
instance from the data-edge seed RNG (the source-seam firewall, #52/#71: they
|
||||
share only the `u64` type, never a path).
|
||||
**Forbids.** Baking a specific search strategy (Bayesian/genetic) into the
|
||||
primitive — those are pluggable policies atop the atomic unit; recompiling on a
|
||||
param change.
|
||||
|
||||
Reference in New Issue
Block a user