audit: cycle 0041 — drift-clean (Source ingestion seam)
Architect drift review over 8b330e3..HEAD (the Source-seam cycle #71 plus the interim #67 optimize work and refactors). No semantic or contract drift: the seam faithfully preserves C3 (ms→epoch-ns at the one ingestion boundary), C4 (tie-by-source-index, byte-for-byte), and C7 (field-per-source SoA); the full suite is byte-identical green and the gated streaming tests pass on real data. Regression gate: `cargo test --workspace` green (the project declares no dedicated regression script; the suite is the gate). Tidied stale prose the cycle left behind (no behaviour change): - docs/design/INDEX.md (C12): replaced the cycle-0011 "deliberate eager gap" status note with a cycle-0041 realization note — the producer `Source` seam + streaming `M1FieldSource` now deliver per-source O(one-chunk) streaming; precisely scopes what remains open (cross-*sim* Arc<[T]> window sharing, still unbuilt until the orchestration families #66/#68/#69 consume it). - aura-core/src/lib.rs: dropped the now-shipped "Source trait + data-server ingestion" from the module doc's "still to come" list (aura-engine's twin line was fixed in the cycle; aura-core's was missed). - aura-ingest/src/lib.rs: module header now documents both coexisting paths (eager load_m1_window/M1Columns vs lazy streaming M1FieldSource). - aura-registry/src/lib.rs: rank_by/optimize doc comments linked to the private `metric_cmp` (a public→private intra-doc-link warning from the #67 commit); demoted to plain code spans, so `cargo doc --workspace` is now warning-clean.
This commit is contained in:
@@ -7,6 +7,14 @@
|
||||
//! as the engine source-stream shape (`Vec<(Timestamp, Scalar)>`) the SMA-cross
|
||||
//! sample strategy consumes.
|
||||
//!
|
||||
//! Two ingestion shapes coexist: the **eager** [`load_m1_window`] → [`M1Columns`]
|
||||
//! transpose (a bounded window materialized to owned SoA columns), and the **lazy
|
||||
//! streaming** [`M1FieldSource`] — a `Source` that pulls one data-server
|
||||
//! `Arc<[M1Parsed]>` chunk at a time and decodes each `Scalar` on demand
|
||||
//! (resident O(one chunk), not O(window length)) for backtests over long
|
||||
//! horizons. Both normalize ms→epoch-ns through the one [`unix_ms_to_epoch_ns`]
|
||||
//! seam (C3).
|
||||
//!
|
||||
//! This crate is the **data-source ingestion edge**: it links `data-server`
|
||||
//! (and its transitive `chrono`/`regex`/`zip`) and normalizes it into aura's
|
||||
//! columns here. Dependencies follow the amended C16 per-case policy (INDEX.md),
|
||||
|
||||
Reference in New Issue
Block a user