8c19260e8d
Cycle-close fieldtest for #283 + #77 (tap subscribers), exercising the new
tap surface as a downstream consumer over the public interface only (design
ledger, glossary, cargo doc, example corpus — never the crate sources).
Five examples, one per axis, all built and run against worktree HEAD bd0c557:
- tap_1_record_spread.ops.json — record → runs/traces/graph/spread.json
- tap_4_measure_ic.ops.json — two-tap run → aura measure ic (clean IC)
- tap_consumer/src/tap_2_fold.rs — Named{mean}/Named{count} via run_signal_r
- tap_consumer/src/tap_3_live.rs — Live(closure); bit-identical to fold + record
- tap_consumer/examples/refusal_probe.rs — unknown-label refusal (exit 1, no write)
The consumer crate is a detached workspace (own empty [workspace], path-deps on
aura-core/-engine/-runner), exactly as a real World program; it is not a
workspace member and does not build under `cargo build --workspace`. Verified
here with a fresh `cargo build --bins --examples` (Finished, 0 errors).
No merge-blocking defect: record/fold/live/measure over the shared pair are
correct and deterministic. Follow-ups filed at cycle close:
- #309 (feature) — a plain `aura run` echoes no recorded trace handle (F1+SG1)
- #310 (idea) — Named fold has no data/CLI reach; ratify Rust-only vs selector (SG2)
- #311 (bug) — same-name re-run orphans still-chartable tap files (SG3, pre-existing)
- #297 (comment) — library refusal = process::exit, not Result (F2, already tracked)
25 lines
754 B
TOML
25 lines
754 B
TOML
# A downstream World-program consumer of aura-runner's public tap-plan API.
|
|
# Detached from the aura workspace via an empty [workspace] table, exactly as a
|
|
# real research project's node crate is (docs/project-layout.md). It reaches the
|
|
# fold and live tap subscriptions — the two surfaces neither CLI verb exposes
|
|
# (both pass a record-all plan) — through run_signal_r + TapPlan.
|
|
[package]
|
|
name = "tap-consumer"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[workspace]
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../../../crates/aura-core" }
|
|
aura-engine = { path = "../../../crates/aura-engine" }
|
|
aura-runner = { path = "../../../crates/aura-runner" }
|
|
|
|
[[bin]]
|
|
name = "tap_2_fold"
|
|
path = "src/tap_2_fold.rs"
|
|
|
|
[[bin]]
|
|
name = "tap_3_live"
|
|
path = "src/tap_3_live.rs"
|