13941a24d5
Milestone-close fieldtest for "Runway — real-data ergonomics & honesty hardening". Four curated end-to-end scenarios derived top-down from the milestone promise, run as a downstream consumer against real GER40/EURUSD M1 bars (public interface only; no crates/*/src read): 1. per-instrument pip honesty (#22) — GER40 index pip 1.0 AND EURUSD forex pip 0.0001 both honest end-to-end; AAPL.US/FOOBAR un-vetted refused exit 2, no stdout leak 2. real GER40 M1 open via open_ohlc from aura-ingest ALONE (#80/#81/#92) — no data-server dep, 53173 real bars, C4 O/H/L/C order, ts-window inverse 3. multi-tap ts-join (#93) — two taps at different cadences, 27744 rows, 0 by-ts mismatches; warm-up None rows where a positional zip would corrupt 4. run-registry coherence (#73/#82) — list/rank retired exit 2, families/ family live, two-store Registry read-back + rustdoc Findings: 4 working, 1 friction, 1 spec_gap. - friction: Cell exposes only from_i64/from_f64/... while the side-by-side Scalar is a tagged enum with public I64(..)/F64(..) variants. The natural param-authoring entry point is Scalar (Cell is the hot-path buffer carrier), so the wrong reach is a self-correcting compile snag — ergonomic only. Filed as a follow-up idea. - spec_gap: unknown family id exits 0 empty — ratified into the C18 note in the preceding commit (treat-as-empty contract). Gate verdict: GREEN. All seven axes mapped to a covering scenario and exercised on real bars; both finding classifications and the one material coverage gap were adversarially re-verified. That gap — #22's FX-vetted pip face, untested by the original scenario set — was probed (EURUSD -> sim-optimal(pip_size=0.0001), FX-scaled, not index-mis-scaled) and folded into scenario 1, so the pip promise is demonstrated on both positive faces. Every scenario re-run independently on HEAD before commit.
53 lines
2.2 KiB
TOML
53 lines
2.2 KiB
TOML
# Standalone downstream-consumer crate for the MILESTONE fieldtest of "Runway —
|
|
# real-data ergonomics & honesty hardening".
|
|
#
|
|
# This is the milestone-close fieldtest: it exercises the honesty-hardened
|
|
# real-data ingestion seam end to end, the way a downstream researcher would —
|
|
# open the real GER40 M1 archive via the canonical opener from `aura-ingest`
|
|
# ALONE (the #81 promise: a real-data source builds without naming the external
|
|
# `data-server` crate), run a strategy against real bars, and fuse multi-tap sink
|
|
# traces honestly on timestamp (#93).
|
|
#
|
|
# Like the per-cycle fixtures, this is NOT a member of the aura workspace — it
|
|
# path-deps the engine crates exactly as a real C16 research project would, then
|
|
# drives the PUBLIC surface ONLY (design ledger + glossary + `cargo doc` rustdoc;
|
|
# no crates/*/src was read). NB the Runway milestone's whole point is that a
|
|
# real-data consumer no longer reaches for `data-server` directly: there is NO
|
|
# `data-server` dependency in this manifest — `aura-ingest` re-exports DataServer
|
|
# + DEFAULT_DATA_PATH + default_data_server() + open_ohlc() now (#81/#92). The
|
|
# prior milestone-18 fixture had to pull `data-server` as a git dep; this one
|
|
# proves that crutch is gone.
|
|
#
|
|
# Built/run via, e.g.:
|
|
# cargo run --manifest-path fieldtests/milestone-runway/Cargo.toml --bin rw_2_open_ohlc_real
|
|
# so HEAD source is always what runs.
|
|
#
|
|
# Empty [workspace] table: marks this fixture crate as its OWN workspace root.
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "runway-fieldtest"
|
|
version = "0.0.0"
|
|
edition = "2024"
|
|
publish = false
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../../crates/aura-core" }
|
|
aura-engine = { path = "../../crates/aura-engine" }
|
|
aura-ingest = { path = "../../crates/aura-ingest" }
|
|
aura-std = { path = "../../crates/aura-std" }
|
|
|
|
[[bin]]
|
|
name = "rw_2_open_ohlc_real"
|
|
path = "rw_2_open_ohlc_real.rs"
|
|
|
|
[[bin]]
|
|
name = "rw_3_multitap_ts_join"
|
|
path = "rw_3_multitap_ts_join.rs"
|
|
|
|
# Scenario 1 (per-instrument pip honesty) and scenario 4 (run-registry coherence)
|
|
# are exercised directly through the `aura` binary, since the canonical consumer
|
|
# form for a CLI tool is the CLI invocation itself, not a Rust program. Their
|
|
# transcripts live in out_rw_1_pip_honesty.txt / out_rw_4_runs_coherence.txt;
|
|
# there is no [[bin]] for either.
|