Skip to content

fix: nil-resolved transform fields deliver no input; agent reserved carriers read absence - #64

Merged
wolfy-j merged 2 commits into
masterfrom
fix/agent-reserved-inputs-nil
Aug 8, 2026
Merged

fix: nil-resolved transform fields deliver no input; agent reserved carriers read absence#64
wolfy-j merged 2 commits into
masterfrom
fix/agent-reserved-inputs-nil

Conversation

@wolfy-j

@wolfy-j wolfy-j commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

An input_transform field whose expression resolves to nil previously materialized a nil-content input entry. The agent node's reserved carriers (context, model, agent_id) rejected that shape as malformed and failed the node, and nil-content inputs rendered a literal nil prompt tag.

Two-layer fix:

  • node: a transform field resolving to nil delivers no input, matching raw-input presence semantics (an input either exists with content or does not exist). false, 0, and empty string remain present.
  • agent node: reserved-input carriers and prompt-tag rendering treat a nil-content entry as absent — defense for raw rows, same presence idiom other nodes use.

This unblocks workflow-lowered agent blocks passing arena context and model overrides through their payload: a payload without those keys must run, not fail.

Tests: 960 sqlite suite green (3 new unit cases + 1 end-to-end input_transform case). Lint clean apart from the pre-existing fixpoint warning.

wolfy-j added 2 commits August 8, 2026 13:46
An input_transform field whose expression resolves to nil produces an
input entry with nil content. The reserved carriers (context, model,
agent_id) now read that as "not provided" instead of failing the node,
and nil-content inputs render no prompt tag.
Raw inputs either exist with content or do not exist; input_transform
now holds the same contract instead of materializing nil-content
entries.
@wolfy-j
wolfy-j merged commit 05fe4ec into master Aug 8, 2026
8 checks passed
@wolfy-j
wolfy-j deleted the fix/agent-reserved-inputs-nil branch August 8, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant