DGI — Dialog Generative Interface
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.chatAPI, Living Surfaces), reasoning, plan compilation and promote-to-composition ship today. Automatic end-to-end dispatch of multi-step plans is on the roadmap.
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.
- Natural-language goal / dialog
- DGI
- Intent + constraints
- Candidate workflows
- Workflow DAG (plan)
- Deterministic workflow engine
- Composition (virtual workflow)
- Lumen
- Natural-language goal / dialog→DGI
- DGI→ interpret →Intent + constraints
- Intent + constraints→ select via schemas →Candidate workflows
- Candidate workflows→ assemble →Workflow DAG (plan)
- Workflow DAG (plan)→ execute →Deterministic workflow engine
- Workflow DAG (plan)→ if reusable: compile →Composition (virtual workflow)
- Composition (virtual workflow)→ replay, no re-reasoning →Deterministic workflow engine
- Deterministic workflow engine→Lumen
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.
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:
| Step | Engine capability | Purpose |
|---|---|---|
| List | list_workflow_namespaces, list_workflow_types | Enumerate what the org is entitled to |
| Inspect | get_workflow_schema | Required inputs and outputs of a candidate |
| Gate | get_workflow_prerequisites | Resolve 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.
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" }
]
}
}
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:
| DGI | Assistant over MCP | |
|---|---|---|
| Driver | A person (or agent) with a goal in language | An assistant with a task, calling tools |
| Selection | Reasons over schemas to assemble a multi-step plan | Inspects one schema, then start_workflow |
| Output | A workflow DAG | One or more individual runs |
| Shared substrate | Same registry, schemas, engine, Lumen traces | Same 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.
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.
- Goal
- DGI plan / DAG
- Composition
- start_workflow, no model call
- Engine executes frozen DAG
- Goal→DGI plan / DAG
- DGI plan / DAG→ compile / promote →Composition
- Composition→start_workflow, no model call
- start_workflow, no model call→Engine executes frozen DAG
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
| Capability | Status |
|---|---|
| Interpret a goal or dialog into structured intent | Available |
| Select capabilities against the org catalog | Available |
| DAG assembly and layered validation (virtual engine) | Available as a library; one-click DGI surface on the roadmap |
| Deterministic engine running registered workflows | Available (shared with all workflows) |
| Clarifying-question dialog for underspecified goals | Available |
| Driving and watching runs from an assistant over MCP | Available |
| DGI auto-dispatching an assembled plan end to end | Roadmap |
| Promote a designed plan into a composition and run it | Available 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 execution | Roadmap |
Ask your AI assistant
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
| Rule | Detail |
|---|---|
| Ground selection in schemas | Use get_workflow_schema for every candidate step. Bind inputs only to the goal, a connection, or a prior step's output. |
| Never invent types | Every step must come from list_workflow_types. |
| Prefer a plan over ad-hoc calls | For multi-step goals, assemble a DAG (see concept://dag) and validate it, then run. |
| Freeze what recurs | Save a proven plan with composition.save so future runs need no reasoning. |
| Respect gates | Prerequisites and Staff approvals apply to every step of a plan. |
Where to go next
Workflows
The execution model in depth. Workflow types versus runs, the event-sourced state machine, DAGs, how an assistant drives it over MCP, and compositions that compile into deterministic engine config
Staff & AI Workforce Governance
How Orkestia Staff turns a fleet of autonomous AI agents into a scoped, auditable organization with roles, approval gates, and human-in-the-loop oversight, enforced inside the workflow engine
