a895891ab1
probe_window drained a source's entire close column just to learn its first and last bar timestamp; both live callers (open_real_source and campaign_window_ms on the campaign trunk) now resolve through aura-ingest's new archive_extent(): list the symbol's SYM_YYYY_MM.m1 files, load only the boundary months via the existing loader seam, and walk across gap months forward/backward — O(2 file loads) typical instead of O(archive). Empty-window refusal semantics are unchanged (pinned). Two characterization tests captured the resolved windows against the OLD implementation over the synthetic per-test archive and stay green unchanged after the swap. Measured: the probe itself drops 366ms -> 13ms (~28x) on the full 2014-2026 GER40 archive; end-to-end command wall-clock moves only ~2-3% because the sim loop dominates — the fix removes an O(archive-size) term, not the dominant cost. closes #252
35 lines
1.7 KiB
TOML
35 lines
1.7 KiB
TOML
[package]
|
|
name = "aura-ingest"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../aura-core" }
|
|
# data-server: aura's first real data source. It enters the workspace at the
|
|
# ingestion edge (transitively chrono + regex + zip). Dependencies are admitted
|
|
# by the amended C16 per-case policy (INDEX.md), not a blanket zero-dep wall.
|
|
data-server = { git = "http://192.168.178.103:3000/Brummel/data-server.git", branch = "main" }
|
|
# M1FieldSource impls aura_engine::Source in the lib, so the engine is a regular
|
|
# (non-dev) dependency.
|
|
aura-engine = { path = "../aura-engine" }
|
|
|
|
[dev-dependencies]
|
|
# zip: hand-packs a tiny synthetic M1 archive (lib.rs's own unit tests, #252's
|
|
# archive_extent gap-walk coverage) in the exact on-disk format data-server
|
|
# reads — already transitive via the data-server dependency above (a normal,
|
|
# non-dev dependency there); declared directly here so test code may `use
|
|
# zip::...` (mirrors aura-cli's tests/common/mod.rs, no new dependency
|
|
# actually enters the build graph).
|
|
zip = "2"
|
|
# the integration tests bootstrap a sample harness + fold a RunReport
|
|
aura-std = { path = "../aura-std" }
|
|
# chrono / chrono-tz build the Berlin-local-wall-clock window bounds + the
|
|
# Session node's timezone for the real GER40 session-breakout example/test
|
|
# (examples/ger40_breakout_real.rs, tests/ger40_breakout_real.rs). Pinned to
|
|
# aura-std's / aura-engine's versions (the same DST-aware wall-clock math),
|
|
# test-only — never on the ingestion crate's normal path.
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|
|
chrono-tz = { version = "0.10", default-features = false }
|