1 Commits
Author SHA1 Message Date
DumiFlex ecb2f10f50 test(engine): sequential-chain simulation for combine + derivation
Adds an integration test file that drives PipelineEngine end-to-end through realistic kind chains the canvas-level conflict scanner targets. Each test sets up a module list as plain dict snapshots (PipelineEngine accepts these via coerce_legacy_module for non-fixed_values kinds) and asserts both the resolved user-facing ctx and the relevant warning shape.

Coverage:
- combine reads upstream sibling writes and emits ONLY its output_var (no input-var leakage into ctx).
- combine template referencing an unbound $var emits a runtime `unknown_var` warning while the missing token still collapses silently to empty (lenient surface).
- derivation condition.var read against an upstream-bound var fires the matching branch.
- derivation else fires when condition.var is missing — _ctx_get returns "", any equals comparison vs. a non-empty value fails, and the else clause writes its target. Confirms the static `missing_template_variable` warning is informative, not blocking.
- derivation action.value template with an unbound $var warns AND collapses to empty under the derivation surface.
- mixed-kind chain (fixed_values → combine → derivation) produces the expected final ctx, in-order trace, and zero spurious warnings when every $var is satisfied.
- disabled module is skipped — no writes, no warnings.
2026-05-02 13:08:52 +03:00