[{"data":1,"prerenderedAt":2637},["ShallowReactive",2],{"navigation":3,"/guides/building-with-dgi":879,"/guides/building-with-dgi-surround":2632},[4,22,45,115,156,187,214,235,264,295,318,361,389,418,436,470,491,534,548,571,632,670,693,757,850],{"title":5,"path":6,"stem":7,"children":8,"icon":11},"Introduction","/introduction","01.introduction/1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"What is Orkestia?","i-lucide-sparkles",{"title":13,"path":14,"stem":15,"icon":16},"Core Philosophy","/introduction/core-philosophy","01.introduction/2.core-philosophy","i-lucide-shield-check",{"title":18,"path":19,"stem":20,"icon":21},"Key Benefits","/introduction/key-benefits","01.introduction/3.key-benefits","i-lucide-trophy",{"title":23,"path":24,"stem":25,"children":26,"icon":29},"Getting Started","/getting-started","02.getting-started/1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Quick Start","i-lucide-rocket",{"title":31,"path":32,"stem":33,"icon":34},"Architecture Overview","/getting-started/architecture-overview","02.getting-started/2.architecture-overview","i-lucide-layout-dashboard",{"title":36,"path":37,"stem":38,"icon":39},"Concepts at a Glance","/getting-started/concepts","02.getting-started/3.concepts","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Connect an AI Assistant","/getting-started/connect-an-ai-assistant","02.getting-started/4.connect-an-ai-assistant","i-lucide-bot",{"title":46,"path":47,"stem":48,"children":49,"icon":51},"Core Concepts","/concepts","03.concepts/01.index",[50,52,57,62,67,71,76,81,86,91,96,100,105,110],{"title":46,"path":47,"stem":48,"icon":51},"i-lucide-book-open",{"title":53,"path":54,"stem":55,"icon":56},"Workflows","/concepts/workflows","03.concepts/02.workflows","i-lucide-workflow",{"title":58,"path":59,"stem":60,"icon":61},"DGI — Dialog Generative Interface","/concepts/dgi","03.concepts/03.dgi","i-lucide-brain",{"title":63,"path":64,"stem":65,"icon":66},"Staff & AI Workforce Governance","/concepts/staff-governance","03.concepts/04.staff-governance","i-lucide-users-round",{"title":68,"path":69,"stem":70,"icon":44},"Agents — the execution substrate","/concepts/agents-platform","03.concepts/05.agents-platform",{"title":72,"path":73,"stem":74,"icon":75},"Runners & Execution Environments","/concepts/runners","03.concepts/06.runners","i-lucide-server-cog",{"title":77,"path":78,"stem":79,"icon":80},"Lumen Observability","/concepts/lumen","03.concepts/07.lumen","i-lucide-activity",{"title":82,"path":83,"stem":84,"icon":85},"Identity & Multi-Tenancy","/concepts/identity-multi-tenancy","03.concepts/08.identity-multi-tenancy","i-lucide-users",{"title":87,"path":88,"stem":89,"icon":90},"Billing, Pricing & Seats","/concepts/billing-and-seats","03.concepts/09.billing-and-seats","i-lucide-credit-card",{"title":92,"path":93,"stem":94,"icon":95},"App Data","/concepts/appdata","03.concepts/10.appdata","i-lucide-database",{"title":97,"path":98,"stem":99,"icon":61},"Engram","/concepts/engram","03.concepts/11.engram",{"title":101,"path":102,"stem":103,"icon":104},"DevKit","/concepts/devkit","03.concepts/12.devkit","i-lucide-terminal",{"title":106,"path":107,"stem":108,"icon":109},"App Host","/concepts/app-host","03.concepts/13.app-host","i-lucide-globe",{"title":111,"path":112,"stem":113,"icon":114},"Agent Exchange","/concepts/agent-exchange","03.concepts/14.agent-exchange","i-lucide-landmark",{"title":116,"path":117,"stem":118,"children":119,"icon":121},"Guides","/guides","04.guides/1.index",[120,122,127,132,137,142,147,151],{"title":116,"path":117,"stem":118,"icon":121},"i-lucide-compass",{"title":123,"path":124,"stem":125,"icon":126},"Building with DGI","/guides/building-with-dgi","04.guides/2.building-with-dgi","i-lucide-brain-circuit",{"title":128,"path":129,"stem":130,"icon":131},"Creating & Exposing Virtual Workflows","/guides/virtual-workflows","04.guides/4.virtual-workflows","i-lucide-blocks",{"title":133,"path":134,"stem":135,"icon":136},"Runner Management & Provisioning","/guides/runner-management","04.guides/5.runner-management","i-lucide-server",{"title":138,"path":139,"stem":140,"icon":141},"Security & Compliance","/guides/security-and-compliance","04.guides/7.security-and-compliance","i-lucide-shield",{"title":143,"path":144,"stem":145,"icon":146},"Tickets & Software Delivery","/guides/tickets-and-software-delivery","04.guides/8.tickets-and-software-delivery","i-lucide-ticket",{"title":148,"path":149,"stem":150},"Orkestia for AI-driven cloud infrastructure automation","/guides/cloud-automation-alternatives","04.guides/9.cloud-automation-alternatives",{"title":152,"path":153,"stem":154,"icon":155},"Typed decisions with TypeSafe","/guides/typed-decisions-with-typesafe","04.guides/9.typed-decisions-with-typesafe","i-lucide-git-branch",{"title":157,"path":158,"stem":159,"children":160,"icon":162},"Reference","/reference","05.reference/1.index",[161,163,168,173,177,182],{"title":157,"path":158,"stem":159,"icon":162},"i-lucide-library",{"title":164,"path":165,"stem":166,"icon":167},"Workflow Types & Registry","/reference/workflow-types-registry","05.reference/2.workflow-types-registry","i-lucide-list-tree",{"title":169,"path":170,"stem":171,"icon":172},"MCP Integration","/reference/mcp-integration","05.reference/3.mcp-integration","i-lucide-plug-zap",{"title":174,"path":175,"stem":176,"icon":104},"API & Tooling","/reference/api-tooling","05.reference/4.api-tooling",{"title":178,"path":179,"stem":180,"icon":181},"Integrations Catalog","/reference/integrations-catalog","05.reference/6.integrations-catalog","i-lucide-plug",{"title":183,"path":184,"stem":185,"icon":186},"Platform Services","/reference/platform-services","05.reference/7.platform-services","i-lucide-boxes",{"title":188,"path":189,"stem":190,"children":191,"icon":193},"Advanced Topics","/advanced","06.advanced/1.index",[192,194,199,204,209],{"title":188,"path":189,"stem":190,"icon":193},"i-lucide-flask-conical",{"title":195,"path":196,"stem":197,"icon":198},"Hybrid AI + Deterministic Execution","/advanced/hybrid-execution-model","06.advanced/2.hybrid-execution-model","i-lucide-git-merge",{"title":200,"path":201,"stem":202,"icon":203},"Drift Detection & Self-Healing","/advanced/drift-detection-self-healing","06.advanced/3.drift-detection-self-healing","i-lucide-heart-pulse",{"title":205,"path":206,"stem":207,"icon":208},"Governance & Approvals","/advanced/governance-and-approvals","06.advanced/4.governance-and-approvals","i-lucide-scale",{"title":210,"path":211,"stem":212,"icon":213},"Cost & Performance Optimization","/advanced/cost-and-performance","06.advanced/5.cost-and-performance","i-lucide-zap",{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Operations","/operations","07.operations/1.index",[219,221,225,230],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-settings-2",{"title":222,"path":223,"stem":224,"icon":186},"Deployment Models","/operations/deployment-models","07.operations/2.deployment-models",{"title":226,"path":227,"stem":228,"icon":229},"Monitoring & Debugging","/operations/monitoring-and-debugging","07.operations/3.monitoring-and-debugging","i-lucide-bug",{"title":231,"path":232,"stem":233,"icon":234},"Best Practices","/operations/best-practices","07.operations/4.best-practices","i-lucide-check-check",{"title":236,"path":237,"stem":238,"children":239,"icon":241},"AWS Connections","/aws-connections","08.aws-connections/1.index",[240,242,245,250,255,260],{"title":236,"path":237,"stem":238,"icon":241},"i-simple-icons-amazonaws",{"title":23,"path":243,"stem":244,"icon":29},"/aws-connections/getting-started","08.aws-connections/2.getting-started",{"title":246,"path":247,"stem":248,"icon":249},"Setup Methods","/aws-connections/setup-methods","08.aws-connections/3.setup-methods","i-lucide-wrench",{"title":251,"path":252,"stem":253,"icon":254},"Managing Connections","/aws-connections/managing-connections","08.aws-connections/4.managing-connections","i-lucide-settings",{"title":256,"path":257,"stem":258,"icon":259},"Security Best Practices","/aws-connections/security-best-practices","08.aws-connections/5.security-best-practices","i-lucide-lock",{"title":261,"path":262,"stem":263,"icon":229},"Troubleshooting","/aws-connections/troubleshooting","08.aws-connections/6.troubleshooting",{"title":265,"path":266,"stem":267,"children":268,"icon":270},"Cloud Connections","/cloud-connections","09.cloud-connections/1.index",[269,271,276,281,286,291],{"title":265,"path":266,"stem":267,"icon":270},"i-lucide-cable",{"title":272,"path":273,"stem":274,"icon":275},"Google Cloud (GCP)","/cloud-connections/gcp","09.cloud-connections/2.gcp","i-simple-icons-googlecloud",{"title":277,"path":278,"stem":279,"icon":280},"Microsoft Azure","/cloud-connections/azure","09.cloud-connections/3.azure","i-simple-icons-microsoftazure",{"title":282,"path":283,"stem":284,"icon":285},"Magalu Cloud","/cloud-connections/magalu","09.cloud-connections/4.magalu","i-lucide-cloud",{"title":287,"path":288,"stem":289,"icon":290},"Kubernetes","/cloud-connections/kubernetes","09.cloud-connections/5.kubernetes","i-simple-icons-kubernetes",{"title":292,"path":293,"stem":294,"icon":208},"TypeSafe","/cloud-connections/typesafe","09.cloud-connections/6.typesafe",{"title":296,"path":297,"stem":298,"children":299,"icon":136},"DNS Providers","/dns-providers","10.dns-providers/1.index",[300,302,305,308,311,315],{"title":301,"path":297,"stem":298,"icon":136},"DNS Provider Connections",{"title":23,"path":303,"stem":304,"icon":29},"/dns-providers/getting-started","10.dns-providers/2.getting-started",{"title":246,"path":306,"stem":307,"icon":249},"/dns-providers/setup-methods","10.dns-providers/3.setup-methods",{"title":251,"path":309,"stem":310,"icon":254},"/dns-providers/managing-connections","10.dns-providers/4.managing-connections",{"title":312,"path":313,"stem":314,"icon":39},"Zones and Records","/dns-providers/zones-and-records","10.dns-providers/5.zones-and-records",{"title":261,"path":316,"stem":317,"icon":229},"/dns-providers/troubleshooting","10.dns-providers/6.troubleshooting",{"title":319,"path":320,"stem":321,"children":322,"icon":29},"Cloud Deploy","/cloud-deploy","11.cloud-deploy/01.index",[323,324,327,332,336,341,345,349,354,358],{"title":319,"path":320,"stem":321,"icon":29},{"title":23,"path":325,"stem":326,"icon":29},"/cloud-deploy/getting-started","11.cloud-deploy/02.getting-started",{"title":328,"path":329,"stem":330,"icon":331},"Creating a Site","/cloud-deploy/creating-a-site","11.cloud-deploy/03.creating-a-site","i-lucide-plus-circle",{"title":333,"path":334,"stem":335,"icon":34},"Site Overview and Deployments","/cloud-deploy/site-overview","11.cloud-deploy/04.site-overview",{"title":337,"path":338,"stem":339,"icon":340},"Deployment Progress and Success","/cloud-deploy/deployment-progress","11.cloud-deploy/05.deployment-progress","i-lucide-loader",{"title":342,"path":343,"stem":344,"icon":254},"Settings","/cloud-deploy/settings","11.cloud-deploy/06.settings",{"title":346,"path":347,"stem":348,"icon":109},"Custom Domains","/cloud-deploy/custom-domains","11.cloud-deploy/07.custom-domains",{"title":350,"path":351,"stem":352,"icon":353},"Resources, Releases, and Danger Zone","/cloud-deploy/resources-releases","11.cloud-deploy/08.resources-releases","i-lucide-package",{"title":355,"path":356,"stem":357,"icon":141},"Admin Dashboard","/cloud-deploy/admin-dashboard","11.cloud-deploy/09.admin-dashboard",{"title":261,"path":359,"stem":360,"icon":229},"/cloud-deploy/troubleshooting","11.cloud-deploy/10.troubleshooting",{"title":362,"path":363,"stem":364,"children":365,"icon":368},"User Onboarding","/user-onboarding","12.user-onboarding/1.index",[366,369,372,377,382,386],{"title":367,"path":363,"stem":364,"icon":368},"User Creation and Onboarding","i-lucide-user-plus",{"title":23,"path":370,"stem":371,"icon":29},"/user-onboarding/getting-started","12.user-onboarding/2.getting-started",{"title":373,"path":374,"stem":375,"icon":376},"Creating Your Organization","/user-onboarding/onboarding","12.user-onboarding/3.onboarding","i-lucide-building-2",{"title":378,"path":379,"stem":380,"icon":381},"Invitations","/user-onboarding/invitations","12.user-onboarding/4.invitations","i-lucide-mail",{"title":383,"path":384,"stem":385,"icon":254},"Managing Your Account","/user-onboarding/managing-account","12.user-onboarding/5.managing-account",{"title":261,"path":387,"stem":388,"icon":229},"/user-onboarding/troubleshooting","12.user-onboarding/6.troubleshooting",{"title":342,"path":390,"stem":391,"children":392,"icon":394},"/settings","13.settings/1.index",[393,395,400,404,409,413],{"title":342,"path":390,"stem":391,"icon":394},"i-lucide-sliders-horizontal",{"title":396,"path":397,"stem":398,"icon":399},"General Settings","/settings/general","13.settings/2.general","i-lucide-user",{"title":401,"path":402,"stem":403,"icon":85},"Members Settings","/settings/members","13.settings/3.members",{"title":405,"path":406,"stem":407,"icon":408},"Notifications Settings","/settings/notifications","13.settings/4.notifications","i-lucide-bell",{"title":410,"path":411,"stem":412,"icon":141},"Security Settings","/settings/security","13.settings/5.security",{"title":414,"path":415,"stem":416,"icon":417},"Signing Keys","/settings/keys","13.settings/6.keys","i-lucide-key-round",{"title":419,"path":420,"stem":421,"children":422,"icon":29},"App Enablement","/app-enablement","14.app-enablement/1.index",[423,424,428,432],{"title":419,"path":420,"stem":421,"icon":29},{"title":425,"path":426,"stem":427,"icon":417},"Sign in with Orkestia","/app-enablement/sign-in-with-orkestia","14.app-enablement/2.sign-in-with-orkestia",{"title":429,"path":430,"stem":431,"icon":95},"End-user data","/app-enablement/end-user-data","14.app-enablement/3.end-user-data",{"title":433,"path":434,"stem":435,"icon":131},"Compositions — use, invoke, share","/app-enablement/compositions","14.app-enablement/4.compositions",{"title":437,"path":438,"stem":439,"children":440,"icon":80},"Lumen","/lumen","15.lumen/1.index",[441,442,447,452,457,461,465],{"title":437,"path":438,"stem":439,"icon":80},{"title":443,"path":444,"stem":445,"icon":446},"Enable Lumen","/lumen/enable","15.lumen/2.enable","i-lucide-power",{"title":448,"path":449,"stem":450,"icon":451},"Send data","/lumen/send-data","15.lumen/3.send-data","i-lucide-upload",{"title":453,"path":454,"stem":455,"icon":456},"Collector","/lumen/collector","15.lumen/4.collector","i-lucide-container",{"title":458,"path":459,"stem":460,"icon":34},"Use Lumen","/lumen/observe","15.lumen/5.observe",{"title":462,"path":463,"stem":464,"icon":44},"Lumen MCP","/lumen/mcp","15.lumen/6.mcp",{"title":466,"path":467,"stem":468,"icon":469},"Query API","/lumen/query-api","15.lumen/7.query-api","i-lucide-search",{"title":471,"path":472,"stem":473,"children":474,"icon":476},"SDKs","/sdks","16.sdks/1.index",[475,477,482,487],{"title":471,"path":472,"stem":473,"icon":476},"i-lucide-code",{"title":478,"path":479,"stem":480,"icon":481},"Workflows SDK — Node / TypeScript","/sdks/workflows-nodejs","16.sdks/2.workflows-nodejs","i-lucide-file-ts",{"title":483,"path":484,"stem":485,"icon":486},"Workflows SDK — Python","/sdks/workflows-python","16.sdks/3.workflows-python","i-simple-icons-python",{"title":488,"path":489,"stem":490,"icon":417},"Auth SDK — Sign in with Orkestia","/sdks/auth","16.sdks/4.auth",{"title":92,"path":492,"stem":493,"children":494,"icon":95},"/appdata","17.appdata/1.index",[495,496,501,506,510,515,520,525,530],{"title":92,"path":492,"stem":493,"icon":95},{"title":497,"path":498,"stem":499,"icon":500},"Declare structures","/appdata/declare","17.appdata/2.declare","i-lucide-table",{"title":502,"path":503,"stem":504,"icon":505},"Records & Data API","/appdata/data-api","17.appdata/3.data-api","i-lucide-rows-3",{"title":507,"path":508,"stem":509,"icon":376},"Ownership & workspaces","/appdata/ownership","17.appdata/4.ownership",{"title":511,"path":512,"stem":513,"icon":514},"Expose App Data to end-users","/appdata/expose","17.appdata/5.expose","i-lucide-app-window",{"title":516,"path":517,"stem":518,"icon":519},"PostgREST HTTP","/appdata/postgrest","17.appdata/6.postgrest","i-lucide-unplug",{"title":521,"path":522,"stem":523,"icon":524},"Ordered append","/appdata/append","17.appdata/7.append","i-lucide-list-ordered",{"title":526,"path":527,"stem":528,"icon":529},"Databases and instances","/appdata/instances","17.appdata/8.instances","i-lucide-hard-drive",{"title":531,"path":532,"stem":533,"icon":104},"Query console and SQL","/appdata/query","17.appdata/9.query",{"title":97,"path":535,"stem":536,"children":537,"icon":61},"/engram","18.engram/1.index",[538,539,543],{"title":97,"path":535,"stem":536,"icon":61},{"title":540,"path":541,"stem":542,"icon":155},"Write & recall","/engram/write-recall","18.engram/2.write-recall",{"title":544,"path":545,"stem":546,"icon":547},"Field & feed","/engram/agent-memory","18.engram/3.agent-memory","i-lucide-radio",{"title":101,"path":549,"stem":550,"children":551,"icon":104},"/devkit","19.devkit/1.index",[552,553,558,562,567],{"title":101,"path":549,"stem":550,"icon":104},{"title":554,"path":555,"stem":556,"icon":557},"Install DevKit","/devkit/install","19.devkit/2.install","i-lucide-download",{"title":559,"path":560,"stem":561,"icon":519},"Hook redirect","/devkit/hooks","19.devkit/3.hooks",{"title":563,"path":564,"stem":565,"icon":566},"Local coding runner","/devkit/local-runner","19.devkit/4.local-runner","i-lucide-cpu",{"title":568,"path":569,"stem":570,"icon":131},"Compositions from DevKit","/devkit/compositions","19.devkit/5.compositions",{"title":572,"path":573,"stem":574,"children":575,"icon":44},"Staff & Agents","/staff-and-agents","20.staff-and-agents/01.index",[576,577,582,586,590,594,598,602,606,611,615,620,625,629],{"title":572,"path":573,"stem":574,"icon":44},{"title":578,"path":579,"stem":580,"icon":581},"Prerequisites","/staff-and-agents/prerequisites","20.staff-and-agents/02.prerequisites","i-lucide-list-checks",{"title":583,"path":584,"stem":585,"icon":368},"Hire an actor","/staff-and-agents/hire-an-actor","20.staff-and-agents/03.hire-an-actor",{"title":587,"path":588,"stem":589,"icon":34},"Console","/staff-and-agents/console","20.staff-and-agents/04.console",{"title":591,"path":592,"stem":593,"icon":11},"Configs, skills, and MCP","/staff-and-agents/configs-skills-mcp","20.staff-and-agents/05.configs-skills-mcp",{"title":595,"path":596,"stem":597,"icon":136},"Agent runner groups","/staff-and-agents/runner-groups","20.staff-and-agents/06.runner-groups",{"title":599,"path":600,"stem":601,"icon":16},"Governance","/staff-and-agents/governance","20.staff-and-agents/07.governance",{"title":603,"path":604,"stem":605,"icon":417},"Identity and tokens","/staff-and-agents/identity","20.staff-and-agents/08.identity",{"title":607,"path":608,"stem":609,"icon":610},"Memory and cost","/staff-and-agents/memory-and-cost","20.staff-and-agents/09.memory-and-cost","i-lucide-wallet",{"title":612,"path":613,"stem":614,"icon":155},"Coding agents","/staff-and-agents/coding-agents","20.staff-and-agents/10.coding-agents",{"title":616,"path":617,"stem":618,"icon":619},"Wire a repository for coding agents","/staff-and-agents/wire-a-repository","20.staff-and-agents/11.wire-a-repository","i-lucide-link",{"title":621,"path":622,"stem":623,"icon":624},"Run a ticket end to end","/staff-and-agents/run-a-ticket","20.staff-and-agents/12.run-a-ticket","i-lucide-play",{"title":626,"path":627,"stem":628,"icon":66},"Build a product team of actors","/staff-and-agents/build-a-product-team","20.staff-and-agents/13.build-a-product-team",{"title":261,"path":630,"stem":631,"icon":249},"/staff-and-agents/troubleshooting","20.staff-and-agents/14.troubleshooting",{"title":106,"path":633,"stem":634,"children":635,"icon":109},"/app-host","21.app-host/1.index",[636,637,641,644,649,653,658,662,666],{"title":106,"path":633,"stem":634,"icon":109},{"title":638,"path":639,"stem":640,"icon":514},"Your app and site","/app-host/your-app","21.app-host/2.your-app",{"title":92,"path":642,"stem":643,"icon":95},"/app-host/app-data","21.app-host/3.app-data",{"title":645,"path":646,"stem":647,"icon":648},"Website and process","/app-host/hosting","21.app-host/4.hosting","i-lucide-cloud-upload",{"title":650,"path":651,"stem":652,"icon":547},"Buzz","/app-host/buzz","21.app-host/5.buzz",{"title":654,"path":655,"stem":656,"icon":657},"Files","/app-host/files","21.app-host/6.files","i-lucide-folder",{"title":659,"path":660,"stem":661,"icon":109},"Your own domain","/app-host/your-domain","21.app-host/7.your-domain",{"title":663,"path":664,"stem":665,"icon":229},"Troubleshooting App Host","/app-host/troubleshooting","21.app-host/8.troubleshooting",{"title":667,"path":668,"stem":669,"icon":417},"Signing keys","/app-host/signing-keys","21.app-host/9.signing-keys",{"title":111,"path":671,"stem":672,"children":673,"icon":114},"/agent-exchange","22.agent-exchange/01.index",[674,675,678,682,686,690],{"title":111,"path":671,"stem":672,"icon":114},{"title":583,"path":676,"stem":677,"icon":368},"/agent-exchange/hire","22.agent-exchange/02.hire",{"title":679,"path":680,"stem":681,"icon":208},"List an actor","/agent-exchange/list","22.agent-exchange/03.list",{"title":683,"path":684,"stem":685,"icon":104},"Invoke & leases","/agent-exchange/invoke","22.agent-exchange/04.invoke",{"title":687,"path":688,"stem":689,"icon":141},"Settlement & trust","/agent-exchange/settlement","22.agent-exchange/05.settlement",{"title":53,"path":691,"stem":692,"icon":56},"/agent-exchange/workflows","22.agent-exchange/06.workflows",{"title":694,"path":695,"stem":696,"children":697,"icon":75},"Runners","/runners","23.runners/1.index",[698,700,704,709,713,717,721,726,730,734,738,741,745,749,753],{"title":699,"path":695,"stem":696,"icon":75},"Runner groups",{"title":701,"path":702,"stem":703,"icon":275},"Cloud Run","/runners/cloud-run","23.runners/10.cloud-run",{"title":705,"path":706,"stem":707,"icon":708},"DigitalOcean App Job","/runners/do-app-job","23.runners/11.do-app-job","i-simple-icons-digitalocean",{"title":710,"path":711,"stem":712,"icon":708},"DigitalOcean Droplet","/runners/do-droplet","23.runners/12.do-droplet",{"title":714,"path":715,"stem":716,"icon":285},"Magalu Cloud VM","/runners/magalu-vm","23.runners/13.magalu-vm",{"title":101,"path":718,"stem":719,"icon":720},"/runners/devkit","23.runners/14.devkit","i-lucide-laptop",{"title":722,"path":723,"stem":724,"icon":725},"Purposes & integrations","/runners/purposes","23.runners/16.purposes","i-lucide-layers",{"title":727,"path":728,"stem":729,"icon":241},"Fargate","/runners/fargate","23.runners/2.fargate",{"title":731,"path":732,"stem":733,"icon":241},"EC2 Auto Scaling","/runners/ec2-auto-scaling","23.runners/3.ec2-auto-scaling",{"title":735,"path":736,"stem":737,"icon":241},"EC2 VM","/runners/ec2-vm","23.runners/4.ec2-vm",{"title":287,"path":739,"stem":740,"icon":290},"/runners/kubernetes","23.runners/5.kubernetes",{"title":742,"path":743,"stem":744,"icon":280},"Azure Container Apps","/runners/azure-container-apps","23.runners/6.azure-container-apps",{"title":746,"path":747,"stem":748,"icon":280},"Azure VMSS","/runners/azure-vmss","23.runners/7.azure-vmss",{"title":750,"path":751,"stem":752,"icon":280},"Azure VM","/runners/azure-vm","23.runners/8.azure-vm",{"title":754,"path":755,"stem":756,"icon":275},"GCE","/runners/gce","23.runners/9.gce",{"title":758,"path":759,"stem":760,"children":761,"icon":763},"Chat","/chat","24.chat/01.index",[762,764,768,773,777,782,787,791,796,800,805,810,814,819,824,828,832,836,840,845],{"title":758,"path":759,"stem":760,"icon":763},"i-lucide-messages-square",{"title":765,"path":766,"stem":767,"icon":446},"Enable and publish","/chat/enable-and-publish","24.chat/02.enable-and-publish",{"title":769,"path":770,"stem":771,"icon":772},"Theme and customization","/chat/theme-and-customization","24.chat/03.theme-and-customization","i-lucide-palette",{"title":774,"path":775,"stem":776,"icon":85},"Members and moderation","/chat/members-and-moderation","24.chat/04.members-and-moderation",{"title":778,"path":779,"stem":780,"icon":781},"Channels","/chat/channels","24.chat/05.channels","i-lucide-hash",{"title":783,"path":784,"stem":785,"icon":786},"Using the chat","/chat/using-the-chat","24.chat/06.using-the-chat","i-lucide-message-circle",{"title":788,"path":789,"stem":790,"icon":44},"Actors in chat","/chat/actors-in-chat","24.chat/07.actors-in-chat",{"title":792,"path":793,"stem":794,"icon":795},"Internal support actor","/chat/internal-support-actor","24.chat/08.internal-support-actor","i-lucide-life-buoy",{"title":797,"path":798,"stem":799,"icon":104},"API and console","/chat/api-and-console","24.chat/09.api-and-console",{"title":801,"path":802,"stem":803,"icon":804},"Limits","/chat/limits","24.chat/10.limits","i-lucide-triangle-alert",{"title":806,"path":807,"stem":808,"icon":809},"Structured chat with DGI","/chat/structured-chat","24.chat/11.structured-chat","i-lucide-layout-list",{"title":811,"path":812,"stem":813,"icon":109},"Option A: hosted chat with DGI","/chat/option-a-hosted-chat","24.chat/12.option-a-hosted-chat",{"title":815,"path":816,"stem":817,"icon":818},"Option B: embed the chat component","/chat/option-b-embed-component","24.chat/13.option-b-embed-component","i-lucide-component",{"title":820,"path":821,"stem":822,"icon":823},"Option C: custom client (wire contract)","/chat/option-c-custom-client","24.chat/14.option-c-custom-client","i-lucide-braces",{"title":825,"path":826,"stem":827,"icon":394},"Responder configuration reference","/chat/responder-reference","24.chat/15.responder-reference",{"title":829,"path":830,"stem":831,"icon":547},"Cards, live updates and proactive posts","/chat/cards-live-and-proactive","24.chat/16.cards-live-and-proactive",{"title":833,"path":834,"stem":835,"icon":16},"Structured chat security model","/chat/structured-chat-security","24.chat/17.structured-chat-security",{"title":837,"path":838,"stem":839,"icon":181},"Option D: any app or API (dgi.chat)","/chat/option-d-chat-api","24.chat/18.option-d-chat-api",{"title":841,"path":842,"stem":843,"icon":844},"Card catalog","/chat/card-catalog","24.chat/19.card-catalog","i-lucide-layout-grid",{"title":846,"path":847,"stem":848,"icon":849},"Living Surfaces","/chat/living-surfaces","24.chat/20.living-surfaces","i-lucide-sprout",{"title":851,"path":852,"stem":853,"children":854,"icon":61},"DGI","/dgi","25.dgi/1.index",[855,857,862,866,870,874],{"title":856,"path":852,"stem":853,"icon":61},"What is DGI",{"title":858,"path":859,"stem":860,"icon":861},"How DGI works","/dgi/how-it-works","25.dgi/2.how-it-works","i-lucide-cog",{"title":863,"path":864,"stem":865,"icon":844},"Interfaces","/dgi/interfaces","25.dgi/3.interfaces",{"title":867,"path":868,"stem":869,"icon":29},"Quickstart","/dgi/quickstart","25.dgi/4.quickstart",{"title":871,"path":872,"stem":873,"icon":16},"Trust and safety","/dgi/trust-and-safety","25.dgi/5.trust-and-safety",{"title":875,"path":876,"stem":877,"icon":878},"FAQ","/dgi/faq","25.dgi/6.faq","i-lucide-circle-help",{"id":880,"title":123,"body":881,"description":2625,"extension":2626,"links":2627,"meta":2628,"navigation":2629,"path":124,"seo":2630,"stem":125,"__hash__":2631},"docs/04.guides/2.building-with-dgi.md",{"type":882,"value":883,"toc":2611},"minimark",[884,906,917,941,946,949,1020,1039,1045,1054,1058,1073,1076,1086,1089,1107,1111,1125,1128,1223,1247,1251,1261,1323,1326,1437,1440,1470,1473,1485,1489,1494,1500,1504,1507,2018,2034,2038,2044,2364,2377,2381,2391,2394,2431,2434,2477,2491,2496,2500,2511,2514,2560,2564,2601,2607],[885,886,887,888,892,893,896,897,901,902,905],"p",{},"DGI (Dialog Generative Interface) is the reasoning surface where you describe ",[889,890,891],"strong",{},"what you want to happen"," and Orkestia figures out ",[889,894,895],{},"which workflows to run, in what order, with what inputs",". It is the front door to Orkestia's ",[898,899,900],"a",{"href":196},"hybrid execution model",": AI reasons about intent, then that intent is compiled into a deterministic ",[898,903,904],{"href":129},"virtual workflow"," the engine runs the same way every time.",[885,907,908,909,912,913,916],{},"This guide walks the full loop — goal → plan → review → run → promote — with a worked example. It assumes you already understand ",[898,910,911],{"href":54},"workflows"," and have read the ",[898,914,915],{"href":59},"DGI concept page",".",[918,919,920],"note",{},[885,921,922,923,926,927,930,931,934,935,937,938,916],{},"DGI's job is ",[889,924,925],{},"design",", not custody. The plan it produces is a graph of capabilities that execute in ",[889,928,929],{},"your own cloud accounts"," via ",[898,932,933],{"href":73},"runners",". Orkestia keeps workflow state and ",[898,936,437],{"href":78}," observability — never your code or data. See ",[898,939,940],{"href":139},"security and compliance",[942,943,945],"h2",{"id":944},"the-mental-model","The mental model",[885,947,948],{},"There are three distinct objects in play. Keeping them separate is the key to using DGI well.",[950,951,952,968],"table",{},[953,954,955],"thead",{},[956,957,958,962,965],"tr",{},[959,960,961],"th",{},"Object",[959,963,964],{},"What it is",[959,966,967],{},"Who produces it",[969,970,971,985,998],"tbody",{},[956,972,973,979,982],{},[974,975,976],"td",{},[889,977,978],{},"Goal / dialog",[974,980,981],{},"Natural-language intent plus the back-and-forth that refines it",[974,983,984],{},"You, in conversation",[956,986,987,992,995],{},[974,988,989],{},[889,990,991],{},"Plan (VirtualWorkflow)",[974,993,994],{},"A typed, validated DAG of workflow steps with explicit input wiring",[974,996,997],{},"DGI reasoning, expressed as data",[956,999,1000,1005,1013],{},[974,1001,1002],{},[889,1003,1004],{},"Compiled composition",[974,1006,1007,1008,1012],{},"Plain JSON in the engine's ",[1009,1010,1011],"code",{},"DAGWorkflow"," shape, deterministic and runnable",[974,1014,1015,1016,1019],{},"The ",[898,1017,1018],{"href":129},"virtual engine"," compiler",[885,1021,1022,1023,1026,1027,1030,1031,1034,1035,1038],{},"DGI reasons in natural language but ",[889,1024,1025],{},"emits structure",". That structure is a ",[1009,1028,1029],{},"VirtualWorkflow"," — layers of steps, each step bound to a registered workflow type (",[1009,1032,1033],{},"{provider}.{service}.{operation}","), each argument explicitly sourced. The virtual engine then validates it against the ",[889,1036,1037],{},"live catalog of installed workflow types"," and compiles it to engine-ready JSON. Once compiled, there is no AI in the execution path — it is a deterministic DAG.",[1040,1041],"dag-diagram",{":edges":1042,":nodes":1043,"direction":1044},"[{\"from\":\"A\",\"to\":\"B\",\"label\":\"DGI reasoning\"},{\"from\":\"B\",\"to\":\"C\",\"label\":\"validate vs live catalog\"},{\"from\":\"C\",\"to\":\"B\",\"label\":\"errors\"},{\"from\":\"C\",\"to\":\"D\",\"label\":\"ok\"},{\"from\":\"D\",\"to\":\"E\",\"label\":\"dispatch\"},{\"from\":\"D\",\"to\":\"F\",\"label\":\"promote\",\"dashed\":true}]","[{\"id\":\"A\",\"label\":\"Your goal\",\"sub\":\"natural language\",\"kind\":\"start\"},{\"id\":\"B\",\"label\":\"Plan\",\"sub\":\"VirtualWorkflow\",\"kind\":\"data\"},{\"id\":\"C\",\"label\":\"Valid?\"},{\"id\":\"D\",\"label\":\"Compile\",\"sub\":\"DAGWorkflow JSON\",\"kind\":\"engine\"},{\"id\":\"E\",\"label\":\"Workflow engine\",\"sub\":\"runs in your cloud\",\"kind\":\"engine\"},{\"id\":\"F\",\"label\":\"Reusable\",\"sub\":\"virtual workflow\",\"kind\":\"data\"}]","LR",[1046,1047,1048],"tip",{},[885,1049,1050,1051,1053],{},"The plan is the contract, not the prose. Two people can phrase the same goal differently, but if DGI lands on the same ",[1009,1052,1029],{}," it compiles to byte-stable JSON. That determinism is what makes plans diffable, reviewable, and promotable.",[942,1055,1057],{"id":1056},"step-1-express-a-goal","Step 1 — Express a goal",[885,1059,1060,1061,1064,1065,1068,1069,1072],{},"Talk to DGI the way you would brief a capable platform engineer: state the ",[889,1062,1063],{},"outcome",", the ",[889,1066,1067],{},"constraints",", and the ",[889,1070,1071],{},"inputs you can provide",". DGI does not need you to name workflows — capability discovery is its job — but it works best when the outcome is concrete and bounded.",[885,1074,1075],{},"Good goals are specific about the end state:",[1077,1078,1084],"pre",{"className":1079,"code":1081,"language":1082,"meta":1083},[1080],"language-text","Stand up a static-site bucket in our AWS sandbox account, upload an index page,\nand put it behind a CDN. The bucket name should come from a parameter so I can\nreuse this for other sites.\n","text","",[1009,1085,1081],{"__ignoreMap":1083},[885,1087,1088],{},"Weaker goals leave DGI guessing about scope (\"set up our website infra\") — it will ask clarifying questions, but you will iterate more.",[1090,1091,1093],"callout",{"icon":1092},"i-lucide-message-circle-question",[885,1094,1095,1096,1064,1099,1102,1103,1106],{},"Treat the opening message as a design brief. Name the ",[889,1097,1098],{},"target environment",[889,1100,1101],{},"resources",", and ",[889,1104,1105],{},"what should be parameterised"," so it generalises. DGI will surface the rest as follow-up questions.",[942,1108,1110],{"id":1109},"step-2-how-dgi-selects-and-assembles-workflows","Step 2 — How DGI selects and assembles workflows",[885,1112,1113,1114,1117,1118,1121,1122,916],{},"Under the hood, DGI does not invent capabilities. It works strictly within the workflows that are ",[889,1115,1116],{},"actually installed and discoverable"," in your engine host — the same catalog you can browse via the ",[898,1119,1120],{"href":170},"MCP integration"," or the ",[898,1123,1124],{"href":165},"workflow types registry",[885,1126,1127],{},"The assembly process, in order:",[1129,1130,1131,1142,1148,1154],"ol",{},[1132,1133,1134,1137,1138,1141],"li",{},[889,1135,1136],{},"Discover the catalog."," The virtual engine reads ",[1009,1139,1140],{},"get_workflows()"," / entry points on the installed base-library and business-library packages. There is no hand-maintained list of \"known\" workflows — the catalog is whatever is importable at compile time.",[1132,1143,1144,1147],{},[889,1145,1146],{},"Map intent to capabilities."," DGI matches each part of your goal to a registered workflow type. \"Put it behind a CDN\" resolves to a CloudFront-family workflow if one is installed; if not, DGI tells you rather than fabricating one.",[1132,1149,1150,1153],{},[889,1151,1152],{},"Order into layers."," Steps that can run concurrently share a layer; steps that depend on a prior step's output land in a later layer. This is the DAG.",[1132,1155,1156,1159,1160,1219,1222],{},[889,1157,1158],{},"Wire inputs explicitly."," Every step argument declares its source — one of three kinds:",[950,1161,1162,1175],{},[953,1163,1164],{},[956,1165,1166,1169,1172],{},[959,1167,1168],{},"Source",[959,1170,1171],{},"Meaning",[959,1173,1174],{},"Example",[969,1176,1177,1190,1203],{},[956,1178,1179,1184,1187],{},[974,1180,1181],{},[1009,1182,1183],{},"input",[974,1185,1186],{},"A value supplied when the workflow runs",[974,1188,1189],{},"bucket name parameter",[956,1191,1192,1197,1200],{},[974,1193,1194],{},[1009,1195,1196],{},"step",[974,1198,1199],{},"A field from a prior step's output",[974,1201,1202],{},"the bucket created upstream",[956,1204,1205,1210,1213],{},[974,1206,1207],{},[1009,1208,1209],{},"static",[974,1211,1212],{},"A hardcoded literal baked into the plan",[974,1214,1215,1218],{},[1009,1216,1217],{},"index.html"," as the object key",[1220,1221],"br",{},"There is no implicit global scope and no runtime string templating — every wire is explicit, which is what makes the plan auditable.",[1224,1225,1226],"warning",{},[885,1227,1228,1229,1232,1233,1235,1236,1242,1243,1246],{},"DGI can only assemble what is installed. If a capability your goal needs is missing from the catalog, the plan will fail validation in the ",[889,1230,1231],{},"references"," phase (see below) rather than silently degrade. Check the ",[898,1234,1124],{"href":165}," or ",[898,1237,1241],{"href":1238,"rel":1239},"https://reference.orkestia.dev",[1240],"nofollow","reference.orkestia.dev"," for the live catalog, and see ",[898,1244,1245],{"href":24},"getting started"," for installing libraries.",[942,1248,1250],{"id":1249},"step-3-review-and-refine-the-plan","Step 3 — Review and refine the plan",[885,1252,1253,1254,1256,1257,1260],{},"Before anything runs, the ",[1009,1255,1029],{}," passes through ",[889,1258,1259],{},"three-phase validation",". Each phase short-circuits with a typed error, so feedback is precise — both for you and for the DGI refinement loop.",[950,1262,1263,1276],{},[953,1264,1265],{},[956,1266,1267,1270,1273],{},[959,1268,1269],{},"Phase",[959,1271,1272],{},"Checks",[959,1274,1275],{},"Typical failure",[969,1277,1278,1291,1307],{},[956,1279,1280,1285,1288],{},[974,1281,1282],{},[889,1283,1284],{},"Structure",[974,1286,1287],{},"DAG is acyclic, step IDs unique, layers well-formed",[974,1289,1290],{},"A step depends on a later layer (cycle)",[956,1292,1293,1298,1304],{},[974,1294,1295],{},[889,1296,1297],{},"References",[974,1299,1300,1301,1303],{},"Every ",[1009,1302,1033],{}," exists in the live catalog",[974,1305,1306],{},"Hallucinated or misspelled workflow type",[956,1308,1309,1314,1317],{},[974,1310,1311],{},[889,1312,1313],{},"Compatibility",[974,1315,1316],{},"Every input mapping resolves to a source field of a compatible type",[974,1318,1319,1320,1322],{},"A ",[1009,1321,1196],{}," mapping points at an output field that was renamed",[885,1324,1325],{},"A reference-phase error looks like this — note it is structured data, not a stack trace, so DGI can loop it straight back into reasoning:",[1077,1327,1331],{"className":1328,"code":1329,"language":1330,"meta":1083,"style":1083},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"phase\": \"references\",\n  \"step_id\": \"s2\",\n  \"workflow_type\": \"aws.s3.put_bucket_taging\",\n  \"reason\": \"unknown workflow type; did you mean 'aws.s3.put_bucket_tagging'?\"\n}\n","json",[1009,1332,1333,1342,1369,1390,1411,1431],{"__ignoreMap":1083},[1334,1335,1338],"span",{"class":1336,"line":1337},"line",1,[1334,1339,1341],{"class":1340},"sMK4o","{\n",[1334,1343,1345,1348,1352,1355,1358,1361,1364,1366],{"class":1336,"line":1344},2,[1334,1346,1347],{"class":1340},"  \"",[1334,1349,1351],{"class":1350},"spNyl","phase",[1334,1353,1354],{"class":1340},"\"",[1334,1356,1357],{"class":1340},":",[1334,1359,1360],{"class":1340}," \"",[1334,1362,1231],{"class":1363},"sfazB",[1334,1365,1354],{"class":1340},[1334,1367,1368],{"class":1340},",\n",[1334,1370,1372,1374,1377,1379,1381,1383,1386,1388],{"class":1336,"line":1371},3,[1334,1373,1347],{"class":1340},[1334,1375,1376],{"class":1350},"step_id",[1334,1378,1354],{"class":1340},[1334,1380,1357],{"class":1340},[1334,1382,1360],{"class":1340},[1334,1384,1385],{"class":1363},"s2",[1334,1387,1354],{"class":1340},[1334,1389,1368],{"class":1340},[1334,1391,1393,1395,1398,1400,1402,1404,1407,1409],{"class":1336,"line":1392},4,[1334,1394,1347],{"class":1340},[1334,1396,1397],{"class":1350},"workflow_type",[1334,1399,1354],{"class":1340},[1334,1401,1357],{"class":1340},[1334,1403,1360],{"class":1340},[1334,1405,1406],{"class":1363},"aws.s3.put_bucket_taging",[1334,1408,1354],{"class":1340},[1334,1410,1368],{"class":1340},[1334,1412,1414,1416,1419,1421,1423,1425,1428],{"class":1336,"line":1413},5,[1334,1415,1347],{"class":1340},[1334,1417,1418],{"class":1350},"reason",[1334,1420,1354],{"class":1340},[1334,1422,1357],{"class":1340},[1334,1424,1360],{"class":1340},[1334,1426,1427],{"class":1363},"unknown workflow type; did you mean 'aws.s3.put_bucket_tagging'?",[1334,1429,1430],{"class":1340},"\"\n",[1334,1432,1434],{"class":1336,"line":1433},6,[1334,1435,1436],{"class":1340},"}\n",[885,1438,1439],{},"When you review a plan, check three things:",[1441,1442,1443,1449,1458],"ul",{},[1132,1444,1445,1448],{},[889,1446,1447],{},"Coverage"," — does every part of your goal map to a step? Missing steps mean DGI didn't find a capability or misread intent.",[1132,1450,1451,1454,1455,1457],{},[889,1452,1453],{},"Wiring"," — are the ",[1009,1456,1196],{}," mappings pointing at the right upstream outputs? This is where subtle bugs hide.",[1132,1459,1460,1463,1464,1466,1467,1469],{},[889,1461,1462],{},"Parameterisation"," — are the values you want reusable expressed as ",[1009,1465,1183],{},", not baked in as ",[1009,1468,1209],{},"?",[885,1471,1472],{},"Refine by replying in natural language (\"the index file should be a parameter too, not hardcoded\"). DGI re-emits the plan; the validator re-runs. Iterate until the plan is clean.",[918,1474,1475],{},[885,1476,1477,1478,1481,1482,1484],{},"Compilation is ",[889,1479,1480],{},"deterministic",": the same ",[1009,1483,1029],{}," against the same installed catalog always produces byte-identical JSON. That means you can diff successive plans during refinement and see exactly what your feedback changed.",[942,1486,1488],{"id":1487},"worked-example-dialog-plan-compiled-composition","Worked example: dialog → plan → compiled composition",[1490,1491,1493],"h3",{"id":1492},"the-dialog","The dialog",[1077,1495,1498],{"className":1496,"code":1497,"language":1082,"meta":1083},[1080],"You:  Create a static-site bucket in our AWS sandbox, tag it for cost tracking,\n      and make the bucket name a parameter.\n\nDGI:  I'll assemble two layers:\n        1. aws.s3.create_bucket      — takes the bucket name from workflow input\n        2. aws.s3.put_bucket_tagging — tags the bucket created in step 1\n      The bucket name is parameterised as `bucket_name`. The tag set is a\n      literal for now. Want it parameterised too?\n\nYou:  That's good for a first version.\n",[1009,1499,1497],{"__ignoreMap":1083},[1490,1501,1503],{"id":1502},"the-plan-dgi-emits-virtualworkflow","The plan DGI emits (VirtualWorkflow)",[885,1505,1506],{},"This is the typed intermediate representation — authored as data, not strings, so shape errors are caught before the catalog validator even runs.",[1077,1508,1510],{"className":1328,"code":1509,"language":1330,"meta":1083,"style":1083},"{\n  \"name\": \"vw_static_site\",\n  \"layers\": [\n    {\n      \"name\": \"create\",\n      \"steps\": [\n        {\n          \"name\": \"s1\",\n          \"workflow_type\": \"aws.s3.create_bucket\",\n          \"input_mapping\": {\n            \"name\": { \"source\": \"input\", \"field_name\": \"bucket_name\" }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"write\",\n      \"steps\": [\n        {\n          \"name\": \"s2\",\n          \"workflow_type\": \"aws.s3.put_bucket_tagging\",\n          \"input_mapping\": {\n            \"bucket\":  { \"source\": \"step\", \"step\": \"s1\", \"field_name\": \"bucket_name\" },\n            \"tagging\": { \"source\": \"static\", \"value\": { \"TagSet\": [{ \"Key\": \"env\", \"Value\": \"demo\" }] } }\n          }\n        }\n      ]\n    }\n  ]\n}\n",[1009,1511,1512,1516,1536,1550,1555,1576,1589,1595,1617,1637,1652,1706,1712,1718,1724,1730,1735,1755,1768,1773,1792,1812,1825,1889,1986,1991,1996,2001,2007,2013],{"__ignoreMap":1083},[1334,1513,1514],{"class":1336,"line":1337},[1334,1515,1341],{"class":1340},[1334,1517,1518,1520,1523,1525,1527,1529,1532,1534],{"class":1336,"line":1344},[1334,1519,1347],{"class":1340},[1334,1521,1522],{"class":1350},"name",[1334,1524,1354],{"class":1340},[1334,1526,1357],{"class":1340},[1334,1528,1360],{"class":1340},[1334,1530,1531],{"class":1363},"vw_static_site",[1334,1533,1354],{"class":1340},[1334,1535,1368],{"class":1340},[1334,1537,1538,1540,1543,1545,1547],{"class":1336,"line":1371},[1334,1539,1347],{"class":1340},[1334,1541,1542],{"class":1350},"layers",[1334,1544,1354],{"class":1340},[1334,1546,1357],{"class":1340},[1334,1548,1549],{"class":1340}," [\n",[1334,1551,1552],{"class":1336,"line":1392},[1334,1553,1554],{"class":1340},"    {\n",[1334,1556,1557,1560,1563,1565,1567,1569,1572,1574],{"class":1336,"line":1413},[1334,1558,1559],{"class":1340},"      \"",[1334,1561,1522],{"class":1562},"sBMFI",[1334,1564,1354],{"class":1340},[1334,1566,1357],{"class":1340},[1334,1568,1360],{"class":1340},[1334,1570,1571],{"class":1363},"create",[1334,1573,1354],{"class":1340},[1334,1575,1368],{"class":1340},[1334,1577,1578,1580,1583,1585,1587],{"class":1336,"line":1433},[1334,1579,1559],{"class":1340},[1334,1581,1582],{"class":1562},"steps",[1334,1584,1354],{"class":1340},[1334,1586,1357],{"class":1340},[1334,1588,1549],{"class":1340},[1334,1590,1592],{"class":1336,"line":1591},7,[1334,1593,1594],{"class":1340},"        {\n",[1334,1596,1598,1601,1604,1606,1608,1610,1613,1615],{"class":1336,"line":1597},8,[1334,1599,1600],{"class":1340},"          \"",[1334,1602,1522],{"class":1603},"sbssI",[1334,1605,1354],{"class":1340},[1334,1607,1357],{"class":1340},[1334,1609,1360],{"class":1340},[1334,1611,1612],{"class":1363},"s1",[1334,1614,1354],{"class":1340},[1334,1616,1368],{"class":1340},[1334,1618,1620,1622,1624,1626,1628,1630,1633,1635],{"class":1336,"line":1619},9,[1334,1621,1600],{"class":1340},[1334,1623,1397],{"class":1603},[1334,1625,1354],{"class":1340},[1334,1627,1357],{"class":1340},[1334,1629,1360],{"class":1340},[1334,1631,1632],{"class":1363},"aws.s3.create_bucket",[1334,1634,1354],{"class":1340},[1334,1636,1368],{"class":1340},[1334,1638,1640,1642,1645,1647,1649],{"class":1336,"line":1639},10,[1334,1641,1600],{"class":1340},[1334,1643,1644],{"class":1603},"input_mapping",[1334,1646,1354],{"class":1340},[1334,1648,1357],{"class":1340},[1334,1650,1651],{"class":1340}," {\n",[1334,1653,1655,1658,1661,1663,1665,1668,1670,1674,1676,1678,1680,1682,1684,1687,1689,1692,1694,1696,1698,1701,1703],{"class":1336,"line":1654},11,[1334,1656,1657],{"class":1340},"            \"",[1334,1659,1522],{"class":1660},"swJcz",[1334,1662,1354],{"class":1340},[1334,1664,1357],{"class":1340},[1334,1666,1667],{"class":1340}," {",[1334,1669,1360],{"class":1340},[1334,1671,1673],{"class":1672},"su27w","source",[1334,1675,1354],{"class":1340},[1334,1677,1357],{"class":1340},[1334,1679,1360],{"class":1340},[1334,1681,1183],{"class":1363},[1334,1683,1354],{"class":1340},[1334,1685,1686],{"class":1340},",",[1334,1688,1360],{"class":1340},[1334,1690,1691],{"class":1672},"field_name",[1334,1693,1354],{"class":1340},[1334,1695,1357],{"class":1340},[1334,1697,1360],{"class":1340},[1334,1699,1700],{"class":1363},"bucket_name",[1334,1702,1354],{"class":1340},[1334,1704,1705],{"class":1340}," }\n",[1334,1707,1709],{"class":1336,"line":1708},12,[1334,1710,1711],{"class":1340},"          }\n",[1334,1713,1715],{"class":1336,"line":1714},13,[1334,1716,1717],{"class":1340},"        }\n",[1334,1719,1721],{"class":1336,"line":1720},14,[1334,1722,1723],{"class":1340},"      ]\n",[1334,1725,1727],{"class":1336,"line":1726},15,[1334,1728,1729],{"class":1340},"    },\n",[1334,1731,1733],{"class":1336,"line":1732},16,[1334,1734,1554],{"class":1340},[1334,1736,1738,1740,1742,1744,1746,1748,1751,1753],{"class":1336,"line":1737},17,[1334,1739,1559],{"class":1340},[1334,1741,1522],{"class":1562},[1334,1743,1354],{"class":1340},[1334,1745,1357],{"class":1340},[1334,1747,1360],{"class":1340},[1334,1749,1750],{"class":1363},"write",[1334,1752,1354],{"class":1340},[1334,1754,1368],{"class":1340},[1334,1756,1758,1760,1762,1764,1766],{"class":1336,"line":1757},18,[1334,1759,1559],{"class":1340},[1334,1761,1582],{"class":1562},[1334,1763,1354],{"class":1340},[1334,1765,1357],{"class":1340},[1334,1767,1549],{"class":1340},[1334,1769,1771],{"class":1336,"line":1770},19,[1334,1772,1594],{"class":1340},[1334,1774,1776,1778,1780,1782,1784,1786,1788,1790],{"class":1336,"line":1775},20,[1334,1777,1600],{"class":1340},[1334,1779,1522],{"class":1603},[1334,1781,1354],{"class":1340},[1334,1783,1357],{"class":1340},[1334,1785,1360],{"class":1340},[1334,1787,1385],{"class":1363},[1334,1789,1354],{"class":1340},[1334,1791,1368],{"class":1340},[1334,1793,1795,1797,1799,1801,1803,1805,1808,1810],{"class":1336,"line":1794},21,[1334,1796,1600],{"class":1340},[1334,1798,1397],{"class":1603},[1334,1800,1354],{"class":1340},[1334,1802,1357],{"class":1340},[1334,1804,1360],{"class":1340},[1334,1806,1807],{"class":1363},"aws.s3.put_bucket_tagging",[1334,1809,1354],{"class":1340},[1334,1811,1368],{"class":1340},[1334,1813,1815,1817,1819,1821,1823],{"class":1336,"line":1814},22,[1334,1816,1600],{"class":1340},[1334,1818,1644],{"class":1603},[1334,1820,1354],{"class":1340},[1334,1822,1357],{"class":1340},[1334,1824,1651],{"class":1340},[1334,1826,1828,1830,1833,1835,1837,1840,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886],{"class":1336,"line":1827},23,[1334,1829,1657],{"class":1340},[1334,1831,1832],{"class":1660},"bucket",[1334,1834,1354],{"class":1340},[1334,1836,1357],{"class":1340},[1334,1838,1839],{"class":1340},"  {",[1334,1841,1360],{"class":1340},[1334,1843,1673],{"class":1672},[1334,1845,1354],{"class":1340},[1334,1847,1357],{"class":1340},[1334,1849,1360],{"class":1340},[1334,1851,1196],{"class":1363},[1334,1853,1354],{"class":1340},[1334,1855,1686],{"class":1340},[1334,1857,1360],{"class":1340},[1334,1859,1196],{"class":1672},[1334,1861,1354],{"class":1340},[1334,1863,1357],{"class":1340},[1334,1865,1360],{"class":1340},[1334,1867,1612],{"class":1363},[1334,1869,1354],{"class":1340},[1334,1871,1686],{"class":1340},[1334,1873,1360],{"class":1340},[1334,1875,1691],{"class":1672},[1334,1877,1354],{"class":1340},[1334,1879,1357],{"class":1340},[1334,1881,1360],{"class":1340},[1334,1883,1700],{"class":1363},[1334,1885,1354],{"class":1340},[1334,1887,1888],{"class":1340}," },\n",[1334,1890,1892,1894,1897,1899,1901,1903,1905,1907,1909,1911,1913,1915,1917,1919,1921,1924,1926,1928,1930,1932,1936,1938,1940,1943,1945,1949,1951,1953,1955,1958,1960,1962,1964,1967,1969,1971,1973,1976,1978,1981,1984],{"class":1336,"line":1891},24,[1334,1893,1657],{"class":1340},[1334,1895,1896],{"class":1660},"tagging",[1334,1898,1354],{"class":1340},[1334,1900,1357],{"class":1340},[1334,1902,1667],{"class":1340},[1334,1904,1360],{"class":1340},[1334,1906,1673],{"class":1672},[1334,1908,1354],{"class":1340},[1334,1910,1357],{"class":1340},[1334,1912,1360],{"class":1340},[1334,1914,1209],{"class":1363},[1334,1916,1354],{"class":1340},[1334,1918,1686],{"class":1340},[1334,1920,1360],{"class":1340},[1334,1922,1923],{"class":1672},"value",[1334,1925,1354],{"class":1340},[1334,1927,1357],{"class":1340},[1334,1929,1667],{"class":1340},[1334,1931,1360],{"class":1340},[1334,1933,1935],{"class":1934},"s2Zo4","TagSet",[1334,1937,1354],{"class":1340},[1334,1939,1357],{"class":1340},[1334,1941,1942],{"class":1340}," [{",[1334,1944,1360],{"class":1340},[1334,1946,1948],{"class":1947},"sfNiH","Key",[1334,1950,1354],{"class":1340},[1334,1952,1357],{"class":1340},[1334,1954,1360],{"class":1340},[1334,1956,1957],{"class":1363},"env",[1334,1959,1354],{"class":1340},[1334,1961,1686],{"class":1340},[1334,1963,1360],{"class":1340},[1334,1965,1966],{"class":1947},"Value",[1334,1968,1354],{"class":1340},[1334,1970,1357],{"class":1340},[1334,1972,1360],{"class":1340},[1334,1974,1975],{"class":1363},"demo",[1334,1977,1354],{"class":1340},[1334,1979,1980],{"class":1340}," }]",[1334,1982,1983],{"class":1340}," }",[1334,1985,1705],{"class":1340},[1334,1987,1989],{"class":1336,"line":1988},25,[1334,1990,1711],{"class":1340},[1334,1992,1994],{"class":1336,"line":1993},26,[1334,1995,1717],{"class":1340},[1334,1997,1999],{"class":1336,"line":1998},27,[1334,2000,1723],{"class":1340},[1334,2002,2004],{"class":1336,"line":2003},28,[1334,2005,2006],{"class":1340},"    }\n",[1334,2008,2010],{"class":1336,"line":2009},29,[1334,2011,2012],{"class":1340},"  ]\n",[1334,2014,2016],{"class":1336,"line":2015},30,[1334,2017,1436],{"class":1340},[918,2019,2020],{},[885,2021,2022,2023,2026,2027,2030,2031,2033],{},"Workflow types and field names above are ",[889,2024,2025],{},"illustrative",". The real names depend on the libraries installed in your engine host. Browse the live catalog at ",[898,2028,1241],{"href":1238,"rel":2029},[1240]," or via the ",[898,2032,1124],{"href":165}," — never assume a type exists.",[1490,2035,2037],{"id":2036},"the-compiled-composition-handed-to-the-engine","The compiled composition (handed to the engine)",[885,2039,2040,2041,2043],{},"The virtual engine compiles the plan into a plain dict in the engine's ",[1009,2042,1011],{}," shape. The engine has no idea this came from AI — there is no runtime marker, no AI in the execution path.",[1077,2045,2047],{"className":1328,"code":2046,"language":1330,"meta":1083,"style":1083},"{\n  \"id\": \"vw_static_site\",\n  \"layers\": [\n    { \"steps\": [ { \"id\": \"s1\", \"workflow\": \"aws.s3.create_bucket\",\n                   \"inputs\": { \"name\": {\"from\": \"input.bucket_name\"} } } ] },\n    { \"steps\": [ { \"id\": \"s2\", \"workflow\": \"aws.s3.put_bucket_tagging\",\n                   \"inputs\": {\n                     \"bucket\":  {\"from\": \"step.s1.bucket_name\"},\n                     \"tagging\": {\"value\": { \"TagSet\": [{ \"Key\": \"env\", \"Value\": \"demo\" }] }}\n                   } } ] }\n  ]\n}\n",[1009,2048,2049,2053,2072,2084,2135,2187,2235,2247,2278,2345,2356,2360],{"__ignoreMap":1083},[1334,2050,2051],{"class":1336,"line":1337},[1334,2052,1341],{"class":1340},[1334,2054,2055,2057,2060,2062,2064,2066,2068,2070],{"class":1336,"line":1344},[1334,2056,1347],{"class":1340},[1334,2058,2059],{"class":1350},"id",[1334,2061,1354],{"class":1340},[1334,2063,1357],{"class":1340},[1334,2065,1360],{"class":1340},[1334,2067,1531],{"class":1363},[1334,2069,1354],{"class":1340},[1334,2071,1368],{"class":1340},[1334,2073,2074,2076,2078,2080,2082],{"class":1336,"line":1371},[1334,2075,1347],{"class":1340},[1334,2077,1542],{"class":1350},[1334,2079,1354],{"class":1340},[1334,2081,1357],{"class":1340},[1334,2083,1549],{"class":1340},[1334,2085,2086,2089,2091,2093,2095,2097,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2123,2125,2127,2129,2131,2133],{"class":1336,"line":1392},[1334,2087,2088],{"class":1340},"    {",[1334,2090,1360],{"class":1340},[1334,2092,1582],{"class":1562},[1334,2094,1354],{"class":1340},[1334,2096,1357],{"class":1340},[1334,2098,2099],{"class":1340}," [",[1334,2101,1667],{"class":1340},[1334,2103,1360],{"class":1340},[1334,2105,2059],{"class":1603},[1334,2107,1354],{"class":1340},[1334,2109,1357],{"class":1340},[1334,2111,1360],{"class":1340},[1334,2113,1612],{"class":1363},[1334,2115,1354],{"class":1340},[1334,2117,1686],{"class":1340},[1334,2119,1360],{"class":1340},[1334,2121,2122],{"class":1603},"workflow",[1334,2124,1354],{"class":1340},[1334,2126,1357],{"class":1340},[1334,2128,1360],{"class":1340},[1334,2130,1632],{"class":1363},[1334,2132,1354],{"class":1340},[1334,2134,1368],{"class":1340},[1334,2136,2137,2140,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2164,2166,2168,2170,2173,2175,2178,2180,2182,2185],{"class":1336,"line":1413},[1334,2138,2139],{"class":1340},"                   \"",[1334,2141,2142],{"class":1603},"inputs",[1334,2144,1354],{"class":1340},[1334,2146,1357],{"class":1340},[1334,2148,1667],{"class":1340},[1334,2150,1360],{"class":1340},[1334,2152,1522],{"class":1660},[1334,2154,1354],{"class":1340},[1334,2156,1357],{"class":1340},[1334,2158,1667],{"class":1340},[1334,2160,1354],{"class":1340},[1334,2162,2163],{"class":1672},"from",[1334,2165,1354],{"class":1340},[1334,2167,1357],{"class":1340},[1334,2169,1360],{"class":1340},[1334,2171,2172],{"class":1363},"input.bucket_name",[1334,2174,1354],{"class":1340},[1334,2176,2177],{"class":1340},"}",[1334,2179,1983],{"class":1340},[1334,2181,1983],{"class":1340},[1334,2183,2184],{"class":1340}," ]",[1334,2186,1888],{"class":1340},[1334,2188,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233],{"class":1336,"line":1433},[1334,2190,2088],{"class":1340},[1334,2192,1360],{"class":1340},[1334,2194,1582],{"class":1562},[1334,2196,1354],{"class":1340},[1334,2198,1357],{"class":1340},[1334,2200,2099],{"class":1340},[1334,2202,1667],{"class":1340},[1334,2204,1360],{"class":1340},[1334,2206,2059],{"class":1603},[1334,2208,1354],{"class":1340},[1334,2210,1357],{"class":1340},[1334,2212,1360],{"class":1340},[1334,2214,1385],{"class":1363},[1334,2216,1354],{"class":1340},[1334,2218,1686],{"class":1340},[1334,2220,1360],{"class":1340},[1334,2222,2122],{"class":1603},[1334,2224,1354],{"class":1340},[1334,2226,1357],{"class":1340},[1334,2228,1360],{"class":1340},[1334,2230,1807],{"class":1363},[1334,2232,1354],{"class":1340},[1334,2234,1368],{"class":1340},[1334,2236,2237,2239,2241,2243,2245],{"class":1336,"line":1591},[1334,2238,2139],{"class":1340},[1334,2240,2142],{"class":1603},[1334,2242,1354],{"class":1340},[1334,2244,1357],{"class":1340},[1334,2246,1651],{"class":1340},[1334,2248,2249,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2273,2275],{"class":1336,"line":1597},[1334,2250,2251],{"class":1340},"                     \"",[1334,2253,1832],{"class":1660},[1334,2255,1354],{"class":1340},[1334,2257,1357],{"class":1340},[1334,2259,1839],{"class":1340},[1334,2261,1354],{"class":1340},[1334,2263,2163],{"class":1672},[1334,2265,1354],{"class":1340},[1334,2267,1357],{"class":1340},[1334,2269,1360],{"class":1340},[1334,2271,2272],{"class":1363},"step.s1.bucket_name",[1334,2274,1354],{"class":1340},[1334,2276,2277],{"class":1340},"},\n",[1334,2279,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342],{"class":1336,"line":1619},[1334,2281,2251],{"class":1340},[1334,2283,1896],{"class":1660},[1334,2285,1354],{"class":1340},[1334,2287,1357],{"class":1340},[1334,2289,1667],{"class":1340},[1334,2291,1354],{"class":1340},[1334,2293,1923],{"class":1672},[1334,2295,1354],{"class":1340},[1334,2297,1357],{"class":1340},[1334,2299,1667],{"class":1340},[1334,2301,1360],{"class":1340},[1334,2303,1935],{"class":1934},[1334,2305,1354],{"class":1340},[1334,2307,1357],{"class":1340},[1334,2309,1942],{"class":1340},[1334,2311,1360],{"class":1340},[1334,2313,1948],{"class":1947},[1334,2315,1354],{"class":1340},[1334,2317,1357],{"class":1340},[1334,2319,1360],{"class":1340},[1334,2321,1957],{"class":1363},[1334,2323,1354],{"class":1340},[1334,2325,1686],{"class":1340},[1334,2327,1360],{"class":1340},[1334,2329,1966],{"class":1947},[1334,2331,1354],{"class":1340},[1334,2333,1357],{"class":1340},[1334,2335,1360],{"class":1340},[1334,2337,1975],{"class":1363},[1334,2339,1354],{"class":1340},[1334,2341,1980],{"class":1340},[1334,2343,2344],{"class":1340}," }}\n",[1334,2346,2347,2350,2352,2354],{"class":1336,"line":1639},[1334,2348,2349],{"class":1340},"                   }",[1334,2351,1983],{"class":1340},[1334,2353,2184],{"class":1340},[1334,2355,1705],{"class":1340},[1334,2357,2358],{"class":1336,"line":1654},[1334,2359,2012],{"class":1340},[1334,2361,2362],{"class":1336,"line":1708},[1334,2363,1436],{"class":1340},[885,2365,2366,2367,2370,2371,2374,2375,916],{},"From here it dispatches like any DAG workflow — running in ",[889,2368,2369],{},"your"," cloud account via a runner, with state and telemetry flowing back to Orkestia. Watch it through the MCP (",[1009,2372,2373],{},"watch_workflow",") or in ",[898,2376,437],{"href":459},[942,2378,2380],{"id":2379},"step-4-promote-a-good-plan-into-a-reusable-virtual-workflow","Step 4 — Promote a good plan into a reusable virtual workflow",[885,2382,2383,2384,2387,2388,2390],{},"A plan that works is an asset. Rather than re-deriving it through dialog each time, ",[889,2385,2386],{},"promote"," it: the compiled composition becomes a named, parameterised ",[898,2389,904],{"href":129}," that anyone in your org can start directly — no AI round-trip, no per-run reasoning cost.",[885,2392,2393],{},"What promotion buys you:",[2395,2396,2397,2405,2411,2421],"card-group",{},[2398,2399,2402],"card",{"icon":2400,"title":2401},"i-lucide-git-commit-horizontal","Determinism",[885,2403,2404],{},"The promoted composition is fixed JSON. Same inputs, same graph, every run — fully reproducible and diffable in version control.",[2398,2406,2408],{"icon":213,"title":2407},"No reasoning cost",[885,2409,2410],{},"Direct dispatch skips the LLM entirely. Faster, cheaper, and not subject to model variance on the hot path.",[2398,2412,2415],{"icon":2413,"title":2414},"i-lucide-repeat","Parameterised reuse",[885,2416,2417,2418,2420],{},"Everything you exposed as ",[1009,2419,1183],{}," becomes a runtime parameter. One composition, many sites.",[2398,2422,2424],{"icon":16,"title":2423},"Governable",[885,2425,2426,2427,2430],{},"A named workflow can be reviewed, approved, and run under ",[898,2428,2429],{"href":64},"Staff governance"," like any other capability.",[885,2432,2433],{},"The promotion path, conceptually:",[1129,2435,2436,2442,2454,2464],{},[1132,2437,2438,2441],{},[889,2439,2440],{},"Confirm the plan is clean"," — passes all three validation phases and produces the composition you want.",[1132,2443,2444,2447,2448,2450,2451,2453],{},[889,2445,2446],{},"Name and parameterise it"," — decide which values stay ",[1009,2449,1183],{}," (the reusable knobs) and which are ",[1009,2452,1209],{}," (fixed for this composition).",[1132,2455,2456,2459,2460,2463],{},[889,2457,2458],{},"Register the composition"," as a virtual workflow so it appears in your catalog. See the ",[898,2461,2462],{"href":129},"virtual workflows guide"," for the authoring details.",[1132,2465,2466,2469,2470,2472,2473,2476],{},[889,2467,2468],{},"Run it directly"," going forward — via the engine API, the ",[898,2471,1120],{"href":170}," (",[1009,2474,2475],{},"start_workflow","), or wherever you orchestrate runs.",[885,2478,2479,2480,2482,2483,2486,2487,2490],{},"This is the core of the ",[898,2481,900],{"href":196},": use AI to ",[889,2484,2485],{},"discover and design"," a flow once, then run a ",[889,2488,2489],{},"deterministic composition"," forever. DGI for the unknown; compiled compositions for the known.",[1046,2492,2493],{},[885,2494,2495],{},"A good rule of thumb: if you've asked DGI for roughly the same thing twice, promote it. The third invocation should be a parameterised run of a virtual workflow, not a fresh dialog.",[942,2497,2499],{"id":2498},"notes-and-current-limitations","Notes and current limitations",[918,2501,2502],{},[885,2503,2504,2505,2507,2508,2510],{},"DGI sits on top of the virtual engine and the agent/Staff substrate, both of which continue to evolve. APIs, the ",[1009,2506,1029],{}," model shape, and the promotion ergonomics may change; treat the wire JSON (",[1009,2509,1011],{},") as the more stable contract, with the Python builder API more likely to shift.",[885,2512,2513],{},"Known limitations to design around:",[1441,2515,2516,2526,2535,2544,2550],{},[1132,2517,2518,2521,2522,2525],{},[889,2519,2520],{},"Catalog is snapshot-at-compile."," DGI assembles against whatever workflow libraries are installed in the calling process at compile time. A workflow type added after a plan is compiled won't appear in that plan; one removed after compile will still be in the JSON and will fail at engine dispatch. ",[889,2523,2524],{},"Mitigation:"," keep author-side and runtime library versions pinned and aligned.",[1132,2527,2528,2531,2532,2534],{},[889,2529,2530],{},"DGI only assembles what exists."," It cannot invent capabilities. If your goal needs something not in the catalog, you'll get a references-phase error, not a partial result. Author the missing workflow first (see ",[898,2533,1245],{"href":24},").",[1132,2536,2537,2540,2541,2543],{},[889,2538,2539],{},"Out-of-process catalog divergence."," If the producer and the compiler run in different environments with different installed libraries, validation can pass against one catalog and fail against the other. ",[889,2542,2524],{}," compile in the same process that will dispatch, or treat the compiler as a gate service.",[1132,2545,2546,2549],{},[889,2547,2548],{},"Model variance on the design path."," AI reasoning can phrase a plan more than one way; refinement and the three-phase validator are your guardrails. The execution path stays deterministic regardless — variance lives only in design, never in run.",[1132,2551,2552,2555,2556,2559],{},[889,2553,2554],{},"Naming is still settling."," The DGI / Agents / Staff surfaces are converging; some workflow type names (",[1009,2557,2558],{},"dgi.*",") and product boundaries may be renamed before GA.",[942,2561,2563],{"id":2562},"where-to-go-next","Where to go next",[2395,2565,2566,2572,2579,2584,2590,2595],{},[2398,2567,2569],{"icon":186,"title":2568,"to":129},"Virtual workflows",[885,2570,2571],{},"Author, parameterise, and register the compositions DGI plans compile into.",[2398,2573,2576],{"icon":2574,"title":2575,"to":196},"i-lucide-split","Hybrid execution model",[885,2577,2578],{},"The deeper rationale for AI-design / deterministic-run separation.",[2398,2580,2581],{"icon":181,"title":1120,"to":170},[885,2582,2583],{},"Discover, start, and watch workflows from agents and tools.",[2398,2585,2587],{"icon":167,"title":2586,"to":165},"Workflow types registry",[885,2588,2589],{},"Browse the live catalog of capabilities DGI can assemble.",[2398,2591,2592],{"icon":85,"title":2429,"to":64},[885,2593,2594],{},"Approvals and oversight for fleets of AI agents that build with DGI.",[2398,2596,2598],{"icon":80,"title":2597,"to":459},"Observability with Lumen",[885,2599,2600],{},"Watch compiled compositions run and trace failures.",[885,2602,2603,2604,916],{},"For per-workflow detail — exact types, inputs, and output fields — see the external catalog at ",[898,2605,1241],{"href":1238,"rel":2606},[1240],[2608,2609,2610],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .su27w, html code.shiki .su27w{--shiki-light:#916B53;--shiki-default:#916B53;--shiki-dark:#916B53}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":1083,"searchDepth":1337,"depth":1344,"links":2612},[2613,2614,2615,2616,2617,2622,2623,2624],{"id":944,"depth":1344,"text":945},{"id":1056,"depth":1344,"text":1057},{"id":1109,"depth":1344,"text":1110},{"id":1249,"depth":1344,"text":1250},{"id":1487,"depth":1344,"text":1488,"children":2618},[2619,2620,2621],{"id":1492,"depth":1371,"text":1493},{"id":1502,"depth":1371,"text":1503},{"id":2036,"depth":1371,"text":2037},{"id":2379,"depth":1344,"text":2380},{"id":2498,"depth":1344,"text":2499},{"id":2562,"depth":1344,"text":2563},"Express a goal to DGI, review the workflow plan it assembles, and promote a good plan into a reusable deterministic virtual workflow","md",null,{},{"icon":126},{"title":123,"description":2625},"FXit44kqqOrELKUPngZm6sQELUUdV-Twzhf2rkg_tks",[2633,2635],{"title":116,"path":117,"stem":118,"description":2634,"icon":121,"children":-1},"Task-oriented walkthroughs for building, governing, and operating Orkestia in your own cloud",{"title":128,"path":129,"stem":130,"description":2636,"icon":131,"children":-1},"Compose existing workflows into a validated, versioned virtual workflow and expose it to your app's end-users through App Enablement",1790354041704]