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
_v1: expose a step-script deserializer (no way to decode a bare StepScript) #334
The _openjd_rs binding exposes deserialize_step, which requires a full named step object. There is no entry point to deserialize a bare step script.
Consequence
Callers that hold a StepScript (e.g. the deadline-cloud-worker-agent's RustSessionRuntime adapter in aws-deadline/deadline-cloud-worker-agent#1002) must fabricate a synthetic wrapper — {"name": "Placeholder", "script": ...} — and pull .script off the deserialized step. Functional, but the synthetic name can leak into Rust-side validation error messages and confuse whoever reads the session log.
Proposal
Expose a deserialize_step_script-style function (binding and/or crate) that decodes a bare script object directly.
Related: #332 (run-task-without-session-env capability for the same adapter).
Closing. Since filing this, we've confirmed the synthetic wrapper is lower-impact than it first appeared: WrappedStep.Name (RFC 0008 wrap actions) is resolved from the step_name argument to run_task, not from the deserialized step's name — so the placeholder name never affects execution semantics. The remaining impact is cosmetic: the synthetic name can appear in Rust-side validation error messages for a malformed script. That alone doesn't justify a new deserializer API surface, and the ~18-line wrapper in the worker agent adapter is stable and covered by tests. Happy to reopen if another consumer needs to decode a bare StepScript.
Closing. Since filing this, we've confirmed the synthetic wrapper is lower-impact than it first appeared: WrappedStep.Name (RFC 0008 wrap actions) is resolved from the step_name argument to run_task, not from the deserialized step's name — so the placeholder name never affects execution semantics. The remaining impact is cosmetic: the synthetic name can appear in Rust-side validation error messages for a malformed script. That alone doesn't justify a new deserializer API surface, and the small wrapper in the worker agent adapter is stable and covered by tests. Happy to reopen if another consumer needs to decode a bare StepScript.
Activity
seant-aws commentedon Aug 5, 2026
Closing. Since filing this, we've confirmed the synthetic wrapper is lower-impact than it first appeared: WrappedStep.Name (RFC 0008 wrap actions) is resolved from the step_name argument to run_task, not from the deserialized step's name — so the placeholder name never affects execution semantics. The remaining impact is cosmetic: the synthetic name can appear in Rust-side validation error messages for a malformed script. That alone doesn't justify a new deserializer API surface, and the ~18-line wrapper in the worker agent adapter is stable and covered by tests. Happy to reopen if another consumer needs to decode a bare StepScript.
seant-aws commentedon Aug 5, 2026
Closing. Since filing this, we've confirmed the synthetic wrapper is lower-impact than it first appeared:
WrappedStep.Name(RFC 0008 wrap actions) is resolved from thestep_nameargument torun_task, not from the deserialized step's name — so the placeholder name never affects execution semantics. The remaining impact is cosmetic: the synthetic name can appear in Rust-side validation error messages for a malformed script. That alone doesn't justify a new deserializer API surface, and the small wrapper in the worker agent adapter is stable and covered by tests. Happy to reopen if another consumer needs to decode a bare StepScript.