mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-22 14:39:28 +00:00
fix(plane): fetch task-produced inputs from the receiver after the start
A producer's artifact rendered as spec.files of a generated <task>-inputs Workspace ends up in ax's AX_WORKSPACES_YAML env value; Agent Substrate rejects values over 32768 characters, so a 182 KB facts.json broke ax apply on the live cluster. The reconciler now passes OUSAST_INPUTS instead, the receiver serves a running task its declared inputs over GET /inputs/..., and the runner fetches them after the start (failed fetch -> failed summary). Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
554f00e2f7
commit
89d000c704
@@ -56,7 +56,12 @@ container the same module is PID 1 (`ax-task-runner`), built as a target of the
|
||||
for tasks that must not overlap; engine-bearing tasks carry `engine`). The reconciler passes budgets and
|
||||
artifact paths to a task as `env` entries (`OUSAST_BUDGET_USD`, `OUSAST_BUDGET_CALLS`, `OUSAST_INPUT_<NAME>`,
|
||||
`OUSAST_OUTPUT_DIR`), which is ax's own mechanism for task configuration, so a Run never adds a field to a
|
||||
Task.
|
||||
Task. Inputs another task produced are never rendered into a Workspace (ax puts every bound Workspace into one
|
||||
env value, `AX_WORKSPACES_YAML`, and Agent Substrate rejects values over 32768 characters): the Task carries
|
||||
`OUSAST_INPUTS` = `{"<NAME>": "<producer>/<artifact>"}`, and after the start request the runner fetches each
|
||||
from the receiver's `GET /inputs/<producer>/<artifact>` (same headers, dial and retries as delivery; only a
|
||||
running task's declared inputs are served) to its `OUSAST_INPUT_<NAME>` path; a failed fetch delivers a
|
||||
failed summary naming the input and the command never runs.
|
||||
|
||||
### Runner (`runner.py`)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user