diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index ab1958d..737d1c0 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -995,10 +995,13 @@ parsed chunks read-only for the pass — ~56 B/record — so process residency i O(records-touched); that is the **replay-many** sharing C12 wants — one window parsed once across a sweep family — not a leak. The single-pass cost is tracked as #95.) The eager `load_m1_window`/`close_stream` path is kept for bounded loads (the -gap closes by a streaming path *existing*, not by deleting the eager one). **Still open:** -cross-*sim* `Arc<[T]>` sharing — one window shared zero-copy across many disjoint -sweep sims — has no consumer until the orchestration families (axes 2–4 above: -#66/#68/#69) are built, and remains the target for those cycles. +gap closes by a streaming path *existing*, not by deleting the eager one). **Realized +(2026-06-29, family cycles shipped).** cross-*sim* `Arc<[T]>` sharing — one window shared +zero-copy across many disjoint sweep sims — is now in force: the sweep / Monte-Carlo / +walk-forward families (axes 2–4 above) build their members over **one** shared +`Arc` (one `FileCache`), so a window is parsed once and every member's +`M1FieldSource` borrows the same cached `Arc<[M1Parsed]>` chunks +(`crates/aura-ingest/src/lib.rs:316`). The single-pass *parse* cost stays tracked as #95. **Realization (cycles 0028, 0049).** Axis 1 (param-sweep) is built. `GridSpace` (0028) enumerates a cartesian lattice over discrete per-slot value-lists; `RandomSpace` (0049) draws `N` seeded points over typed continuous `ParamRange`s @@ -1078,6 +1081,18 @@ the live deploy edge (real broker) — needs them, read from the sidecar geometr deferred to that consumer; #124 collapses to **recorded sidecar geometry → refuse** in the meantime. +**Realization (SessionNode — `bars_since_open` only, by design; #154).** The +session-context half of this contract ships **one** scalar stream, not the three the +Guarantee lists: `Session` (`crates/aura-std/src/session.rs`) emits only +`bars_since_open: i64` (tz-aware, DST-correct, baked Frankfurt open). This is a deliberate +narrowing pinned in the node's own contract — *"there is no separate in-session bool gate, +`bars_since_open` alone is the contract"*: a downstream `EqConst(== N)` gate subsumes the +`in_session: bool` stream (pre-open instants give `<= 0`, which never match), and +`session_open_ts: timestamp` has no consumer. The two streams the Guarantee names remain +the original design intent, **deferred until a consumer needs them** (default-simple; +forward-queued as #154). The stream model is untouched — session context is still exposed +as scalar streams fed from beside the hot path. + ### C16 — Engine / project separation; three-tier node reuse **Guarantee.** aura is the reusable **engine**; each research project is a separate external repo that depends on aura via cargo (the game-engine / game @@ -1737,8 +1752,13 @@ load-bearing in the flat graph. stamped on `FamilySelection` (there is no within-family winner to annotate). The inferential half is now structurally built; the per-candidate OOS bootstrap (#139, cycle 0075) is its adjacent significance read. -- **`aura-std` contents** — the crate exists (doc-only); which universal blocks - land first follows the walking-skeleton's needs. +- **`aura-std` contents** — substantively populated (~30 node modules): SMA/EMA, + arithmetic (`Add`/`Sub`/`Mul`/`Sqrt`/`LinComb`), logic (`And`/`Gt`/`Latch`/`EqConst`), + the `Delay` z⁻¹ register, `Resample`, `RollingMin`/`RollingMax`, `Session`, the R chain + (`Bias`/`FixedStop`/`Sizer`/`PositionManagement`), the legacy `SimBroker` pip yardstick, + the cost-model graph (`CostNode`/`CostRunner`/`CostSum` + `ConstantCost`/`VolSlippageCost`/ + `CarryCost`), and the `Recorder`/`GatedRecorder`/`SeriesReducer` sinks. Further blocks + land demand-driven as the walking-skeleton needs them. - **`strategies/` split** — a later split, *inside a project*, of top-level strategies from reusable building blocks in `nodes/`; not a day-1 cut. - **Sequencing** — the runnable single-harness *substrate* comes first (walking