b39fd63396
Phase 4 of the Stratification milestone. aura-std held four C28 ladder layers in one roster; this cuts them into layer-aligned, aura-core-only node crates so the import direction is enforced by the crate graph: - aura-std — engine nodes only (arithmetic/logic/rolling + sinks) - aura-market — session, resample - aura-strategy — bias, stops, sizer, cost-model machinery - aura-backtest — sim_broker, position_management - aura-vocabulary — the relocated closed std_vocabulary roster Node modules move verbatim (byte-identical renames); consumers are rewired by import path only. A new structural test (aura-vocabulary/tests/c28_layering.rs) asserts each node crate's [dependencies] stay within its C28-permitted inner set, catching the acyclic-but-outward violation the compiler misses. Behaviour byte-identical: full workspace suite green (1448 tests), no golden edited, clippy -D warnings clean. C28 Status block updated. closes #288
74 lines
1.9 KiB
Rust
74 lines
1.9 KiB
Rust
//! `aura-std` — the standard node library shipped with the engine.
|
|
//!
|
|
//! The universal, batteries-included building blocks every project gets for
|
|
//! free: common indicators (SMA, ATR, RSI, …), resamplers, the `SessionNode`,
|
|
//! standard combinators, the legacy `SimBroker` pip yardstick, and cost-model
|
|
//! nodes authored against the [`CostNode`] trait + [`CostRunner`] adapter
|
|
//! (`ConstantCost`, `VolSlippageCost`, …, in R — C10). Depends only on `aura-core`
|
|
//! (the shared contract).
|
|
//!
|
|
//! This is the top tier of the three-tier node-reuse model (contract C16):
|
|
//!
|
|
//! - `aura-std` — universal blocks, here, ship with the engine;
|
|
//! - shared node crates — cross-project-reusable blocks, in their own repos,
|
|
//! pulled in as cargo git dependencies;
|
|
//! - project-local `nodes/` — experimental, project-specific blocks.
|
|
//!
|
|
//! The first block lands with the walking skeleton: [`Sma`], the simple moving
|
|
//! average — a worked producer node proving the `aura-core` `Node` contract.
|
|
|
|
mod abs;
|
|
mod add;
|
|
mod and;
|
|
mod const_node;
|
|
mod cumsum;
|
|
mod delay;
|
|
mod div;
|
|
mod ema;
|
|
mod eqconst;
|
|
mod gated_recorder;
|
|
mod gt;
|
|
mod latch;
|
|
mod lincomb;
|
|
mod max;
|
|
mod min;
|
|
mod mul;
|
|
mod recorder;
|
|
mod rolling_max;
|
|
mod rolling_min;
|
|
mod scale;
|
|
mod select;
|
|
mod series_reducer;
|
|
mod sign;
|
|
mod sma;
|
|
mod sqrt;
|
|
mod sub;
|
|
mod when;
|
|
pub use abs::Abs;
|
|
pub use add::Add;
|
|
pub use and::And;
|
|
pub use const_node::Const;
|
|
pub use cumsum::CumSum;
|
|
pub use delay::Delay;
|
|
pub use div::Div;
|
|
pub use ema::Ema;
|
|
pub use eqconst::EqConst;
|
|
pub use gated_recorder::GatedRecorder;
|
|
pub use gt::Gt;
|
|
pub use latch::Latch;
|
|
pub use lincomb::LinComb;
|
|
pub use max::Max;
|
|
pub use min::Min;
|
|
pub use mul::Mul;
|
|
pub use recorder::Recorder;
|
|
pub use rolling_max::RollingMax;
|
|
pub use rolling_min::RollingMin;
|
|
pub use scale::Scale;
|
|
pub use select::Select;
|
|
pub use series_reducer::SeriesReducer;
|
|
pub use sign::Sign;
|
|
pub use sma::Sma;
|
|
pub use sqrt::Sqrt;
|
|
pub use sub::Sub;
|
|
pub use when::When;
|