rename: retire the stage1-* family for the r-family (r-sma / r-breakout / r-meanrev)
The stage1 ordinal has been dead vocabulary since the C10 reframe dropped the two-stage research model: a 1 structurally implies a 2 that no longer exists. The family is renamed by its live discriminator - the R yardstick - with members named by their signal, uniform with their signal-named siblings (sma, macd, momentum): - selectors: stage1-r -> r-sma, stage1-breakout -> r-breakout, stage1-meanrev -> r-meanrev (old tokens are usage errors, exit 2 - no silent alias) - identifiers: Strategy::RSma/RBreakout/RMeanRev, HarnessKind::RSma, r_sma_*/r_breakout_*/r_meanrev_*, wrap_r, run_signal_r, RGrid, R_SMA_* - persisted identity: the sma_signal composite (param prefix sma_signal.fast.length / .slow.length; fixtures regenerated; content-ids shift - no test pins a literal hash, the registry parses no record names) - e2e test files git-mv'd to r_sma_e2e / r_breakout_e2e / r_meanrev_e2e - dead Stage-1/Stage-2 prose reworded to post-C10 vocabulary across rustdoc, Cargo.tomls, ledger live lines, and the glossary (historical entries stay; fieldtests corpus untouched) - CLAUDE.md invariant 7 rewritten to record the ratified C10 reframe faithfully (the token-swap alone would have laundered the retired gated-currency/realistic-broker design into unmarked live prose); the unbacked account-mode clause dropped Verification: cargo build/test --workspace green (51 targets), clippy -D warnings clean, doc build clean, acceptance grep gate leaves exactly the one resampling-stage false positive (harness.rs), smoke: --harness r-sma runs, --harness stage1-r exits 2 with the new usage line. Decision log: forks and rationale recorded on the issue (reconciliation + implementation-phase comments). closes #174
This commit is contained in:
@@ -22,7 +22,7 @@ serde_json = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
# aura-std is a TEST-ONLY dependency: the engine's own integration tests
|
||||
# (stage1_r_e2e, random_sweep_e2e, ger40_breakout) drive real standard nodes through
|
||||
# (r_sma_e2e, random_sweep_e2e, ger40_breakout) drive real standard nodes through
|
||||
# a bootstrapped Harness. The engine's library code never names a concrete node — it
|
||||
# routes type-erased Scalar records (summarize_r reads the PositionManagement record
|
||||
# positionally, by index), so aura-std stays out of [dependencies] and the engine is
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
//! {Gt, Gt} -> {Latch, Latch} -> Sub = bias in {-1,0,+1}. Tests the FADE
|
||||
//! direction (price above mean+k*sigma -> short -1; below mean-k*sigma -> long
|
||||
//! +1), the latched hold, and that no fade fires on a flat series. Built
|
||||
//! straight from aura-std nodes (no CLI dependency); mirrors stage1_breakout_e2e.
|
||||
//! straight from aura-std nodes (no CLI dependency); mirrors r_breakout_e2e.
|
||||
|
||||
use aura_core::{Scalar, Timestamp};
|
||||
use aura_engine::{GraphBuilder, Harness, Source, VecSource};
|
||||
@@ -1,4 +1,4 @@
|
||||
//! Stage-1 R E2E: a synthetic bias+price chain through stop-rule + position-management,
|
||||
//! R E2E: a synthetic bias+price chain through stop-rule + position-management,
|
||||
//! recorded and folded by `summarize_r`. Also guards the dense-record layout contract
|
||||
//! (aura-std's `PM_FIELD_NAMES`/`PM_RECORD_KINDS` vs the column indices `summarize_r`
|
||||
//! reads).
|
||||
@@ -94,7 +94,7 @@ fn synthetic_long_then_stop_produces_a_sane_rmetric() {
|
||||
|
||||
/// Drive the real cross-crate chain `stop -> PositionManagement` over a `(bias, price)`
|
||||
/// path, collecting the producer's dense records (decoded by the producer's own
|
||||
/// `PM_RECORD_KINDS`, the wire contract) into a ledger — the recorded stream a Stage-1
|
||||
/// `PM_RECORD_KINDS`, the wire contract) into a ledger — the recorded stream an R-yardstick
|
||||
/// run would persist. Per-cycle bias (not constant) so a fixture can drop bias to 0 to
|
||||
/// forbid the immediate re-entry after a stop. The fold is left to the caller so the
|
||||
/// same recorded ledger can be summarized at several `round_trip_cost` values.
|
||||
@@ -124,7 +124,7 @@ fn run_chain_ledger(stop: &mut dyn Node, path: &[(f64, f64)]) -> Vec<(Timestamp,
|
||||
|
||||
/// Drive the real cross-crate chain `stop -> PositionManagement -> summarize_r`
|
||||
/// over a `(bias, price)` path. This is the actual producer->consumer seam,
|
||||
/// node-by-node; the resulting `RMetrics` is what a recorded Stage-1 run would report.
|
||||
/// node-by-node; the resulting `RMetrics` is what a recorded R-yardstick run would report.
|
||||
fn run_chain(stop: &mut dyn Node, path: &[(f64, f64)]) -> RMetrics {
|
||||
summarize_r(&run_chain_ledger(stop, path), &[])
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
//! Folded sink reductions are byte-for-byte equal to the raw-recorder path.
|
||||
//! Drives the folding sinks node-by-node (the `stage1_r_e2e.rs` direct-node
|
||||
//! Drives the folding sinks node-by-node (the `r_sma_e2e.rs` direct-node
|
||||
//! style) over a synthetic dense R-record + equity/exposure series, and asserts
|
||||
//! `summarize_r` over `GatedRecorder`'s emitted rows equals `summarize_r` over
|
||||
//! the full record, and a `SeriesReducer` summary equals `summarize`'s fields.
|
||||
|
||||
Reference in New Issue
Block a user