De-duplicate sample-blueprint wiring: aura-cli sma_cross/build_sample vs blueprint.rs fixture #27
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cycle 0013 (#13) added sma_cross() + build_sample() to crates/aura-cli/src/main.rs to author the aura graph sample blueprint. Near-identical to the #[cfg(test)] sma_cross() helper in crates/aura-engine/src/blueprint.rs. The SMA-cross sample now exists in three shapes: the flat hand-wired sample_harness (aura run), the composite sample_blueprint (aura graph), and the engine test sma_cross fixture.
Distinct from #14 (which dedups the Recorder fixtures, not the sample-blueprint wiring).
Direction: a single canonical SMA-cross sample blueprint that both aura run and aura graph consume, and that the engine bit-identical test can reference. Intersects the deferred "refactor aura run onto sample_blueprint()" the 0013 spec named out-of-scope.
context: acknowledged debt introduced by cycle 0013; low urgency, pure tidy.
Closing as won't-dedupe-cross-crate, per a deliberate scope decision in tidy 0014.
After two constraints are applied, nothing dedupable remains:
What's left is purely the cross-crate duplication of the composite sma_cross factory between aura-cli (non-test, drives aura graph) and aura-engine (#[cfg(test)], the composite pole). plan-recon confirmed there is no C9-clean home for a shared canonical factory:
Per CLAUDE.md, bending a domain invariant (C9) is a design decision, not a refactor. The remaining duplication is incidental (~12 lines of a demo/test fixture, in two crates, changing for independent reasons), so the DRY pull does not justify the C9 cost. The two fixtures stay deliberately separate.
If a future cycle introduces a real external example-project crate (per C9 'projects are external crates'), a single canonical demo strategy could live there and feed both engine tests and CLI demos — that is the clean home, and a larger piece of work than a tidy. Reopen/supersede then if desired.