From 72c0b8ad21e6bfb9689e1515be73e2903091ea94 Mon Sep 17 00:00:00 2001 From: claude Date: Sun, 12 Jul 2026 17:58:12 +0200 Subject: [PATCH] =?UTF-8?q?fieldtest:=20cycle-241=20wiring-only=20tier=20?= =?UTF-8?q?=E2=80=94=204=20axes,=201=20bug=20+=204=20friction=20+=201=20sp?= =?UTF-8?q?ec=5Fgap=20+=205=20working?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Consumer-POV fieldtest evidence for the two-tier project model: the data-only quickstart, the role-2 attach loop, real-data usage inside a data-only project, and the refusal surfaces all match the docs. Inline fixes for two of the friction findings: - docs/project-layout.md: the day-in-the-life run example now shows real Unix-ms window bounds instead of bare years (--from/--to take ms). - `aura new` --help one-liner no longer calls the project a crate. Remaining findings tracked on the Gitea queue (empty first-manifest provenance on a fresh scaffold; misleading no-data message for an uncovered --real window; the tier hint missing on the graph-build path; the raw cargo-metadata leak for a missing [nodes] dir). refs #241 --- crates/aura-cli/src/main.rs | 2 +- docs/project-layout.md | 3 ++- .../c241_2_crate_node_strategy.json | 8 ++++++++ .../c241_4_unknown_namespaced_type.json | 6 ++++++ 4 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 fieldtests/cycle-241-wiring-only-tier/c241_2_crate_node_strategy.json create mode 100644 fieldtests/cycle-241-wiring-only-tier/c241_4_unknown_namespaced_type.json diff --git a/crates/aura-cli/src/main.rs b/crates/aura-cli/src/main.rs index 039a931..68166fb 100644 --- a/crates/aura-cli/src/main.rs +++ b/crates/aura-cli/src/main.rs @@ -2453,7 +2453,7 @@ enum Command { Runs(RunsCmd), /// Reproduce a recorded family by content id. Reproduce(ReproduceCmd), - /// Scaffold a new research project crate. + /// Scaffold a new data-only research project. New(NewCmd), /// Scaffold and attach node crates (native-node development). Nodes(NodesCmd), diff --git a/docs/project-layout.md b/docs/project-layout.md index 64aa842..23b6780 100644 --- a/docs/project-layout.md +++ b/docs/project-layout.md @@ -145,7 +145,8 @@ command sequences. 3. **Backtest:** an op-script wiring `ger40_lab_nodes::ThirdCandleLong` (§1, `docs/authoring-guide.md`) is built into `blueprints/third-candle-long.json` (`aura graph build`); `aura run blueprints/third-candle-long.json --real - GER40 --from 2020 --to 2024` → the strategy produces a broker-independent, unsized + GER40 --from 1704067200000 --to 1735689600000` (the window bounds are Unix + milliseconds — here 2024) → the strategy produces a broker-independent, unsized **bias stream** (one signed, bounded `f64 ∈ [-1,+1]` per cycle — sign = direction, magnitude = optional conviction). A downstream **risk-based executor** (stop-rule → position-management, in **R**, the protective stop defining 1R) turns the bias into diff --git a/fieldtests/cycle-241-wiring-only-tier/c241_2_crate_node_strategy.json b/fieldtests/cycle-241-wiring-only-tier/c241_2_crate_node_strategy.json new file mode 100644 index 0000000..ea8ea16 --- /dev/null +++ b/fieldtests/cycle-241-wiring-only-tier/c241_2_crate_node_strategy.json @@ -0,0 +1,8 @@ +[ + {"op": "source", "role": "price", "kind": "F64"}, + {"op": "add", "type": "ger40_lab_nodes::Scale", "name": "scaled", "bind": {"factor": {"F64": 2.0}}}, + {"op": "feed", "role": "price", "into": ["scaled.value"]}, + {"op": "add", "type": "Bias", "name": "bias", "bind": {"scale": {"F64": 0.5}}}, + {"op": "connect", "from": "scaled.value", "to": "bias.signal"}, + {"op": "expose", "from": "bias.bias", "as": "bias"} +] diff --git a/fieldtests/cycle-241-wiring-only-tier/c241_4_unknown_namespaced_type.json b/fieldtests/cycle-241-wiring-only-tier/c241_4_unknown_namespaced_type.json new file mode 100644 index 0000000..78ceb29 --- /dev/null +++ b/fieldtests/cycle-241-wiring-only-tier/c241_4_unknown_namespaced_type.json @@ -0,0 +1,6 @@ +[ + {"op": "source", "role": "price", "kind": "F64"}, + {"op": "add", "type": "mylab::ThirdCandle", "name": "tc"}, + {"op": "feed", "role": "price", "into": ["tc.value"]}, + {"op": "expose", "from": "tc.value", "as": "bias"} +]