Orkestia
Blog
Core Concepts

DGI — Dialog Generative Interface

How Orkestia turns a natural-language goal into a typed, executable workflow plan, how that plan compiles into a reusable deterministic composition, and how DGI relates to assistants over MCP

TL;DR

  • DGI is the reasoning front door. You give it a goal in plain language. It interprets the intent, selects capabilities by reading their schemas, assembles a DAG, and hands it to the engine.
  • AI designs, the engine executes. DGI never runs anything itself, and never invents workflow names. It selects only from the declared catalog.
  • DGI and MCP share one catalog. An assistant over MCP picks one type and starts it. DGI assembles many types into a plan. Same registry, same schemas, same engine.
  • Good plans freeze into compositions. A plan that works becomes a virtual workflow that runs with no model call.
  • Status: alpha. Structured answers (chat, the dgi.chat API, Living Surfaces), reasoning, plan compilation and promote-to-composition ship today. Automatic end-to-end dispatch of multi-step plans is on the roadmap.
New to DGI? Start with the DGI section: what it is, how a request becomes a card, every interface, and a quickstart. This page covers how DGI plans multi-step work.

DGI stands for Dialog Generative Interface: the natural-language, dialog-driven surface in front of the engine. Older material sometimes reads it as Dynamic Goal Interpreter. Same component; that reading describes what it does: it interprets a goal through a dialog.

Where DGI sits

Everything on Orkestia resolves to one primitive: a workflow. DGI does not invent a parallel execution path. It produces the same workflows that the MCP server exposes to assistants, that Staff actors run, and that you can compose by hand.

