-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Summary
Script steps currently pass structured upstream data as rendered command-line arguments (for example, --evaluations <huge JSON>). This is fragile cross-platform, especially on Windows where command-line length limits are lower.
We validated this in real workflow runs where the same logical step worked only after rewriting large inline JSON args to temp-file based input (--evaluations-file).
Why this is platform-level (not workflow-specific)
Any workflow that feeds large structured payloads into script steps can hit the same failure mode. Workflow authors should not have to implement custom argument-size workarounds.
Evidence
From recent logs:
docs-eval-run-10-final.log: validator/analyst invoked with inline--evaluations <large-json>payload.docs-eval-run-10-hardened.log: same run succeeds after rewriting to--evaluations-filewith temp files.
Requested feature
Introduce first-class, generic script payload transport in Conductor, e.g. one or more of:
stdin_json(rendered object written to process stdin)- managed temp artifact handoff (engine-owned temp file path injection)
- automatic large-arg spillover that is argument-name agnostic (not tied to a specific flag name)
Acceptance criteria
- Works uniformly on Windows/macOS/Linux.
- No dependency on argument names like
--evaluations. - Clear precedence/behavior when both inline args and managed transport are configured.
- Temp artifact lifecycle is deterministic and cleaned up.
- Add tests covering large payloads and Windows path/length behavior.
Notes
Current local mitigation is executor-level rewrite for --evaluations, which is pragmatic but workflow-shaped. This issue tracks the generic long-term design.