Skip to content

Feature: first-class cross-platform payload transport for script steps #18

@e-s-gh

Description

@e-s-gh

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-file with temp files.

Requested feature

Introduce first-class, generic script payload transport in Conductor, e.g. one or more of:

  1. stdin_json (rendered object written to process stdin)
  2. managed temp artifact handoff (engine-owned temp file path injection)
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions