Prove the defining loop end-to-end: a project-authored node with an open param through sweep and campaign #235

Closed
opened 2026-07-10 17:15:42 +02:00 by Brummel · 1 comment
Owner

No project-authored (non-std) node has ever gone through sweep/mc/walkforward/campaign — in any test or fieldtest. The deepest exercised path is a single aura run (the momentum-lab fieldtest's param-less Negate node, 2026-07-02). The aura new starter blueprint binds every param (crates/aura-cli/src/scaffold.rs:185), so a fresh project exposes zero sweepable axes out of the box, and the scaffold e2e stops at aura run (crates/aura-cli/tests/project_new.rs:25-68). The triage-harvest fieldtest's sweeps ran over a std-only blueprint.

The loop is structurally plausible — sweep resolves blueprints against the project store and the merged vocabulary, through the same blueprint_from_json machinery run already uses — but "sweep my own node's knob" is the defining need of a genuine external project (role 2 feeding roles 6a/6b, C25) and has zero end-to-end evidence.

  • e2e test: scaffolded project + project node with an OPEN param → --list-axes shows the axis → sweep over it on real data → family persisted → reproduce N/N bit-identically
  • one campaign cell over the same project blueprint
No project-authored (non-std) node has ever gone through sweep/mc/walkforward/campaign — in any test or fieldtest. The deepest exercised path is a single `aura run` (the momentum-lab fieldtest's param-less Negate node, 2026-07-02). The `aura new` starter blueprint binds every param (crates/aura-cli/src/scaffold.rs:185), so a fresh project exposes zero sweepable axes out of the box, and the scaffold e2e stops at `aura run` (crates/aura-cli/tests/project_new.rs:25-68). The triage-harvest fieldtest's sweeps ran over a std-only blueprint. The loop is structurally plausible — sweep resolves blueprints against the project store and the merged vocabulary, through the same `blueprint_from_json` machinery `run` already uses — but "sweep my own node's knob" is the defining need of a genuine external project (role 2 feeding roles 6a/6b, C25) and has zero end-to-end evidence. - [ ] e2e test: scaffolded project + project node with an OPEN param → `--list-axes` shows the axis → sweep over it on real data → family persisted → reproduce N/N bit-identically - [ ] one campaign cell over the same project blueprint
Brummel added this to the Real-project readiness — role-complete research loop (no freeze) milestone 2026-07-10 17:15:42 +02:00
Author
Owner

Both acceptance boxes proven, green on arrival — no implementation was needed: the loop already worked once the milestone's earlier fixes landed; what was missing was the evidence. Landed as dd23ea3: crates/aura-cli/tests/project_sweep_campaign.rs, two e2e tests following the project_new.rs scaffold-and-build idiom. (1) A fresh project authors an OPEN blueprint over its own node (knob_lab::Scale with factor unbound): --list-axes shows scaled_signal.gain.factor:F64, a real-data GER40 sweep over the axis yields two members whose manifests carry the project-node binding, the family persists, and reproduce prints "reproduced 2/2 members bit-identically". (2) One campaign cell referencing the same blueprint runs to exit 0 with a campaign_run record linking a sweep family. The axis-discovery leg is un-gated (meaningful on a data-less host); the sweep/reproduce/campaign legs are archive-gated per the established idiom. Closes via commit on merge.

Both acceptance boxes proven, green on arrival — no implementation was needed: the loop already worked once the milestone's earlier fixes landed; what was missing was the evidence. Landed as dd23ea3: crates/aura-cli/tests/project_sweep_campaign.rs, two e2e tests following the project_new.rs scaffold-and-build idiom. (1) A fresh project authors an OPEN blueprint over its own node (knob_lab::Scale with factor unbound): `--list-axes` shows `scaled_signal.gain.factor:F64`, a real-data GER40 sweep over the axis yields two members whose manifests carry the project-node binding, the family persists, and reproduce prints "reproduced 2/2 members bit-identically". (2) One campaign cell referencing the same blueprint runs to exit 0 with a campaign_run record linking a sweep family. The axis-discovery leg is un-gated (meaningful on a data-less host); the sweep/reproduce/campaign legs are archive-gated per the established idiom. Closes via commit on merge.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#235