refactor: split the aura-std roster into C28 layer crates
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
This commit is contained in:
@@ -31,7 +31,7 @@ use aura_research::{
|
||||
campaign_to_json, content_id_of, parse_campaign, parse_process, validate_campaign,
|
||||
validate_process, CampaignDoc, CostSpec, DocRef,
|
||||
};
|
||||
use aura_std::{CarryCost, ConstantCost, VolSlippageCost};
|
||||
use aura_strategy::{CarryCost, ConstantCost, VolSlippageCost};
|
||||
|
||||
use crate::project::Env;
|
||||
use crate::research_docs::{
|
||||
@@ -1358,7 +1358,8 @@ mod tests {
|
||||
/// (bind_axes surfaces THAT case as its own named fault once the
|
||||
/// reopened space is built downstream).
|
||||
fn raw_bound_overrides_of_selects_axes_naming_a_bound_param() {
|
||||
use aura_std::{Bias, Sma};
|
||||
use aura_strategy::Bias;
|
||||
use aura_std::Sma;
|
||||
let raw_signal = Composite::new(
|
||||
"fixture",
|
||||
vec![
|
||||
@@ -1555,9 +1556,9 @@ mod tests {
|
||||
/// variant reconstruction with no compiler error; this pin makes it loud.
|
||||
fn every_cost_builder_declares_exactly_one_distinct_knob() {
|
||||
let knobs: Vec<String> = [
|
||||
aura_std::ConstantCost::builder(),
|
||||
aura_std::VolSlippageCost::builder(),
|
||||
aura_std::CarryCost::builder(),
|
||||
aura_strategy::ConstantCost::builder(),
|
||||
aura_strategy::VolSlippageCost::builder(),
|
||||
aura_strategy::CarryCost::builder(),
|
||||
]
|
||||
.iter()
|
||||
.map(|b| {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//! JSON op-list document deserializes into the `OpDoc` DTO (so the engine `Op`
|
||||
//! stays serde-free), which maps 1:1 into `aura_engine::Op`. The `aura graph
|
||||
//! build` / `aura graph introspect` subcommands here drive these ops through the
|
||||
//! injected `aura_std::std_vocabulary`.
|
||||
//! injected `aura_vocabulary::std_vocabulary`.
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
use std::path::Path;
|
||||
@@ -16,7 +16,7 @@ use serde::Deserialize;
|
||||
// `std_vocabulary` is now only reached through `crate::project::Env::resolve` in
|
||||
// production code; tests still exercise it directly.
|
||||
#[cfg(test)]
|
||||
use aura_std::std_vocabulary;
|
||||
use aura_vocabulary::std_vocabulary;
|
||||
|
||||
/// The wire DTO for one construction op — the document's by-identifier shape,
|
||||
/// internally tagged by `"op"`, mapped into the serde-free engine `Op`. Bind
|
||||
|
||||
@@ -30,16 +30,16 @@ use aura_registry::{
|
||||
FamilyMember, Generalization, NameKind, PlateauMode, Registry, RunTraces,
|
||||
DEFLATION_BLOCK_LEN, DEFLATION_N_RESAMPLES,
|
||||
};
|
||||
use aura_backtest::{SimBroker, PM_FIELD_NAMES, PM_RECORD_KINDS};
|
||||
use aura_std::{
|
||||
cost_port, GatedRecorder, LinComb, Recorder, RollingMax, RollingMin,
|
||||
SeriesReducer, SimBroker, Sub, GEOMETRY_WIDTH, PM_FIELD_NAMES,
|
||||
PM_RECORD_KINDS,
|
||||
GatedRecorder, LinComb, Recorder, RollingMax, RollingMin, SeriesReducer, Sub,
|
||||
};
|
||||
use aura_strategy::{cost_port, GEOMETRY_WIDTH};
|
||||
// `std_vocabulary` is now only reached through `project::Env::resolve` in production
|
||||
// code; the test module still builds reference blueprints against it directly, so
|
||||
// the import is test-only.
|
||||
#[cfg(test)]
|
||||
use aura_std::std_vocabulary;
|
||||
use aura_vocabulary::std_vocabulary;
|
||||
// `Delay` is now only used by the test-only `r_breakout_signal` carve (#159 cut 2's
|
||||
// fused-builder retirement dropped the production caller); the import is test-only.
|
||||
#[cfg(test)]
|
||||
@@ -61,9 +61,11 @@ use aura_engine::ColumnarTrace;
|
||||
// `Bias`/`Ema`/`Sma` are only reached from the test module; the imports are
|
||||
// test-only, mirroring `Delay`/`Scale` above.
|
||||
#[cfg(test)]
|
||||
use aura_std::{Bias, Ema, Sma};
|
||||
use aura_strategy::Bias;
|
||||
#[cfg(test)]
|
||||
use aura_std::{ConstantCost, VolSlippageCost};
|
||||
use aura_std::{Ema, Sma};
|
||||
#[cfg(test)]
|
||||
use aura_strategy::{ConstantCost, VolSlippageCost};
|
||||
use std::sync::mpsc;
|
||||
use std::sync::LazyLock;
|
||||
use std::collections::{BTreeMap, BTreeSet, HashSet};
|
||||
|
||||
@@ -14,7 +14,7 @@ use aura_core::project::{
|
||||
};
|
||||
use aura_engine::ProjectProvenance;
|
||||
use aura_registry::{Registry, TraceStore};
|
||||
use aura_std::{std_vocabulary, std_vocabulary_types};
|
||||
use aura_vocabulary::{std_vocabulary, std_vocabulary_types};
|
||||
use sha2::{Digest, Sha256};
|
||||
use std::fmt;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
Reference in New Issue
Block a user