Files
Aura/crates/aura-std/src/lib.rs
T
Brummel 17197fed91 feat(aura-std): Session — Frankfurt bars_since_open (DST-aware)
Maps ctx.now() (epoch-ns UTC) to a Frankfurt session bar index: emits
bars_since_open:i64 = (local wall-clock minutes past the 09:00 open) /
period_minutes, in tz-aware DST-correct local time. So local 09:45 reads 3 in
both CEST (UTC+2) and CET (UTC+1) — the close-instant convention (spec 0050
§4.1). Trigger is an f64 Any input (value ignored, wired from close15) so the
node fires once per completed bar. Open/tz/period are baked structural config,
not scalar params (a timezone is not a scalar, C11). Admits chrono/chrono-tz to
aura-std — vetted DST math, never hand-rolled (per-case dep policy). Last node;
build-step 7 of milestone 'Strategy node vocabulary I'.

closes #90
2026-06-17 17:14:32 +02:00

48 lines
1.4 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, and broker nodes (the sim-optimal broker + realistic
//! broker profiles). 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 add;
mod and;
mod delay;
mod ema;
mod eqconst;
mod exposure;
mod gt;
mod latch;
mod lincomb;
mod recorder;
mod resample;
mod session;
mod sim_broker;
mod sma;
mod sub;
pub use add::Add;
pub use and::And;
pub use delay::Delay;
pub use ema::Ema;
pub use eqconst::EqConst;
pub use exposure::Exposure;
pub use gt::Gt;
pub use latch::Latch;
pub use lincomb::LinComb;
pub use recorder::Recorder;
pub use resample::Resample;
pub use session::Session;
pub use sim_broker::SimBroker;
pub use sma::Sma;
pub use sub::Sub;