You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
flows: declarative steps lack a supported way to consume upstream output #275
BLOCKER for the requested declarative llm → agent → deterministic demo.dependsOn orders steps, but the YAML surface has no input binding for passing a verified JSON value into a downstream instruction or deterministic command. The accepted step fields and kernel compilation expose no binding mechanism.
This is a missing authoring capability, not a claim that a particular template syntax is promised.
Repro
The launch shakedown attempted a three-step YAML flow: extract declares a JSON output schema; draft depends on extract; write depends on draft. There is no documented value-reference field. An exploratory input: {from: first} is refused:
REFUSED [invalid_spec] Relayflow spec is invalid: spec.steps[1]: unknown key "input" (expected one of id | type | dependsOn | verification | maxIterations | memory | requirements | command | timeoutMs)
A provider-free control using a guessed {{steps.first.output}} string completes but writes that exact literal to its output file:
Again, the guessed braces syntax is not documented; this establishes that it is not an available workaround.
Expected
A documented declarative binding reads a completed, verified upstream value, preserves its type, and supplies it to the next step without hand-written journal readers or shell files standing in for declared data flow.
Suggested direction
Design input references at the authoring/protocol boundary with missing-reference preflight, explicit value selection, safe command argument transport, and durable provenance. Clarify how this composes with JSON Schema outputs and dependsOn. Avoid raw shell substitution of model output.
Acceptance criteria
A three-step YAML example passes verified llm JSON through an agent and writes a deterministic artifact.
Missing step IDs/fields are refused before effects when statically knowable.
Quotes, newlines, and shell metacharacters in upstream values remain data.
Resume consumes the journaled output, with no duplicate upstream execution.
Document and exercise the actual syntax through flows run.
Activity
feat(testdata): promote shakedown scenarios into testdata/shakedown/ (#…
feat(sdk): lower f.llm in the TS surface + declarative output binding (…