Skip to content

Revisit the API server and Task lifecycle #433

Description

@rakyll

As AX evolves alongside Agent Substrate, we need to revisit the mechanics of the API server (ax-server). This issue tracks foundational changes to align the Task lifecycle directly with Substrate actors, transition from queue-driven orchestration to direct RPC-driven execution, Postgres storage, and support custom OCI container images as tasks.

Changes

1. Task-to-Actor Lifecycle Alignment

Once the Agent Substrate's new actor lifecycle is established, AX's task model should map strictly 1:1 to Substrate actors:

  • Lifecycle Parity: All task lifecycle states and operations must directly mirror Substrate actor lifecycle events: creation, suspension, resumption, tagging, reverting and other additional capabilities. Eliminate reconciliation mismatches or intermediate states that duplicate or lag behind the underlying Substrate actor state.
  • Golden images: Align on the golden image decisions, AX doesn't need golden images.
  • ActorTemplate Revisit: The use and role of ActorTemplate in AX will be revisited based on upstream design decisions in Agent Substrate.
  • Resources, sandboxing config: Allow users to configure tasks to leverage everything Agent Substrate offers per actor. Discuss the best way how we can avoid the bifurcation of the APIs.

2. RPC-Driven Control Plane

  • Transition away from asynchronous work queues / event loops as the execution mechanism for lifecycle operations.
  • RPCs become the driving factor: Task operations (create, suspend, resume, delete, revert) should execute and reconcile synchronously via direct RPC invocations to the control plane and Substrate.
  • ax apply <manifest>: Kept as a first-class CLI command for human ergonomics, scripting, and declarative local workflows.

3. Storage

  • Migrate persistence and state storage from Redis to PostgreSQL.
  • Retire and remove Redis support entirely (both for state storage and coordination).
  • Define relational schemas and migrations for Tasks, Workspaces, and Models, and ensure we establish transition tools.

4. Runner Injection

  • Runner Injection: The AX runner binary/tooling will be injected into the actor at runtime rather than requiring a specialized base image.
  • Arbitrary OCI Images: Users will be able to specify any standard OCI container image in their task specification, enabling arbitrary language runtimes, OS distributions, and user-supplied environments.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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