Re-export DataServer/DEFAULT_DATA_PATH from aura-ingest (or add open_default_archive) so real-data sources build from aura-ingest alone #81

Closed
opened 2026-06-17 15:49:09 +02:00 by Brummel · 2 comments
Owner

Source: fieldtest milestone "The World, part II" — finding F7 (friction).
See docs/specs/fieldtest-milestone-the-world-orchestration-families.md.

The headline real-data scenario (M1FieldSource::open takes &Arc<DataServer>)
is reachable only if the consumer pulls and names a transitive external crate
whose construction is undocumented in aura's public surface:

  • aura-ingest re-exports neither DataServer nor DEFAULT_DATA_PATH.
  • To build the required server, the consumer crate must add the external
    data-server git dependency directly and use data_server::{...} — discovered
    only by reading a commit body, not from any aura-ingest rustdoc or example.
  • The data path /mnt/tickdata/Pepperstone appears only in plan/spec prose,
    never in the API docs a consumer reads.

Fix options: re-export data_server::DataServer (and a data-path accessor)
from aura-ingest, or add an aura-ingest constructor
(M1FieldSource::open_default_archive(symbol, from, to, field)) so a real-data
source is buildable from aura-ingest alone.

**Source:** fieldtest milestone "The World, part II" — finding F7 (friction). See `docs/specs/fieldtest-milestone-the-world-orchestration-families.md`. The headline real-data scenario (`M1FieldSource::open` takes `&Arc<DataServer>`) is reachable only if the consumer pulls and names a transitive external crate whose construction is undocumented in aura's public surface: - `aura-ingest` re-exports neither `DataServer` nor `DEFAULT_DATA_PATH`. - To build the required server, the consumer crate must add the external `data-server` git dependency directly and `use data_server::{...}` — discovered only by reading a commit body, not from any aura-ingest rustdoc or example. - The data path `/mnt/tickdata/Pepperstone` appears only in plan/spec prose, never in the API docs a consumer reads. **Fix options:** re-export `data_server::DataServer` (and a data-path accessor) from `aura-ingest`, or add an `aura-ingest` constructor (`M1FieldSource::open_default_archive(symbol, from, to, field)`) so a real-data source is buildable from `aura-ingest` alone.
Brummel added the feature label 2026-06-17 15:49:09 +02:00
Brummel added this to the Runway — real-data ergonomics & honesty hardening milestone 2026-06-18 11:02:34 +02:00
Author
Owner

Design reconciliation (specify, in-context entry)

Cycle: Runway-1 — aura-ingest real-data source-open seam (milestone "Runway — real-data ergonomics & honesty hardening"; closes #80 #81 #92). Per-cycle specs are now local-only ephemeral artifacts (retired from git in 28958f2), so this tracker comment is the durable record of the fork resolution. The fix-option fork below is listed open on this issue; it was resolved in the in-context design discussion.

  • Fork: form of the "buildable from aura-ingest alone" conveniencere-export DataServer + DEFAULT_DATA_PATH from aura-ingest AND add a shared default_data_server() -> Arc<DataServer> that open_ohlc consumes. The issue-sketched per-field M1FieldSource::open_default_archive(symbol, from, to, field) was rejected on substance: constructing the server inside a per-field open builds one DataServer (one cache) per field — 4× for a single OHLC bundle — breaking the Arc<DataServer> chunk-sharing the streaming model relies on across the four fields and across disjoint sims (C12). A shared Arc<DataServer> passed into open_ohlc keeps one cache shared.
    Provenance: orchestrator decision ratified by the user in the specify session on 2026-06-18 (AskUserQuestion fork 2 → "Re-export + geteiltes default_data_server()").
## Design reconciliation (specify, in-context entry) Cycle: Runway-1 — aura-ingest real-data source-open seam (milestone "Runway — real-data ergonomics & honesty hardening"; closes #80 #81 #92). Per-cycle specs are now local-only ephemeral artifacts (retired from git in 28958f2), so this tracker comment is the durable record of the fork resolution. The fix-option fork below is listed open on this issue; it was resolved in the in-context design discussion. - **Fork: form of the "buildable from aura-ingest alone" convenience** → **re-export `DataServer` + `DEFAULT_DATA_PATH` from aura-ingest AND add a shared `default_data_server() -> Arc<DataServer>`** that `open_ohlc` consumes. The issue-sketched per-field `M1FieldSource::open_default_archive(symbol, from, to, field)` was rejected on substance: constructing the server inside a per-field open builds one `DataServer` (one cache) per field — 4× for a single OHLC bundle — breaking the `Arc<DataServer>` chunk-sharing the streaming model relies on across the four fields and across disjoint sims (C12). A shared `Arc<DataServer>` passed into `open_ohlc` keeps one cache shared. Provenance: orchestrator decision ratified by the user in the specify session on 2026-06-18 (AskUserQuestion fork 2 → "Re-export + geteiltes default_data_server()").
Author
Owner

Shipped in 8c9a1b4 (consolidate the real-data source-open seam), in main since cycle 0052. The commit body declared 'closes #80 #81 #92' but the auto-close only fired for #80. Verified at HEAD: 'pub use data_server::{DataServer, DEFAULT_DATA_PATH}' (lib.rs:30) and default_data_server() -> Arc (lib.rs:338), with the firewall test tests/open_ohlc_absent_archive.rs importing the whole source-open stack from aura_ingest alone. The per-field open_default_archive alternative was rejected (one DataServer/cache per field breaks C12 Arc sharing). Closing as done.

Shipped in 8c9a1b4 (consolidate the real-data source-open seam), in main since cycle 0052. The commit body declared 'closes #80 #81 #92' but the auto-close only fired for #80. Verified at HEAD: 'pub use data_server::{DataServer, DEFAULT_DATA_PATH}' (lib.rs:30) and default_data_server() -> Arc<DataServer> (lib.rs:338), with the firewall test tests/open_ohlc_absent_archive.rs importing the whole source-open stack from aura_ingest alone. The per-field open_default_archive alternative was rejected (one DataServer/cache per field breaks C12 Arc sharing). Closing as done.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#81