Enrich the aura graph sample blueprint to showcase nesting, multi-output, multi-param, and bind() #62

Closed
opened 2026-06-13 19:55:20 +02:00 by Brummel · 1 comment
Owner

The built-in sample that aura graph renders (and aura sweep runs) is
single-level (root → sma_cross → primitives) and exercises none of the viewer's
richer authoring capabilities. Enrich it into a "trend + momentum, weighted
blend" strategy that demonstrates four capabilities currently dark in any
rendered sample:

  1. multiply-nested composites (root → signals → {trend, momentum}),
  2. a node with multiple params inside a composite (a LinComb blend),
  3. a node with multiple outputs (the existing MACD composite, 3 outputs),
  4. bind() — a param fixed as a structural constant (drops out of the sweep surface).

Option A (chosen): one shared sample — the viewer shows exactly what aura sweep
runs, no render-only divergence. Pure authoring over already-shipped primitives;
no engine semantics change, no graph-viewer.js change. Reuses the existing
sma_cross / macd builders.

Spec: docs/specs/0036-sample-showcase-blueprint.md.

context: in-progress, design settled in-session. Related to #19 (denser demo
data — the enriched sweep needs a longer warm-up stream) and #53 (sample-topology
duplication — this touches the CLI copy only; the engine test copies are
unaffected).

The built-in sample that `aura graph` renders (and `aura sweep` runs) is single-level (root → sma_cross → primitives) and exercises none of the viewer's richer authoring capabilities. Enrich it into a "trend + momentum, weighted blend" strategy that demonstrates four capabilities currently dark in any rendered sample: 1. multiply-nested composites (root → `signals` → {`trend`, `momentum`}), 2. a node with multiple params inside a composite (a `LinComb` blend), 3. a node with multiple outputs (the existing MACD composite, 3 outputs), 4. `bind()` — a param fixed as a structural constant (drops out of the sweep surface). Option A (chosen): one shared sample — the viewer shows exactly what `aura sweep` runs, no render-only divergence. Pure authoring over already-shipped primitives; no engine semantics change, no `graph-viewer.js` change. Reuses the existing `sma_cross` / `macd` builders. Spec: `docs/specs/0036-sample-showcase-blueprint.md`. context: in-progress, design settled in-session. Related to #19 (denser demo data — the enriched sweep needs a longer warm-up stream) and #53 (sample-topology duplication — this touches the CLI copy only; the engine test copies are unaffected).
Brummel added the feature label 2026-06-13 19:55:20 +02:00
Author
Owner

Design reconciliation (specify, in-context entry)

Spec: 0036-sample-showcase-blueprint. This work was settled in an in-context chat
session (no prior tracker issue); this issue + comment are the auditable record of
the user's decisions, so the auto-sign scope-fork juror checks resolution against
a persistent source rather than the orchestrator's in-context assertion.

  • Fork: shared sample vs. render-only showcaseA (shared sample: the
    viewer renders exactly the blueprint aura sweep runs; no render-only divergence).
    Provenance: user reply "A" (2026-06-13), answering the two named options laid out
    in-session (A = unified real sample; B = render-only showcase).
  • Scope: the four capabilities to demonstrate → multiply-nested composites; a
    multi-param node inside a composite; a multi-output (MACD-like) node; bind().
    Provenance: user request (2026-06-13), verbatim: "ich möchte, dass du das Sample
    erweiterst. Es soll demonstrieren: 1. mehrfach veschachtelte composites 2. Nodes
    mit mehreren Parametern (auch innerhalb von Composites) 3. Nodes mit mehreren
    Ausgängen (wie beim MACD) 4. bind()".
  • Autonomy: user delegated the remaining production to run autonomously ("mach
    das allein, bin weg", 2026-06-13) under /boss with spec auto-sign enabled.

NOT user-settled — orchestrator authoring choices made within the direction above,
recorded honestly so the panel adjudicates them on their merits (not as user
decisions): (a) the specific blend shape — LinComb(3) over
[trend.cross, momentum.histogram, momentum.signal]; (b) the bind target —
blend.weights[2], chosen because binding a param inside the shared macd()
builder would cascade into the separate run_macd path, whereas the sample-local
blend binds with no cascade. These are presentation details of a demo within the
user's settled direction, not forks with substantive user-facing trade-offs — but
that judgement is the scope-fork juror's to make, not the orchestrator's.

## Design reconciliation (specify, in-context entry) Spec: 0036-sample-showcase-blueprint. This work was settled in an in-context chat session (no prior tracker issue); this issue + comment are the auditable record of the user's decisions, so the auto-sign `scope-fork` juror checks resolution against a persistent source rather than the orchestrator's in-context assertion. - **Fork: shared sample vs. render-only showcase** → **A** (shared sample: the viewer renders exactly the blueprint `aura sweep` runs; no render-only divergence). Provenance: user reply "A" (2026-06-13), answering the two named options laid out in-session (A = unified real sample; B = render-only showcase). - **Scope: the four capabilities to demonstrate** → multiply-nested composites; a multi-param node inside a composite; a multi-output (MACD-like) node; `bind()`. Provenance: user request (2026-06-13), verbatim: "ich möchte, dass du das Sample erweiterst. Es soll demonstrieren: 1. mehrfach veschachtelte composites 2. Nodes mit mehreren Parametern (auch innerhalb von Composites) 3. Nodes mit mehreren Ausgängen (wie beim MACD) 4. bind()". - **Autonomy:** user delegated the remaining production to run autonomously ("mach das allein, bin weg", 2026-06-13) under /boss with spec auto-sign enabled. NOT user-settled — orchestrator authoring choices made within the direction above, recorded honestly so the panel adjudicates them on their merits (not as user decisions): (a) the specific blend shape — `LinComb(3)` over [`trend.cross`, `momentum.histogram`, `momentum.signal`]; (b) the bind target — `blend.weights[2]`, chosen because binding a param inside the shared `macd()` builder would cascade into the separate `run_macd` path, whereas the sample-local blend binds with no cascade. These are presentation details of a demo within the user's settled direction, not forks with substantive user-facing trade-offs — but that judgement is the `scope-fork` juror's to make, not the orchestrator's.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#62