[{"data":1,"prerenderedAt":2619},["ShallowReactive",2],{"navigation":3,"/concepts/workflows":879,"/concepts/workflows-surround":2614},[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":53,"body":881,"description":2607,"extension":2608,"links":2609,"meta":2610,"navigation":2611,"path":54,"seo":2612,"stem":55,"__hash__":2613},"docs/03.concepts/02.workflows.md",{"type":882,"value":883,"toc":2581},"minimark",[884,889,945,964,968,1095,1100,1107,1167,1170,1181,1197,1203,1220,1226,1236,1240,1251,1269,1273,1280,1341,1346,1349,1353,1368,1373,1396,1400,1415,1419,1426,1430,1437,1441,1547,1557,1561,1582,1600,1604,1647,1650,1653,1675,1682,1686,1696,1700,1721,1726,1744,2250,2281,2284,2340,2354,2358,2368,2372,2379,2383,2514,2518,2541,2545,2577],[885,886,888],"h2",{"id":887},"tldr","TL;DR",[890,891,892,905,927,933,939],"ul",{},[893,894,895,899,900,904],"li",{},[896,897,898],"strong",{},"A type is a capability; a run is one execution."," Types have dotted names and typed schemas. Runs have a ",[901,902,903],"code",{},"workflow_id",", a state, and a history.",[893,906,907,910,911,914,915,918,919,922,923,926],{},[896,908,909],{},"Three kinds of type:"," ",[901,912,913],{},"state_machine"," (atomic, ",[901,916,917],{},"PENDING → COMPLETED | FAILED","), ",[901,920,921],{},"data"," (read-only lookups, safe to start), and ",[901,924,925],{},"dag"," (multi-step, layers of steps).",[893,928,929,932],{},[896,930,931],{},"The engine is event-sourced."," A run is an append-only log of transitions, so history is complete and recovery is deterministic.",[893,934,935,938],{},[896,936,937],{},"Compositions are your logic."," Chain existing types with explicit input mapping, validate against the live catalog, compile to a normal DAG. No code.",[893,940,941,944],{},[896,942,943],{},"The same loop everywhere."," Discover, schema, prerequisites, start, watch, recover, whether from the console, an SDK, or an assistant over MCP.",[946,947,948],"note",{},[949,950,951,952,956,957,960,961,963],"p",{},"Orkestia never holds your source code or your data. Workflows execute against your cloud accounts through ",[953,954,955],"a",{"href":73},"runners",", using connection credentials you granted and can revoke. The engine stores workflow ",[896,958,959],{},"state"," and, if you enable it, ",[953,962,437],{"href":78}," telemetry.",[885,965,967],{"id":966},"types-vs-runs","Types vs runs",[969,970,971,991],"table",{},[972,973,974],"thead",{},[975,976,977,980,986],"tr",{},[978,979],"th",{},[978,981,982,983],{},"Workflow ",[896,984,985],{},"type",[978,987,982,988],{},[896,989,990],{},"run",[992,993,994,1014,1030,1041,1062],"tbody",{},[975,995,996,1000,1007],{},[997,998,999],"td",{},"What it is",[997,1001,1002,1003],{},"A registered ",[1004,1005,1006],"em",{},"capability",[997,1008,1009,1010,1013],{},"A single ",[1004,1011,1012],{},"execution"," of a type",[975,1015,1016,1019,1025],{},[997,1017,1018],{},"Identity",[997,1020,1021,1022],{},"A dotted name, such as ",[901,1023,1024],{},"aws.s3.create_bucket",[997,1026,1027,1028],{},"A unique ",[901,1029,903],{},[975,1031,1032,1035,1038],{},[997,1033,1034],{},"Lifetime",[997,1036,1037],{},"Installed in the catalog",[997,1039,1040],{},"From start to a terminal state",[975,1042,1043,1046,1059],{},[997,1044,1045],{},"Carries",[997,1047,1048,1049,1052,1053,1052,1056],{},"Typed input and output schema, prerequisites, ",[901,1050,1051],{},"workflow_kind",", ",[901,1054,1055],{},"featured",[901,1057,1058],{},"scope",[997,1060,1061],{},"Inputs, outputs, full transition history",[975,1063,1064,1067,1081],{},[997,1065,1066],{},"Discover with",[997,1068,1069,1052,1072,1052,1075,1052,1078],{},[901,1070,1071],{},"list_workflow_types",[901,1073,1074],{},"get_workflow_schema",[901,1076,1077],{},"get_workflow_definition",[901,1079,1080],{},"get_workflow_dag",[997,1082,1083,1052,1086,1052,1089,1052,1092],{},[901,1084,1085],{},"get_workflow_status",[901,1087,1088],{},"watch_workflow",[901,1090,1091],{},"get_workflow_history",[901,1093,1094],{},"list_workflows",[1096,1097,1099],"h3",{"id":1098},"types-registered-capabilities","Types: registered capabilities",[949,1101,1102,1103,1106],{},"A type is a named, typed capability the platform knows how to run. Atomic types are named ",[901,1104,1105],{},"{provider}.{service}.{operation}"," and grouped into namespaces you can browse. Each type declares:",[890,1108,1109,1115,1128],{},[893,1110,1111,1114],{},[896,1112,1113],{},"A typed input and output schema",", validated before a run starts and before a result is accepted.",[893,1116,1117,1119,1120,1123,1124,1127],{},[896,1118,578],{},": what must exist first, most often a cloud ",[953,1121,1122],{"href":237},"connection",". When a schema reports ",[901,1125,1126],{},"has_prerequisites: true",", fetch the setup guide before starting.",[893,1129,1130,1133,1134,1136,1137,1052,1139,1141,1142,918,1144,1146,1147,1150,1151,1154,1155,1136,1157,1052,1160,1141,1163,1166],{},[896,1131,1132],{},"Metadata"," an assistant uses to choose well: ",[901,1135,1051],{}," (",[901,1138,913],{},[901,1140,921],{},", or ",[901,1143,925],{},[901,1145,1055],{}," (a human-runnable entry point; internal ",[901,1148,1149],{},"*.prepare"," and ",[901,1152,1153],{},"*.finalize"," sub-steps are not), and ",[901,1156,1058],{},[901,1158,1159],{},"organization",[901,1161,1162],{},"library",[901,1164,1165],{},"none",").",[949,1168,1169],{},"The catalog is the source of truth. Never invent a type name. Quote the exact name the engine returns.",[1171,1172,1179],"pre",{"className":1173,"code":1175,"filename":1176,"language":1177,"meta":1178},[1174],"language-text","list_workflow_namespaces()\nlist_workflow_types(prefix=\"aws.s3.\")\nget_workflow_schema(\"aws.s3.create_bucket\")          → fields, read_only, has_prerequisites\nget_workflow_prerequisites(\"aws.s3.create_bucket\", variant=\"aws\")\n","discover a capability, as an assistant does it","text","",[901,1180,1175],{"__ignoreMap":1178},[1182,1183,1184],"tip",{},[949,1185,1186,1187,1193,1194,1196],{},"Every per-type detail (inputs, outputs, flags, prerequisites) lives in the live catalog at ",[953,1188,1192],{"href":1189,"rel":1190},"https://reference.orkestia.dev",[1191],"nofollow","reference.orkestia.dev"," and through ",[901,1195,1074],{},". This page describes capabilities at the model level.",[1096,1198,1200,1201],{"id":1199},"runs-executions-with-a-workflow_id","Runs: executions with a ",[901,1202,903],{},[949,1204,1205,1206,1208,1209,1212,1213,1141,1216,1219],{},"A run is one execution of a type. You start it with inputs, get back a ",[901,1207,903],{},", then ",[896,1210,1211],{},"watch"," it to a terminal state, inspect its ",[896,1214,1215],{},"history",[896,1217,1218],{},"retry"," it if it failed.",[1171,1221,1224],{"className":1222,"code":1223,"language":1177,"meta":1178},[1174],"start_workflow(\"aws.s3.create_bucket\", { \"bucket\": \"my-bucket\", \"connection_uuid\": \"…\" })\n  → { \"workflow_id\": \"wf_8f3c…\", \"status\": \"PENDING\" }\n\nwatch_workflow(\"wf_8f3c…\")          → blocks until COMPLETED or FAILED\nget_workflow_history(\"wf_8f3c…\")    → full append-only transition log\n",[901,1225,1223],{"__ignoreMap":1178},[1227,1228,1230],"callout",{"icon":1229},"i-lucide-info",[949,1231,1232,1233,1235],{},"Your organization scopes every run automatically. It is resolved server-side from your token and never passed by hand. End-user runs through ",[953,1234,419],{"href":420}," are scoped the same way, to the signed-in user.",[885,1237,1239],{"id":1238},"the-event-sourced-state-machine","The event-sourced state machine",[949,1241,1242,1243,1246,1247,1250],{},"Every run, atomic or composed, executes on one ",[896,1244,1245],{},"event-sourced state machine",". A run is not a row mutated in place. It is the ",[896,1248,1249],{},"replay of an append-only sequence of transitions",". Current state is derived from history. Two properties follow:",[1252,1253,1254,1262],"card-group",{},[1255,1256,1259],"card",{"icon":1257,"title":1258},"i-lucide-history","Full history",[949,1260,1261],{},"Every state change, input, and output is preserved. You can reconstruct exactly how a run reached its outcome.",[1255,1263,1266],{"icon":1264,"title":1265},"i-lucide-rotate-ccw","Deterministic recovery",[949,1267,1268],{},"State is rebuilt from events, so a run resumes or retries from a known point instead of restarting blindly.",[1096,1270,1272],{"id":1271},"the-3-state-pattern","The 3-state pattern",[949,1274,1275,1276,1279],{},"Atomic workflows follow one predictable shape. A run enters ",[901,1277,1278],{},"PENDING",", auto-advances to execute its single operation, and lands in exactly one terminal state.",[969,1281,1282,1295],{},[972,1283,1284],{},[975,1285,1286,1289,1292],{},[978,1287,1288],{},"State",[978,1290,1291],{},"Role",[978,1293,1294],{},"Notes",[992,1296,1297,1316,1329],{},[975,1298,1299,1303,1306],{},[997,1300,1301],{},[901,1302,1278],{},[997,1304,1305],{},"Initial",[997,1307,1308,1309,1312,1313],{},"Runs the work through ",[901,1310,1311],{},"auto_advance"," to ",[901,1314,1315],{},"execute",[975,1317,1318,1323,1326],{},[997,1319,1320],{},[901,1321,1322],{},"COMPLETED",[997,1324,1325],{},"Terminal",[997,1327,1328],{},"Success, carries the output",[975,1330,1331,1336,1338],{},[997,1332,1333],{},[901,1334,1335],{},"FAILED",[997,1337,1325],{},[997,1339,1340],{},"Failure, carries a structured reason",[1342,1343],"dag-diagram",{":edges":1344,":nodes":1345},"[{\"from\":\"init\",\"to\":\"PENDING\"},{\"from\":\"PENDING\",\"to\":\"COMPLETED\",\"label\":\"execute succeeds\"},{\"from\":\"PENDING\",\"to\":\"FAILED\",\"label\":\"execute raises\"},{\"from\":\"COMPLETED\",\"to\":\"done\"},{\"from\":\"FAILED\",\"to\":\"done\"}]","[{\"id\":\"init\",\"label\":\"[*]\",\"kind\":\"start\"},{\"id\":\"PENDING\",\"label\":\"PENDING\"},{\"id\":\"COMPLETED\",\"label\":\"COMPLETED\",\"kind\":\"terminal\"},{\"id\":\"FAILED\",\"label\":\"FAILED\",\"kind\":\"failed\"},{\"id\":\"done\",\"label\":\"[*]\",\"kind\":\"terminal\"}]",[949,1347,1348],{},"This uniformity is the point. Because every primitive obeys the same contract, the console, SDKs, and AI assistants treat every capability identically: discover it, start it, watch it to one of two terminal states.",[1096,1350,1352],{"id":1351},"dags-multi-step-workflows","DAGs: multi-step workflows",[949,1354,1355,1356,1359,1360,1363,1364,1367],{},"Real processes are many steps with data threaded between them. A ",[896,1357,1358],{},"DAG workflow"," arranges atomic steps in ",[896,1361,1362],{},"layers",": layers run in order; steps within a layer can run together. Each step still obeys the 3-state contract, so a DAG is a composition of primitives, not a different runtime. Ask ",[901,1365,1366],{},"get_workflow_dag(type)"," for the layer and step structure.",[1342,1369],{":edges":1370,":nodes":1371,"direction":1372},"[{\"from\":\"A\",\"to\":\"B\"},{\"from\":\"A\",\"to\":\"C\"}]","[{\"id\":\"A\",\"label\":\"aws.s3.create_bucket\",\"kind\":\"cloud\"},{\"id\":\"B\",\"label\":\"aws.s3.put_bucket_versioning\",\"kind\":\"cloud\"},{\"id\":\"C\",\"label\":\"aws.s3.put_bucket_policy\",\"kind\":\"cloud\"}]","LR",[949,1374,1375,1376,1379,1380,1383,1384,1387,1388,1391,1392,1395],{},"A DAG step that fails on a ",[1004,1377,1378],{},"fixable"," precondition can park in ",[901,1381,1382],{},"remediation_pending"," instead of compensating. The run's ",[901,1385,1386],{},"state_data.remediation"," envelope names the fix. Apply it, then call ",[901,1389,1390],{},"resolve_workflow(workflow_id, \"remediated\")"," and the engine re-runs only the failed step. Resolve ",[901,1393,1394],{},"\"denied\""," to compensate and fail.",[1096,1397,1399],{"id":1398},"middleware-plugins-and-rbac","Middleware, plugins, and RBAC",[949,1401,1402,1403,1406,1407,1410,1411,1414],{},"Every transition runs through a ",[896,1404,1405],{},"middleware pipeline"," with a ",[896,1408,1409],{},"plugin system",", so validation, authorization, and observability live in one place. ",[896,1412,1413],{},"RBAC is enforced in the engine"," through declared capability metadata. Permissions are checked the same way for every run, whether it started from the console, an SDK, the API, or an assistant over MCP. There is no back door.",[1096,1416,1418],{"id":1417},"concurrency","Concurrency",[949,1420,1421,1422,1425],{},"To keep a single run's transitions serialized, the engine takes a ",[896,1423,1424],{},"per-run lock",". No two workers can advance the same run into conflicting states. Concurrency safety is by construction.",[1096,1427,1429],{"id":1428},"async","Async",[949,1431,1432,1433,1436],{},"Work that takes time never blocks your call. The engine publishes a ",[901,1434,1435],{},"workflow.transition"," message; a dedicated consumer picks it up and advances the run out of band. You start a run and watch it. There is no queue to provision.",[1096,1438,1440],{"id":1439},"retries-recovery-and-stuck-runs","Retries, recovery, and stuck runs",[969,1442,1443,1456],{},[972,1444,1445],{},[975,1446,1447,1450,1453],{},[978,1448,1449],{},"Operation",[978,1451,1452],{},"Tool",[978,1454,1455],{},"Purpose",[992,1457,1458,1470,1486,1502,1521,1534],{},[975,1459,1460,1463,1467],{},[997,1461,1462],{},"Inspect",[997,1464,1465],{},[901,1466,1085],{},[997,1468,1469],{},"Current state of a run",[975,1471,1472,1475,1479],{},[997,1473,1474],{},"Replay",[997,1476,1477],{},[901,1478,1091],{},[997,1480,1481,1482,1485],{},"Full append-only transition log (",[901,1483,1484],{},"include_state_data=True"," for payloads)",[975,1487,1488,1491,1496],{},[997,1489,1490],{},"Recover",[997,1492,1493],{},[901,1494,1495],{},"retry_workflow",[997,1497,1498,1499,1501],{},"Re-advance a ",[901,1500,1335],{}," run from its last good point",[975,1503,1504,1507,1512],{},[997,1505,1506],{},"Unpark",[997,1508,1509],{},[901,1510,1511],{},"resolve_workflow",[997,1513,1514,1515,1518,1519],{},"Answer a remediation gate with ",[901,1516,1517],{},"\"remediated\""," or ",[901,1520,1394],{},[975,1522,1523,1526,1531],{},[997,1524,1525],{},"Triage",[997,1527,1528],{},[901,1529,1530],{},"list_stuck_workflows",[997,1532,1533],{},"Find runs that stalled before reaching a terminal state",[975,1535,1536,1539,1544],{},[997,1537,1538],{},"Abandon",[997,1540,1541],{},[901,1542,1543],{},"force_terminate_workflow",[997,1545,1546],{},"Append a failed terminal state to a confirmed-stale run, with a reason and guards",[949,1548,1549,1550,1553,1554,1556],{},"The MCP prompt template ",[901,1551,1552],{},"diagnose_workflow_run"," walks exactly this sequence for a given ",[901,1555,903],{},".",[885,1558,1560],{"id":1559},"compositions-virtual-workflows","Compositions: virtual workflows",[949,1562,1563,1564,1567,1568,1571,1572,1574,1575,1578,1579,1556],{},"The platform ships thousands of capabilities, but ",[1004,1565,1566],{},"your"," business logic is the ",[896,1569,1570],{},"order"," you run them in and the ",[896,1573,921],{}," you thread between them. ",[896,1576,1577],{},"Compositions"," (virtual workflows) express that by chaining existing workflows, ",[896,1580,1581],{},"with no code",[949,1583,1584,1585,1588,1589,1052,1592,1595,1596,1599],{},"You declare ",[1004,1586,1587],{},"which"," workflows run, ",[1004,1590,1591],{},"in what order",[1004,1593,1594],{},"with which inputs",". The platform validates that against the live catalog and ",[896,1597,1598],{},"compiles it into a regular engine DAG",". From then on a composition runs, is watched, and is retried like any other run.",[1096,1601,1603],{"id":1602},"the-three-building-blocks","The three building blocks",[969,1605,1606,1615],{},[972,1607,1608],{},[975,1609,1610,1613],{},[978,1611,1612],{},"Piece",[978,1614,1291],{},[992,1616,1617,1627,1637],{},[975,1618,1619,1624],{},[997,1620,1621],{},[896,1622,1623],{},"Layer",[997,1625,1626],{},"A stage. Layers run in order; steps within a layer can run together.",[975,1628,1629,1634],{},[997,1630,1631],{},[896,1632,1633],{},"Step",[997,1635,1636],{},"One existing workflow type to invoke, placed in a layer.",[975,1638,1639,1644],{},[997,1640,1641],{},[896,1642,1643],{},"Input mapping",[997,1645,1646],{},"Where each step argument's value comes from.",[1096,1648,1643],{"id":1649},"input-mapping",[949,1651,1652],{},"Every step input is explicit about its source. There is no implicit global scope and no runtime string templating. Three sources:",[1252,1654,1655,1662,1669],{},[1255,1656,1659],{"icon":1657,"title":1658},"i-lucide-log-in","input",[949,1660,1661],{},"The composition's own input.",[1255,1663,1666],{"icon":1664,"title":1665},"i-lucide-arrow-right","step",[949,1667,1668],{},"A prior step's output field.",[1255,1670,1672],{"icon":259,"title":1671},"static",[949,1673,1674],{},"A literal fixed at authoring time.",[949,1676,1677,1678,1681],{},"Because mappings are explicit, the whole composition is ",[896,1679,1680],{},"type-checked before it runs",". Errors are precise (which step, which reason) rather than runtime surprises.",[1096,1683,1685],{"id":1684},"validate-compile-stamp-run","Validate, compile, stamp, run",[949,1687,1688,1689,1692,1693,1556],{},"Authoring is a deterministic pipeline driven by the ",[901,1690,1691],{},"composition.save"," workflow: validate the definition, compile it to a DAG, stamp the compiled cache, and the type becomes runnable as ",[901,1694,1695],{},"virtual.\u003Cuuid>@\u003Cversion>",[1342,1697],{":edges":1698,":nodes":1699,"direction":1372},"[{\"from\":\"I\",\"to\":\"V\"},{\"from\":\"V\",\"to\":\"V2\"},{\"from\":\"V2\",\"to\":\"V3\"},{\"from\":\"V3\",\"to\":\"C\"},{\"from\":\"C\",\"to\":\"S\"},{\"from\":\"S\",\"to\":\"R\"},{\"from\":\"V\",\"to\":\"I\",\"label\":\"errors[]\",\"dashed\":true},{\"from\":\"V2\",\"to\":\"I\",\"label\":\"errors[]\",\"dashed\":true}]","[{\"id\":\"I\",\"label\":\"Definition: layers + steps + mappings\",\"kind\":\"start\"},{\"id\":\"V\",\"label\":\"Validate: structure\",\"kind\":\"engine\"},{\"id\":\"V2\",\"label\":\"Validate: references\",\"kind\":\"engine\"},{\"id\":\"V3\",\"label\":\"Validate: compatibility\",\"kind\":\"engine\"},{\"id\":\"C\",\"label\":\"Compile to DAG\",\"kind\":\"engine\"},{\"id\":\"S\",\"label\":\"Stamp: content_hash + format version\",\"kind\":\"data\"},{\"id\":\"R\",\"label\":\"Run on the engine\",\"kind\":\"engine\"}]",[1701,1702,1703,1709,1715],"ol",{},[893,1704,1705,1708],{},[896,1706,1707],{},"Structure",": layers are acyclic, step names are unique.",[893,1710,1711,1714],{},[896,1712,1713],{},"References",": every referenced type exists in the installed catalog.",[893,1716,1717,1720],{},[896,1718,1719],{},"Compatibility",": every input mapping resolves to a compatible source field and type.",[1722,1723,1725],"h4",{"id":1724},"authoring-shape","Authoring shape",[949,1727,1728,1729,1732,1733,1736,1737,1052,1739,1141,1741,1743],{},"You author the ",[896,1730,1731],{},"definition",". Each step points at a real workflow type and declares an ",[901,1734,1735],{},"input_mapping"," from each parameter to its source (",[901,1738,1658],{},[901,1740,1665],{},[901,1742,1671],{},"):",[1171,1745,1749],{"className":1746,"code":1747,"language":1748,"meta":1178,"style":1178},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"name\": \"vw_demo\",\n  \"version\": \"1.0\",\n  \"layers\": [\n    { \"name\": \"layer_1\", \"steps\": [\n        { \"name\": \"s1\", \"workflow_type\": \"aws.s3.create_bucket\",\n          \"input_mapping\": { \"bucket\": { \"source\": \"input\", \"field\": \"bucket_name\" } } }\n    ] },\n    { \"name\": \"layer_2\", \"steps\": [\n        { \"name\": \"s2\", \"workflow_type\": \"aws.s3.put_bucket_tagging\",\n          \"input_mapping\": {\n            \"bucket\":  { \"source\": \"step\",   \"step\": \"s1\", \"field\": \"bucket_name\" },\n            \"tagging\": { \"source\": \"static\", \"value\": { \"TagSet\": [{ \"Key\": \"env\", \"Value\": \"demo\" }] } }\n          } }\n    ] }\n  ]\n}\n","json",[901,1750,1751,1760,1788,1809,1823,1859,1900,1969,1978,2010,2049,2063,2127,2223,2231,2238,2244],{"__ignoreMap":1178},[1752,1753,1756],"span",{"class":1754,"line":1755},"line",1,[1752,1757,1759],{"class":1758},"sMK4o","{\n",[1752,1761,1763,1766,1770,1773,1776,1779,1783,1785],{"class":1754,"line":1762},2,[1752,1764,1765],{"class":1758},"  \"",[1752,1767,1769],{"class":1768},"spNyl","name",[1752,1771,1772],{"class":1758},"\"",[1752,1774,1775],{"class":1758},":",[1752,1777,1778],{"class":1758}," \"",[1752,1780,1782],{"class":1781},"sfazB","vw_demo",[1752,1784,1772],{"class":1758},[1752,1786,1787],{"class":1758},",\n",[1752,1789,1791,1793,1796,1798,1800,1802,1805,1807],{"class":1754,"line":1790},3,[1752,1792,1765],{"class":1758},[1752,1794,1795],{"class":1768},"version",[1752,1797,1772],{"class":1758},[1752,1799,1775],{"class":1758},[1752,1801,1778],{"class":1758},[1752,1803,1804],{"class":1781},"1.0",[1752,1806,1772],{"class":1758},[1752,1808,1787],{"class":1758},[1752,1810,1812,1814,1816,1818,1820],{"class":1754,"line":1811},4,[1752,1813,1765],{"class":1758},[1752,1815,1362],{"class":1768},[1752,1817,1772],{"class":1758},[1752,1819,1775],{"class":1758},[1752,1821,1822],{"class":1758}," [\n",[1752,1824,1826,1829,1831,1834,1836,1838,1840,1843,1845,1848,1850,1853,1855,1857],{"class":1754,"line":1825},5,[1752,1827,1828],{"class":1758},"    {",[1752,1830,1778],{"class":1758},[1752,1832,1769],{"class":1833},"sBMFI",[1752,1835,1772],{"class":1758},[1752,1837,1775],{"class":1758},[1752,1839,1778],{"class":1758},[1752,1841,1842],{"class":1781},"layer_1",[1752,1844,1772],{"class":1758},[1752,1846,1847],{"class":1758},",",[1752,1849,1778],{"class":1758},[1752,1851,1852],{"class":1833},"steps",[1752,1854,1772],{"class":1758},[1752,1856,1775],{"class":1758},[1752,1858,1822],{"class":1758},[1752,1860,1862,1865,1867,1870,1872,1874,1876,1879,1881,1883,1885,1888,1890,1892,1894,1896,1898],{"class":1754,"line":1861},6,[1752,1863,1864],{"class":1758},"        {",[1752,1866,1778],{"class":1758},[1752,1868,1769],{"class":1869},"sbssI",[1752,1871,1772],{"class":1758},[1752,1873,1775],{"class":1758},[1752,1875,1778],{"class":1758},[1752,1877,1878],{"class":1781},"s1",[1752,1880,1772],{"class":1758},[1752,1882,1847],{"class":1758},[1752,1884,1778],{"class":1758},[1752,1886,1887],{"class":1869},"workflow_type",[1752,1889,1772],{"class":1758},[1752,1891,1775],{"class":1758},[1752,1893,1778],{"class":1758},[1752,1895,1024],{"class":1781},[1752,1897,1772],{"class":1758},[1752,1899,1787],{"class":1758},[1752,1901,1903,1906,1908,1910,1912,1915,1917,1921,1923,1925,1927,1929,1933,1935,1937,1939,1941,1943,1945,1947,1950,1952,1954,1956,1959,1961,1964,1966],{"class":1754,"line":1902},7,[1752,1904,1905],{"class":1758},"          \"",[1752,1907,1735],{"class":1869},[1752,1909,1772],{"class":1758},[1752,1911,1775],{"class":1758},[1752,1913,1914],{"class":1758}," {",[1752,1916,1778],{"class":1758},[1752,1918,1920],{"class":1919},"swJcz","bucket",[1752,1922,1772],{"class":1758},[1752,1924,1775],{"class":1758},[1752,1926,1914],{"class":1758},[1752,1928,1778],{"class":1758},[1752,1930,1932],{"class":1931},"su27w","source",[1752,1934,1772],{"class":1758},[1752,1936,1775],{"class":1758},[1752,1938,1778],{"class":1758},[1752,1940,1658],{"class":1781},[1752,1942,1772],{"class":1758},[1752,1944,1847],{"class":1758},[1752,1946,1778],{"class":1758},[1752,1948,1949],{"class":1931},"field",[1752,1951,1772],{"class":1758},[1752,1953,1775],{"class":1758},[1752,1955,1778],{"class":1758},[1752,1957,1958],{"class":1781},"bucket_name",[1752,1960,1772],{"class":1758},[1752,1962,1963],{"class":1758}," }",[1752,1965,1963],{"class":1758},[1752,1967,1968],{"class":1758}," }\n",[1752,1970,1972,1975],{"class":1754,"line":1971},8,[1752,1973,1974],{"class":1758},"    ]",[1752,1976,1977],{"class":1758}," },\n",[1752,1979,1981,1983,1985,1987,1989,1991,1993,1996,1998,2000,2002,2004,2006,2008],{"class":1754,"line":1980},9,[1752,1982,1828],{"class":1758},[1752,1984,1778],{"class":1758},[1752,1986,1769],{"class":1833},[1752,1988,1772],{"class":1758},[1752,1990,1775],{"class":1758},[1752,1992,1778],{"class":1758},[1752,1994,1995],{"class":1781},"layer_2",[1752,1997,1772],{"class":1758},[1752,1999,1847],{"class":1758},[1752,2001,1778],{"class":1758},[1752,2003,1852],{"class":1833},[1752,2005,1772],{"class":1758},[1752,2007,1775],{"class":1758},[1752,2009,1822],{"class":1758},[1752,2011,2013,2015,2017,2019,2021,2023,2025,2028,2030,2032,2034,2036,2038,2040,2042,2045,2047],{"class":1754,"line":2012},10,[1752,2014,1864],{"class":1758},[1752,2016,1778],{"class":1758},[1752,2018,1769],{"class":1869},[1752,2020,1772],{"class":1758},[1752,2022,1775],{"class":1758},[1752,2024,1778],{"class":1758},[1752,2026,2027],{"class":1781},"s2",[1752,2029,1772],{"class":1758},[1752,2031,1847],{"class":1758},[1752,2033,1778],{"class":1758},[1752,2035,1887],{"class":1869},[1752,2037,1772],{"class":1758},[1752,2039,1775],{"class":1758},[1752,2041,1778],{"class":1758},[1752,2043,2044],{"class":1781},"aws.s3.put_bucket_tagging",[1752,2046,1772],{"class":1758},[1752,2048,1787],{"class":1758},[1752,2050,2052,2054,2056,2058,2060],{"class":1754,"line":2051},11,[1752,2053,1905],{"class":1758},[1752,2055,1735],{"class":1869},[1752,2057,1772],{"class":1758},[1752,2059,1775],{"class":1758},[1752,2061,2062],{"class":1758}," {\n",[1752,2064,2066,2069,2071,2073,2075,2078,2080,2082,2084,2086,2088,2090,2092,2094,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125],{"class":1754,"line":2065},12,[1752,2067,2068],{"class":1758},"            \"",[1752,2070,1920],{"class":1919},[1752,2072,1772],{"class":1758},[1752,2074,1775],{"class":1758},[1752,2076,2077],{"class":1758},"  {",[1752,2079,1778],{"class":1758},[1752,2081,1932],{"class":1931},[1752,2083,1772],{"class":1758},[1752,2085,1775],{"class":1758},[1752,2087,1778],{"class":1758},[1752,2089,1665],{"class":1781},[1752,2091,1772],{"class":1758},[1752,2093,1847],{"class":1758},[1752,2095,2096],{"class":1758},"   \"",[1752,2098,1665],{"class":1931},[1752,2100,1772],{"class":1758},[1752,2102,1775],{"class":1758},[1752,2104,1778],{"class":1758},[1752,2106,1878],{"class":1781},[1752,2108,1772],{"class":1758},[1752,2110,1847],{"class":1758},[1752,2112,1778],{"class":1758},[1752,2114,1949],{"class":1931},[1752,2116,1772],{"class":1758},[1752,2118,1775],{"class":1758},[1752,2120,1778],{"class":1758},[1752,2122,1958],{"class":1781},[1752,2124,1772],{"class":1758},[1752,2126,1977],{"class":1758},[1752,2128,2130,2132,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2162,2164,2166,2168,2170,2174,2176,2178,2181,2183,2187,2189,2191,2193,2196,2198,2200,2202,2205,2207,2209,2211,2214,2216,2219,2221],{"class":1754,"line":2129},13,[1752,2131,2068],{"class":1758},[1752,2133,2134],{"class":1919},"tagging",[1752,2136,1772],{"class":1758},[1752,2138,1775],{"class":1758},[1752,2140,1914],{"class":1758},[1752,2142,1778],{"class":1758},[1752,2144,1932],{"class":1931},[1752,2146,1772],{"class":1758},[1752,2148,1775],{"class":1758},[1752,2150,1778],{"class":1758},[1752,2152,1671],{"class":1781},[1752,2154,1772],{"class":1758},[1752,2156,1847],{"class":1758},[1752,2158,1778],{"class":1758},[1752,2160,2161],{"class":1931},"value",[1752,2163,1772],{"class":1758},[1752,2165,1775],{"class":1758},[1752,2167,1914],{"class":1758},[1752,2169,1778],{"class":1758},[1752,2171,2173],{"class":2172},"s2Zo4","TagSet",[1752,2175,1772],{"class":1758},[1752,2177,1775],{"class":1758},[1752,2179,2180],{"class":1758}," [{",[1752,2182,1778],{"class":1758},[1752,2184,2186],{"class":2185},"sfNiH","Key",[1752,2188,1772],{"class":1758},[1752,2190,1775],{"class":1758},[1752,2192,1778],{"class":1758},[1752,2194,2195],{"class":1781},"env",[1752,2197,1772],{"class":1758},[1752,2199,1847],{"class":1758},[1752,2201,1778],{"class":1758},[1752,2203,2204],{"class":2185},"Value",[1752,2206,1772],{"class":1758},[1752,2208,1775],{"class":1758},[1752,2210,1778],{"class":1758},[1752,2212,2213],{"class":1781},"demo",[1752,2215,1772],{"class":1758},[1752,2217,2218],{"class":1758}," }]",[1752,2220,1963],{"class":1758},[1752,2222,1968],{"class":1758},[1752,2224,2226,2229],{"class":1754,"line":2225},14,[1752,2227,2228],{"class":1758},"          }",[1752,2230,1968],{"class":1758},[1752,2232,2234,2236],{"class":1754,"line":2233},15,[1752,2235,1974],{"class":1758},[1752,2237,1968],{"class":1758},[1752,2239,2241],{"class":1754,"line":2240},16,[1752,2242,2243],{"class":1758},"  ]\n",[1752,2245,2247],{"class":1754,"line":2246},17,[1752,2248,2249],{"class":1758},"}\n",[949,2251,2252,2253,2255,2256,2258,2259,2261,2262,2265,2266,2269,2270,2273,2274,1150,2277,2280],{},"The compiled form is a server-owned cache: the per-step ",[901,2254,1735],{}," becomes ",[901,2257,1658],{},", a ",[901,2260,1665],{}," source becomes ",[901,2263,2264],{},"state_data",", the workflow is marked ",[901,2267,2268],{},"type: \"dag\"",", and a ",[901,2271,2272],{},"metadata"," block with ",[901,2275,2276],{},"content_hash",[901,2278,2279],{},"compiled_format_version"," is stamped on. The definition stays the durable source of truth; the engine can always recompile from it.",[949,2282,2283],{},"Validation returns two lists of plain strings, precise enough to feed straight back into an authoring loop:",[1171,2285,2287],{"className":1746,"code":2286,"language":1748,"meta":1178,"style":1178},"{\n  \"errors\": [\n    \"step 's2': unknown workflow type 'aws.s3.put_bucket_taging'; did you mean 'aws.s3.put_bucket_tagging'?\"\n  ],\n  \"warnings\": []\n}\n",[901,2288,2289,2293,2306,2317,2322,2336],{"__ignoreMap":1178},[1752,2290,2291],{"class":1754,"line":1755},[1752,2292,1759],{"class":1758},[1752,2294,2295,2297,2300,2302,2304],{"class":1754,"line":1762},[1752,2296,1765],{"class":1758},[1752,2298,2299],{"class":1768},"errors",[1752,2301,1772],{"class":1758},[1752,2303,1775],{"class":1758},[1752,2305,1822],{"class":1758},[1752,2307,2308,2311,2314],{"class":1754,"line":1790},[1752,2309,2310],{"class":1758},"    \"",[1752,2312,2313],{"class":1781},"step 's2': unknown workflow type 'aws.s3.put_bucket_taging'; did you mean 'aws.s3.put_bucket_tagging'?",[1752,2315,2316],{"class":1758},"\"\n",[1752,2318,2319],{"class":1754,"line":1811},[1752,2320,2321],{"class":1758},"  ],\n",[1752,2323,2324,2326,2329,2331,2333],{"class":1754,"line":1825},[1752,2325,1765],{"class":1758},[1752,2327,2328],{"class":1768},"warnings",[1752,2330,1772],{"class":1758},[1752,2332,1775],{"class":1758},[1752,2334,2335],{"class":1758}," []\n",[1752,2337,2338],{"class":1754,"line":1861},[1752,2339,2249],{"class":1758},[2341,2342,2343],"warning",{},[949,2344,2345,2346,2349,2350,2353],{},"The compilation substrate is ",[896,2347,2348],{},"alpha",". The stable contract is the ",[896,2351,2352],{},"wire JSON",", not the internal builder API. The catalog is read at compile time: if author and runtime environments differ, a composition can compile cleanly yet fail at dispatch with an \"unknown workflow type\". Pin library versions across both.",[1096,2355,2357],{"id":2356},"why-this-is-how-apps-express-logic","Why this is how apps express logic",[949,2359,2360,2361,2364,2365,2367],{},"A composition is just another workflow type, which means it can be ",[896,2362,2363],{},"exposed to your app's end-users"," through ",[953,2366,419],{"href":420},". A signed-in user invokes it; Orkestia runs it scoped to that user. Your app's business logic lives on the platform with no backend of your own and no database credentials in your code.",[885,2369,2371],{"id":2370},"ask-your-ai-assistant","Ask your AI assistant",[1171,2373,2377],{"className":2374,"code":2375,"filename":2376,"language":1177,"meta":1178},[1174],"List the workflow types under \"aws.s3.\" with their workflow_kind, and tell me which ones are featured entry points.\n\nShow me the DAG structure of \u003Cdag_workflow_type> as layers and steps.\n\nRead concept://dag, then design a composition that creates a bucket, enables versioning, and applies a tag. Validate it but do not save it.\n\nWorkflow \u003Cworkflow_id> failed. Read its history with state data and tell me the failing step and the reason.\n","prompts",[901,2378,2375],{"__ignoreMap":1178},[885,2380,2382],{"id":2381},"for-ai-agents","For AI agents",[969,2384,2385,2395],{},[972,2386,2387],{},[975,2388,2389,2392],{},[978,2390,2391],{},"Rule",[978,2393,2394],{},"Detail",[992,2396,2397,2417,2432,2458,2477,2503],{},[975,2398,2399,2402],{},[997,2400,2401],{},"Confirm the type",[997,2403,2404,2405,2407,2408,1518,2411,2414,2415,1556],{},"Never assume a type exists. Use ",[901,2406,1071],{}," (with ",[901,2409,2410],{},"prefix",[901,2412,2413],{},"q",") or ",[901,2416,1074],{},[975,2418,2419,2422],{},[997,2420,2421],{},"Prefer featured",[997,2423,2424,2426,2427,1150,2429,2431],{},[901,2425,1055],{}," rows are human-runnable entry points. Ignore ",[901,2428,1149],{},[901,2430,1153],{}," sub-steps.",[975,2433,2434,2437],{},[997,2435,2436],{},"Reads are safe",[997,2438,2439,2441,2442,1052,2445,1052,2448,1052,2451,1052,2454,2457],{},[901,2440,921],{}," kinds and names containing ",[901,2443,2444],{},"list",[901,2446,2447],{},"get",[901,2449,2450],{},"query",[901,2452,2453],{},"describe",[901,2455,2456],{},"status"," can be started directly. Confirm creates and mutations.",[975,2459,2460,2463],{},[997,2461,2462],{},"Prerequisites first",[997,2464,2465,2466,2469,2470,2473,2474,1556],{},"If ",[901,2467,2468],{},"has_prerequisites"," is true, call ",[901,2471,2472],{},"get_workflow_prerequisites(type, variant)"," before ",[901,2475,2476],{},"start_workflow",[975,2478,2479,2482],{},[997,2480,2481],{},"Virtual types are per org",[997,2483,2484,2485,2487,2488,2491,2492,2494,2495,2498,2499,2502],{},"Saved compositions run as ",[901,2486,1695],{}," and do ",[896,2489,2490],{},"not"," appear in ",[901,2493,1071],{},". An empty ",[901,2496,2497],{},"prefix=\"virtual.\""," browse does not mean the user has none. Use ",[901,2500,2501],{},"audit.workflow-run.query"," to see what ran.",[975,2504,2505,2508],{},[997,2506,2507],{},"Report properly",[997,2509,2510,2511,1556],{},"Workflow type, workflow ID, final state, and the output fields that matter. See ",[901,2512,2513],{},"knowledge://mcp/execution",[885,2515,2517],{"id":2516},"where-this-fits","Where this fits",[1252,2519,2520,2525,2530,2535],{},[1255,2521,2522],{"icon":11,"title":851,"to":59},[949,2523,2524],{},"AI reasoning that designs workflows and compiles them into compositions.",[1255,2526,2527],{"icon":136,"title":694,"to":73},[949,2528,2529],{},"Where steps actually execute, in your own cloud accounts.",[1255,2531,2532],{"icon":80,"title":437,"to":78},[949,2533,2534],{},"Observability over every run's history.",[1255,2536,2538],{"icon":85,"title":2537,"to":83},"Identity & multi-tenancy",[949,2539,2540],{},"How runs are scoped per organization and per end-user.",[885,2542,2544],{"id":2543},"next","Next",[890,2546,2547,2553,2558,2567],{},[893,2548,2549,2550,1556],{},"Build a composition step by step: ",[953,2551,2552],{"href":129},"Virtual workflows guide",[893,2554,2555,2556,1556],{},"Let AI design one: ",[953,2557,123],{"href":124},[893,2559,2560,2561,1150,2564,1556],{},"Drive capabilities from an assistant: ",[953,2562,2563],{"href":42},"Connect an AI assistant",[953,2565,2566],{"href":170},"MCP integration",[893,2568,2569,2570,2573,2574,1556],{},"The complete catalog: ",[953,2571,1192],{"href":1189,"rel":2572},[1191]," and the ",[953,2575,2576],{"href":165},"workflow types registry",[2578,2579,2580],"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 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}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);}",{"title":1178,"searchDepth":1755,"depth":1762,"links":2582},[2583,2584,2589,2597,2603,2604,2605,2606],{"id":887,"depth":1762,"text":888},{"id":966,"depth":1762,"text":967,"children":2585},[2586,2587],{"id":1098,"depth":1790,"text":1099},{"id":1199,"depth":1790,"text":2588},"Runs: executions with a workflow_id",{"id":1238,"depth":1762,"text":1239,"children":2590},[2591,2592,2593,2594,2595,2596],{"id":1271,"depth":1790,"text":1272},{"id":1351,"depth":1790,"text":1352},{"id":1398,"depth":1790,"text":1399},{"id":1417,"depth":1790,"text":1418},{"id":1428,"depth":1790,"text":1429},{"id":1439,"depth":1790,"text":1440},{"id":1559,"depth":1762,"text":1560,"children":2598},[2599,2600,2601,2602],{"id":1602,"depth":1790,"text":1603},{"id":1649,"depth":1790,"text":1643},{"id":1684,"depth":1790,"text":1685},{"id":2356,"depth":1790,"text":2357},{"id":2370,"depth":1762,"text":2371},{"id":2381,"depth":1762,"text":2382},{"id":2516,"depth":1762,"text":2517},{"id":2543,"depth":1762,"text":2544},"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","md",null,{},{"icon":56},{"title":53,"description":2607},"WAU6qzO8hMqZD1zoweKm-VDAtHwqsOylAFhdzPwO8S4",[2615,2617],{"title":46,"path":47,"stem":48,"description":2616,"icon":51,"children":-1},"The mental model behind Orkestia, workflows, MCP, DGI, Staff, agents, Agent Exchange, runners, Lumen, identity, billing, App Data, App Host, Engram, and DevKit, with a reading order and a map from each concept to its MCP namespaces and tools",{"title":58,"path":59,"stem":60,"description":2618,"icon":61,"children":-1},"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",1790354035157]