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-sweep (C12.1): enumerate a blueprint's param-space — either a cartesian
|
||||||
//! param-space and run each point disjointly (C1). This module owns enumeration
|
//! `GridSpace` (a discrete per-slot lattice) or a seeded `RandomSpace` (`N` draws
|
||||||
//! (`GridSpace`), execution (`sweep`), and collection (`SweepFamily`); the
|
//! over typed continuous ranges) — and run each point disjointly (C1). Both
|
||||||
//! per-point run-to-metrics closure is the author's (harness-specific sink glue
|
//! enumerations implement the `Space` trait that `sweep` is generic over, so
|
||||||
//! the engine cannot generically own — C8/C18).
|
//! 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 aura_core::{zip_params, Cell, ParamSpec, Scalar, ScalarKind};
|
||||||
use crate::RunReport;
|
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
|
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:
|
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.
|
#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
|
**Forbids.** Baking a specific search strategy (Bayesian/genetic) into the
|
||||||
primitive — those are pluggable policies atop the atomic unit; recompiling on a
|
primitive — those are pluggable policies atop the atomic unit; recompiling on a
|
||||||
param change.
|
param change.
|
||||||
|
|||||||
Reference in New Issue
Block a user