AI as a native plane

Agents that understand your product.

Vadyl's agent plane is fully native — 24 entities, typed plan IR, capability-aware LLM routing, immutable memory with supersession. Agents see the same customers, orders, permissions, workflows, branches, sandboxes, approvals, migrations, rollouts, and audit trails as the rest of the backend. They cannot violate access. They cannot exceed their token budget. They show their work through the same explainability plane every other Vadyl decision goes through.

Typed plan IR

60+ closed discriminated kinds. No raw escapes.

AgentPlanOperation is a closed union of 60+ typed kinds. There is no ExecuteShellCommand. No ExecuteRawSql. No RawFilesystemMutate. No InvokeProviderSdkDirectly. Plans compose existing Vadyl typed ASTs — entity, schema, branching, automation, model, memory, connection, source-authoring, workflow, federation, distribution, analytics, sub-agent-spawn, HITL, control-flow.

Plans compose canonical ASTs

Entity ops, schema ops, branching ops, automation ops, model ops, memory ops, source-asset ops — every step is a typed canonical operation. The plan is structurally checked before execution.

13-stage validation

Structural · PCG references · capabilities · access · DAG cycle · budget · coherence · protection · schema · federation · quota · signatures · risk-rollup. Validation happens at compile, not at runtime.

Risk rollup MAX

Plan risk is the MAX of step risks. Cannot understate. A single high-risk step elevates the whole plan. Operators see the actual risk, never a soft-pedal.

Immutable memory + supersession

AgentMemoryMutation.Invalidate sets ValidUntil + SupersededByFactId. Memory is queryable across history. Hard delete reserved for legal compliance only — never normal flow.

Capability-aware LLM routing

Tier (frontier / mid / fast) + required capabilities (vision, tool-use, JSON mode). ILlmCapabilityRegistry resolves through the project's binding chain. DeprecationFallbackPolicy on retired models.

Sub-agent narrowing

Sub-agent grants and memory scopes only narrow — never widen. Parent's grants × child's override × agent definition policy × ProjectCapabilityGrant.

Token accounting

ITokenAccountingService.PreflightAsync runs BEFORE dispatch. Budget intersection across (definition default, caller override, parent residual). RecordUsageAsync reconciles after — drives canonical billing.

Recall reads canonical state

Agents read memory, corpora, and entities through the same canonical surfaces every other plane reads. Never log archaeology, never paraphrased history.

MCP as canonical projection

External MCP-compatible clients consume agent surfaces through tools/list (capability-grant filtered) and tools/call (canonical dispatcher). No MCP-only authority.

Runs on the seven surfaces

Agent runs use durable workflows + existing trigger surfaces. NOT an 8th execution surface. Pinned by structural tests; capability bounds the same as every other authored handler.

Branchable

AgentManifest is one of 19 typed branching domains. Sandbox an agent change. Replay traffic. Approve. Promote. Same DAG as schema, code, providers.

IAgentExplainer

Reads canonical state directly — run rows, step rows, reasoning checkpoints, plan diagnostics, recall journals. Anti-pattern #77 codified: never log-scrapes.

24
Persistent entities

Native plane, not bolted-on

60+
Typed plan kinds

Closed discriminated union

4
Built-in adapters

Anthropic · OpenAI · DeepSeek · Moonshot

MAX
Risk rollup

Cannot understate

AI that lives inside your product model.

Same entities. Same access enforcement. Same audit. Same explainability. Agents are not a side door — they're a peer plane.