Early version v0.1.0 · Native agents, one terminal workflow.Current status

Navigation

Browse documentation

Supervisor responsibilities

Coordinate lifecycle and policy while leaving coding behavior inside the native agent.

On this page

What the supervisor owns

The supervisor drives the run lifecycle, owns uuldana-cli session records and the normalized event log, enforces permission validation, and chooses a transport. The orchestrator sits on top of it: it picks entries in your order, relays the terminal, watches for a usage limit, rests an exhausted entry, and starts the next one with a handoff.

What stays with the provider

The coding agent keeps its reasoning loop, native tools, configuration, plugins, skills, MCP integrations, instruction discovery, authentication, and native sessions. uuldana-cli does not replace those with a reduced generic tool interface.

An adapter describes a LaunchPlan; it does not spawn a process. The transport executes the plan and moves frames; it does not interpret provider semantics. This keeps provider-specific interpretation out of generic process handling.

Policy before launch

Permission mapping must honestly describe the provider’s effective behavior, and core validation rejects escalation. Launch plans are checked for absolute executable and workspace paths, transport agreement, valid terminal size, valid environment changes, and absence of NUL bytes in arguments.

Adapters are trusted compiled-in code, or data in the case of manifests. Type-level contracts do not prevent an adapter or a launched executable from writing files.

Finalization is bounded

A run finalizes when the direct child is reaped or its connection closes, followed by bounded cleanup and output drain. A descendant keeping an output handle open does not hold the run alive indefinitely. Exactly one terminal transition is recorded.

Cancellation and forced termination stay distinct: a provider that stops on request ends as cancelled, and one that had to be killed ends as terminated, because its native state may not have been saved.

Search documentation

Start typing to search all articles.

↑ ↓ navigate · Enter openEsc close