94aaa4cde8
C28 phase 5 (Stratification): the backtest reductions - RunMetrics, RMetrics, summarize_r, r_metrics_from_rs, and the position-event table - move verbatim into aura-backtest::metrics, beside the position_management producer whose record layout they read (the r_col/cost_col lockstep contract is now intra-crate; its stale "aura-std" comment corrected). aura-analysis is reduced to the domain-free half: the multiple-comparison hurdle math (inv_norm_cdf, expected_max_of_normals) and the selection-provenance types (FamilySelection/SelectionMode - kept beside the statistics so RunManifest.selection embeds a foundation-grade type), [dependencies] = serde only. The engine re-export surface is name-unchanged (report.rs re-imports from both crates), so no indirect consumer needed a source edit; aura-backtest moves from aura-engine's dev-dependencies into [dependencies] as a commented TRANSIENT widening of the C28 violation, removed by the phase-2 edge cut on this branch. The campaign drift guard imports its pinned types from their new source crates. Behaviour-preserving: 1448/0 tests, clippy -D warnings clean, serde shapes byte-identical (C18), moved code traceable via git copy detection. closes #291
20 lines
712 B
TOML
20 lines
712 B
TOML
[package]
|
|
name = "aura-backtest"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../aura-core" }
|
|
# serde gives the backtest metric types (`RunMetrics`/`RMetrics`/`PositionEvent`)
|
|
# their typed (de)serialization path for the run registry (C18; moved with the
|
|
# types from aura-analysis, #291). Deterministic output (C1-safe).
|
|
serde = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
# serde_json is used only by the moved metric round-trip tests (JSON rendering
|
|
# for production lives in aura-engine's RunReport::to_json). Test-only, so it
|
|
# never enters the frozen artifact's library link (C16).
|
|
serde_json = { workspace = true }
|