Files
Aura/fieldtests/cycle-0006-substrate/Cargo.toml
T
Brummel 0bf15cb069 fieldtest: cycle-0006 sink recording — 5 examples, 6 findings
First fieldtest of the project. A standalone downstream-consumer crate
(fieldtests/cycle-0006-substrate/) path-depends on the engine crates and
exercises the post-0006 substrate from the public interface only (rustdoc +
specs + ledger, never crates/ source):

  1 custom recording node via the Node contract + Ctx::now()
  2 fan-out/fan-in DAG, 3-arg bootstrap, run() -> ()
  3 two interior streams recorded from one run (the cycle headline)
  4 byte-identical recorded output across two runs (C1 determinism)
  5 mis-wired recording edge rejected (KindMismatch) at bootstrap

Findings: 3 working (carry-on), 2 friction, 1 spec_gap.
  - friction: a nested standalone consumer crate fights the workspace
    resolver (needs an empty [workspace] table — Cargo's own hint).
  - friction: recorder boilerplate is hand-rewritten per author (C9
    deliberately ships no library sink).
  - spec_gap: the public surface never states output: vec![] is THE sink
    declaration, nor defines a Some return paired with empty output.

Spec at docs/specs/fieldtest-0006-substrate.md feeds the 0007 plan.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 15:36:50 +02:00

44 lines
1.3 KiB
TOML

# Standalone downstream-consumer crate for the cycle-0006 fieldtest.
#
# It is NOT a member of the aura workspace — it path-depends on the engine crates
# exactly as a real research project (C16) would, and is built via
# `cargo run --manifest-path fieldtests/cycle-0006-substrate/Cargo.toml --bin <name>`
# so HEAD source is always what runs.
# Empty [workspace] table: marks this fixture crate as its OWN workspace root, so
# it stays out of the engine workspace without editing the engine's root manifest.
# (Cargo's own error message lists this as the keep-it-out-of-the-workspace fix.)
# Recorded as a fieldtest finding: a standalone path-dep consumer crate nested
# under a workspace repo needs this one line.
[workspace]
[package]
name = "c0006-fieldtest"
version = "0.0.0"
edition = "2024"
publish = false
[dependencies]
aura-core = { path = "../../crates/aura-core" }
aura-engine = { path = "../../crates/aura-engine" }
aura-std = { path = "../../crates/aura-std" }
[[bin]]
name = "c0006_1_custom_node_now"
path = "c0006_1_custom_node_now.rs"
[[bin]]
name = "c0006_2_fanout_dag"
path = "c0006_2_fanout_dag.rs"
[[bin]]
name = "c0006_3_multi_sink_record"
path = "c0006_3_multi_sink_record.rs"
[[bin]]
name = "c0006_4_determinism"
path = "c0006_4_determinism.rs"
[[bin]]
name = "c0006_5_reject_mismatch"
path = "c0006_5_reject_mismatch.rs"