Multi-OutField model emission (one producer backing >1 output) is untested in graph_model #47

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

render_definition's output_binding helper (crates/aura-cli/src/graph.rs) renders a tuple binding (n1, n2) := <producer> when one interior node backs more than one OutField (distinct field indices). Specified in 0022 as the general rule, shipped, but no current fixture re-exports >1 field from a single interior node — every existing composite (MACD, sma_cross, the fan-in fixtures) maps each output to a distinct producer, so only the single [one] => name := arm is exercised. Coverage gap surfaced at the cycle-0022 audit (architect drift review). Low urgency: defensive, behaviour-preserving code with no live consumer. A small unit fixture (one node with a 2-field output record, both fields re-exported) would close it. refs #46.

render_definition's output_binding helper (crates/aura-cli/src/graph.rs) renders a tuple binding `(n1, n2) := <producer>` when one interior node backs more than one OutField (distinct field indices). Specified in 0022 as the general rule, shipped, but no current fixture re-exports >1 field from a single interior node — every existing composite (MACD, sma_cross, the fan-in fixtures) maps each output to a distinct producer, so only the single `[one] => name := ` arm is exercised. Coverage gap surfaced at the cycle-0022 audit (architect drift review). Low urgency: defensive, behaviour-preserving code with no live consumer. A small unit fixture (one node with a 2-field output record, both fields re-exported) would close it. refs #46.
Brummel added the idea label 2026-06-08 17:19:55 +02:00
Author
Owner

Re-scoped (title updated) — original cited site was removed, the coverage gap moved.

The (a, b) := <producer> tuple arm in render_definition/output_binding (crates/aura-cli/src/graph.rs) was deleted when ascii-dag was retired (66dff88); the post-0026 JSON-model + WASM-Graphviz viewer has no := syntax at all. So the "spec'd + shipped but untested" behaviour this issue named no longer exists.

The underlying coverage gap moved rather than vanished: a composite whose single interior producer backs >1 OutField now serializes as multiple #N boundary edges + per-field outputs in crates/aura-engine/src/graph_model.rs:187-210, but no model-emission test feeds such a compositegraph_model tests only ever assert #0 (single output, :472,:497); the field_kind nested arm (:227-230) is likewise untouched. The compile path is covered (blueprint.rs:1309 outer_reexports_two_fields_of_inner_composite).

Caveat: pinning this is a golden over current emission, and whether that emission is the desired multi-output rendering is itself not yet settled — treat as a coverage+behaviour question, not a pure add-a-test. Retargeted from aura-cli/src/graph.rs to aura-engine/src/graph_model.rs. refs #46 (closed).

Re-scoped (title updated) — original cited site was removed, the coverage gap moved. The `(a, b) := <producer>` tuple arm in `render_definition`/`output_binding` (`crates/aura-cli/src/graph.rs`) was **deleted** when ascii-dag was retired (`66dff88`); the post-0026 JSON-model + WASM-Graphviz viewer has no `:=` syntax at all. So the "spec'd + shipped but untested" behaviour this issue named no longer exists. The underlying coverage gap moved rather than vanished: a composite whose single interior producer backs >1 `OutField` now serializes as multiple `#N` boundary edges + per-field outputs in `crates/aura-engine/src/graph_model.rs:187-210`, but **no model-emission test feeds such a composite** — `graph_model` tests only ever assert `#0` (single output, `:472`,`:497`); the `field_kind` nested arm (`:227-230`) is likewise untouched. The compile path *is* covered (`blueprint.rs:1309` `outer_reexports_two_fields_of_inner_composite`). Caveat: pinning this is a golden over *current* emission, and whether that emission is the *desired* multi-output rendering is itself not yet settled — treat as a coverage+behaviour question, not a pure add-a-test. Retargeted from `aura-cli/src/graph.rs` to `aura-engine/src/graph_model.rs`. refs #46 (closed).
Brummel changed title from output_binding tuple arm `(a, b) := …` is spec'd + shipped but untested to Multi-OutField model emission (one producer backing >1 output) is untested in graph_model 2026-06-13 23:54:43 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#47