Two internal components split the work:

  • The reasoning core runs the configured LLM (through your org's AI provider connection), turns a goal into reasoning steps, and proposes candidate skills that map onto workflow types.
  • The plan compiler (the virtual engine) discovers installed workflows, assembles a layered DAG, validates it (structure, references, compatibility), and compiles it to engine config.

DGI draws its catalog from the same registry that backs the workflow types registry and MCP discovery. Its own operations are registered as dgi.* workflow types, so the reasoning loop runs through the engine, not beside it.

The DGI loop

1 · Interpret the goal

Extract intent, entities, and constraints from the message and prior turns. Ask when the goal is underspecified.

2 · Select capabilities

Match the intent against the org's catalog. Read each candidate's schema to know what it needs and produces.

3 · Assemble the plan

Wire selected workflows into a DAG ordered by data dependency. Validate the whole shape against schemas.

4 · Execute as a workflow

Hand the DAG to the engine. From here it is a normal run: event-sourced, observable, retryable.

1. Interpret the goal

DGI starts from language, not a form. The message plus dialog state is parsed into a structured intent: what the user wants, the entities involved (a repo, a domain, an environment), and the constraints. If a domain is named but no DNS provider is connected, or "the repo" is ambiguous, DGI surfaces the gap rather than guessing. That is the same discipline the MCP server enforces with rule://prerequisites-first.

A goal that names its nouns ("deploy acme/marketing-site to acme.com") compiles to a tighter plan with fewer clarifying turns than a vague one ("put my site online").

2. Select capabilities through schemas

This stage keeps DGI grounded. Every workflow type publishes a typed input schema and declares its prerequisites. DGI selects capabilities by reading those schemas, the same way an assistant does over MCP:

StepEngine capabilityPurpose
Listlist_workflow_namespaces, list_workflow_typesEnumerate what the org is entitled to
Inspectget_workflow_schemaRequired inputs and outputs of a candidate
Gateget_workflow_prerequisitesResolve a missing connection or setup first

A step can only be wired into the DAG if its inputs can be satisfied: by the goal, by a connection, or by an earlier step's output.

DGI never invents workflow names. If a capability is not registered for your org, it cannot appear in a plan.

3. Assemble the plan

With candidates and schemas known, DGI assembles a DAG. Each node is a workflow; each edge is a data dependency.

{
  "goal": "Stand up a static site for acme/marketing-site and point acme.com at it",
  "plan": {
    "nodes": [
      { "id": "build",  "workflow": "<build-static-site>", "inputs": { "repo": "acme/marketing-site" } },
      { "id": "deploy", "workflow": "<deploy-to-cdn>",     "inputs": { "artifact": "${build.output.artifact}" } },
      { "id": "dns",    "workflow": "<point-domain>",      "inputs": { "domain": "acme.com", "target": "${deploy.output.endpoint}" } }
    ],
    "edges": [
      { "from": "build",  "to": "deploy" },
      { "from": "deploy", "to": "dns" }
    ]
  }
}
Workflow names in angle brackets are placeholders. Real types come from the live catalog through list_workflow_types, never from this example.

The DAG is validated as a whole before anything runs: no cycles, every required input bound, every binding type-compatible with the producing step's output.

4. Execute as a workflow

Once assembled, the plan is just a run on the deterministic engine: event-sourced state, per-run locks, async transitions, Lumen traces, and step-level retry. Execution is deterministic. The AI reasoned about which steps and how they connect; running them does not call the model again.

DGI, assistants, and MCP

DGI and the MCP server are two ways into the same catalog:

DGIAssistant over MCP
DriverA person (or agent) with a goal in languageAn assistant with a task, calling tools
SelectionReasons over schemas to assemble a multi-step planInspects one schema, then start_workflow
OutputA workflow DAGOne or more individual runs
Shared substrateSame registry, schemas, engine, Lumen tracesSame registry, schemas, engine, Lumen traces

An assistant can use DGI as a planning tool ("interpret this goal into a plan") and then watch the resulting run over MCP. Staff runs DGI-produced plans as managed, budgeted, audited work. Because every selection is schema-grounded and every step is a registered workflow, the same governance, identity, and observability apply no matter who pressed the button.

Plans are still connection-scoped. DGI binds to provider connections; it never embeds secrets into a plan or a prompt. Execution happens in your cloud.

From designed plan to composition

The first time DGI interprets a goal, it pays the full cost: interpretation, catalog search, schema inspection, assembly. Re-reasoning a recurring goal every time is wasteful and non-deterministic. The hybrid model closes this gap: a plan that proves good is compiled into a composition, a single reusable, named, deterministic workflow type with its own schema.

A finished composition runs as virtual.<uuid>@<version>, has a typed input schema, and runs with zero model inference. Design once with reasoning; run forever without it.

Current capabilities

CapabilityStatus
Interpret a goal or dialog into structured intentAvailable
Select capabilities against the org catalogAvailable
DAG assembly and layered validation (virtual engine)Available as a library; one-click DGI surface on the roadmap
Deterministic engine running registered workflowsAvailable (shared with all workflows)
Clarifying-question dialog for underspecified goalsAvailable
Driving and watching runs from an assistant over MCPAvailable
DGI auto-dispatching an assembled plan end to endRoadmap
Promote a designed plan into a composition and run itAvailable to members: dgi.workflow.promote
Structured answers with cards (chat, dgi.chat.*, dgi.view.render)Available. See DGI interfaces
Living Surfaces (dgi.surface.*)Available. See Living Surfaces
Plan cost and latency estimation before executionRoadmap

Ask your AI assistant

prompts
Plan, without executing, how to deploy a static site from GitHub and point a domain at it. Use only workflow types that exist in my catalog and show each step's inputs.

List the dgi.* workflow types in my org and describe what each one does.

Turn this plan into a composition definition with explicit input mappings, validate it, and show me the errors.

For AI agents

RuleDetail
Ground selection in schemasUse get_workflow_schema for every candidate step. Bind inputs only to the goal, a connection, or a prior step's output.
Never invent typesEvery step must come from list_workflow_types.
Prefer a plan over ad-hoc callsFor multi-step goals, assemble a DAG (see concept://dag) and validate it, then run.
Freeze what recursSave a proven plan with composition.save so future runs need no reasoning.
Respect gatesPrerequisites and Staff approvals apply to every step of a plan.

Where to go next

Building with DGI

Hands-on: from a goal to a running plan.

Virtual workflows

How designed plans become reusable compositions.

Hybrid execution model

Why AI design and deterministic execution are split.

Connect an AI assistant

The MCP loop DGI shares with external assistants.