The agent is not a one-shot Job.
AX describes an agent task as a small isolated unit that may plan, delegate, retry, and create a tree of more tasks. Its lifecycle includes running, suspended, failed, and terminating states. A task can keep filesystem and memory state across suspension through the Agent Substrate runtime beneath it.[1][2]
That differs from the standard Kubernetes Job contract. A Job retries Pods until a specified number finish successfully. Kubernetes also exposes a retry limit, an active deadline, and cleanup after completion.[3]
Persistence changes the failure question. Ask what can wake the task, what it can still reach, and what finally deletes it.
AX makes four parts inspectable.
The current AX docs define four resources. Task declares the image, command, compute limits, workspace bindings, and gateway reference. Workspace prepares repositories, MCP servers, and skills. Gateway sets listeners and an outbound host allowlist. Model names the provider, model identifier, parameters, and Kubernetes secret reference.[1]
This separation is useful because each resource answers a different review question. What runs? What enters the filesystem? Where can traffic go? Which model configuration and credential does the platform use?
The example manifest deserves a close read. Its gateway allows every host on port 443 and tells operators to tighten that in production. Its task enables debug access. Those are clear examples, not production defaults.[4]
Ready is a state, not an approval.
AX says Ready means the task is running and its workspaces are ready. The separate GatewayReady condition means network policy reached the sandbox. Neither condition says the change is correct, the spend is bounded, or the task should merge code.
The current docs reviewed here do not define a token budget, a wall-clock deadline, a retry ceiling, or a merge approval rule in the four-resource manifest. AX warns that its concepts and APIs are still changing before a stable release. Treat the missing review fields as deployment policy you must supply, not as evidence that the alpha runtime promises them.[1]
Write the stop contract beside the start contract.
- Pin the image by digest and cap CPU and memory.
- Pin repository revisions. Review every MCP server and skill source placed in the workspace.
- Replace wildcard egress with the exact hosts and ports the task needs.
- Name the model configuration and secret reference. Keep raw credentials out of the manifest.
- Set wall-clock, retry, spend, and child-task ceilings in the surrounding control system.
- Define who may resume, approve, merge, and delete the task. Save the final status and cleanup receipt.
A declarative runtime makes policy review possible. It does not finish the policy for you.