90e298d3b4
First fieldtest of the sum combinators. A standalone downstream-consumer crate
(fieldtests/cycle-0008-sum-combinators/) path-depends on the engine crates and
exercises the post-0008 surface from the public interface only (rustdoc + ledger
+ glossary + project-layout, never crates/*/src).
Primary axis empirically met: the north-star two-signal combine move now uses the
shipped Add (Add::new() dropped in exactly where the 0007 fixture hand-authored
an Add2) — the 0007 boilerplate is retired, end to end through SimBroker to a
deterministic recorded pip curve.
Findings: 0 bugs, 1 friction, 2 spec_gaps, 3 working.
- working ×3: Add2 retired; LinComb weighted/variadic sums exact (<1e-12);
warm-up barrier + empty-weights panic as documented.
- spec_gap: Add/LinComb per-input firing policy (Firing::Any / mode-A as-of
join) absent from the public surface — same class as the 0007 SimBroker gap.
- spec_gap: a fired combinator emits one row per *cycle*, so a heterogeneous
same-timestamp multi-source trace can carry >1 row per timestamp (correct per
C4/C5, undocumented at this surface).
- friction: nested consumer crate still needs the empty [workspace] table
(carried from 0006/0007; #9 closed the docs half; folds into aura new).
Spec feeds the next plan as reference.
42 lines
1.2 KiB
TOML
42 lines
1.2 KiB
TOML
# Standalone downstream-consumer crate for the cycle-0008 fieldtest (sum combinators).
|
|
#
|
|
# Like the cycle-0007 fixture, this 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-0008-sum-combinators/Cargo.toml --bin <name>`
|
|
# so HEAD source is always what runs.
|
|
# Empty [workspace] table: marks this fixture crate as its OWN workspace root
|
|
# (documented in docs/project-layout.md as the nested-project onboarding fix).
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "c0008-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 = "c0008_1_combine_with_add"
|
|
path = "c0008_1_combine_with_add.rs"
|
|
|
|
[[bin]]
|
|
name = "c0008_2_lincomb_weighted"
|
|
path = "c0008_2_lincomb_weighted.rs"
|
|
|
|
[[bin]]
|
|
name = "c0008_3_lincomb_three_legs"
|
|
path = "c0008_3_lincomb_three_legs.rs"
|
|
|
|
[[bin]]
|
|
name = "c0008_4_lincomb_edges"
|
|
path = "c0008_4_lincomb_edges.rs"
|
|
|
|
[[bin]]
|
|
name = "c0008_5_lincomb_two_sources"
|
|
path = "c0008_5_lincomb_two_sources.rs"
|