# Ironflow > Ironflow is a durable runtime for AI agents and event-driven systems. It resumes completed work after crashes, waits safely for external input, and derives state from events, all in one binary. AI coding assistants: start with https://ironflow.run/start.md Each link below is one docs page as Markdown. Fetch only the pages you need. All pages in one file (large): https://docs.ironflow.run/llms-full.txt ## Tutorials - [Survive a Crash](https://docs.ironflow.run/tutorials/agent-survives-crash.md): Kill an agent mid-run with kill -9 and watch it pick up exactly where it left off - [Build with AI Assistants](https://docs.ironflow.run/tutorials/ai-quickstart.md): Use an AI coding assistant to build a Continuous History system in minutes - [CQRS + Event Sourcing](https://docs.ironflow.run/tutorials/cqrs-walkthrough.md): End-to-end CQRS + Event Sourcing with Ironflow — commands, aggregates, events, projections, and queries using a real order example - [Ironflow Desktop](https://docs.ironflow.run/tutorials/desktop.md): Run Ironflow from a desktop app — bundled engine, no install, no CLI - [Getting Started](https://docs.ironflow.run/tutorials/getting-started.md): Emit events, build a projection, and time-travel through your system — in five minutes - [Installation](https://docs.ironflow.run/tutorials/installation.md): Install Ironflow packages and Docker images - [Platform Management](https://docs.ironflow.run/tutorials/platform-management.md): Bootstrap a platform admin, create tokens, impersonate tenants, and inspect history - [Build a zero-Docker RAG pipeline](https://docs.ironflow.run/tutorials/rag-core.md): Part 1 of the RAG series — ingest, chunk, embed, store and answer, with the vector index built as a projection of immutable chunk events - [RAG on Ironflow — the series](https://docs.ironflow.run/tutorials/rag-series.md): A series of small, independent example apps that each teach one slice of a production RAG system on Ironflow - [Resolve a Reconciliation Exception](https://docs.ironflow.run/tutorials/reconciliation-exception-resolution.md): Match most of a bank statement by rule, escalate the rest, and let a model, a human, and a counterparty resolve the residue together ## How-to Guides - [Expose an agent over A2A](https://docs.ironflow.run/how-to-guides/ai-a2a-adapter.md): Let agents in other systems send tasks to an Ironflow agent through the Agent2Agent (A2A) protocol. - [Ironflow Agent for Zed and JetBrains](https://docs.ironflow.run/how-to-guides/ai-acp-agent.md): Add the Ironflow coding agent to an ACP editor, log in with your own model key, and control what it can do - [Run the Ironflow Agent Against a Team Server](https://docs.ironflow.run/how-to-guides/ai-acp-agent-server.md): Server setup, keys, data flow, rollout and troubleshooting for teams that use @ironflow/agent with a shared Ironflow server - [Agent Template](https://docs.ironflow.run/how-to-guides/ai-agent-template.md): The agent.md template for AI-assisted Ironflow development - [CLI vs MCP Coverage](https://docs.ironflow.run/how-to-guides/ai-cli-vs-mcp.md): Complete comparison of Ironflow CLI and MCP server capabilities for AI-assisted development - [MCP Server](https://docs.ironflow.run/how-to-guides/ai-mcp-server.md): Use Ironflow from AI assistants like Claude Code, Cursor, and Windsurf - [Remote MCP](https://docs.ironflow.run/how-to-guides/ai-remote-mcp.md): Let a hosted AI agent use an Ironflow engine over MCP with its own API key - [AI Skills](https://docs.ironflow.run/how-to-guides/ai-skills.md): Install Ironflow skills to make AI agents expert at writing, debugging, and operating Ironflow - [Audit Log](https://docs.ironflow.run/how-to-guides/audit-logging.md): Inspect recorded execution, security, and administrative events - [Scoped Injection](https://docs.ironflow.run/how-to-guides/debugging/scoped-injection.md): History editing — pause running workflows, inspect and modify step outputs, then resume - [Time-Travel Debugging](https://docs.ironflow.run/how-to-guides/debugging/time-travel.md): Inspect workflow run state at any point in time using the dashboard, TUI, or SDK - [Run Ironflow Alongside Your App](https://docs.ironflow.run/how-to-guides/deployment/alongside-your-app.md): Run the Ironflow binary as a companion process next to your own service on the same host, and connect to it from Go, TypeScript, Python, or raw HTTP. - [Docker Compose](https://docs.ironflow.run/how-to-guides/deployment/docker-compose.md): Run Ironflow with Docker Compose — a single node, or a Starter, Cluster or HA stack with PostgreSQL, NATS and S3 - [Deployment Overview](https://docs.ironflow.run/how-to-guides/deployment/overview.md): Choose where to run Ironflow. Self-hosted Ironflow is the engine container plus the Docker Compose files, on one machine or next to your app. - [Recover a Stuck JetStream Stream](https://docs.ironflow.run/how-to-guides/deployment/recover-a-stuck-stream.md): What to do when /ready or the JetStreamStreamFault alert reports a stream fault: how to read the fault, what still works, what answers 503, and the last-resort stream delete. - [Workflow Testing](https://docs.ironflow.run/how-to-guides/development/testing-workflows.md): In-memory test client for unit testing Ironflow functions without a running server - [Entity Streams](https://docs.ironflow.run/how-to-guides/event-sourcing/entity-streams.md): Append events to entities, read stream history, and use optimistic concurrency - [Projections](https://docs.ironflow.run/how-to-guides/event-sourcing/projections.md): Build read-optimized views from event streams with managed and external projections - [Event Versioning](https://docs.ironflow.run/how-to-guides/event-sourcing/versioning.md): Schema evolution with version numbers and upcaster functions - [Exporting Customer Data](https://docs.ironflow.run/how-to-guides/exporting-data.md): Stream a verifiable NDJSON snapshot of your organization's audit trail and tenancy state - [Use Ironflow from any language](https://docs.ironflow.run/how-to-guides/integration/other-languages.md): Generate a client from the OpenAPI spec and run functions in a language with no Ironflow SDK - [Observability](https://docs.ironflow.run/how-to-guides/observability.md): OpenTelemetry tracing and Prometheus metrics for production monitoring - [Impersonating Tenants](https://docs.ironflow.run/how-to-guides/platform/impersonation.md): Cross-tenant operations via header-based impersonation with audit tracking - [Platform RBAC](https://docs.ironflow.run/how-to-guides/platform/platform-rbac.md): Built-in roles, custom roles, and action-based access control for platform operations - [Managing Platform Users & Keys](https://docs.ironflow.run/how-to-guides/platform/users-and-keys.md): Create, update, and manage platform users and API keys - [Author a policy set](https://docs.ironflow.run/how-to-guides/policies/author-policy-set.md): Pull, edit, test, dry-run and push the Rego policy set of your organization, and manage its versions - [Debug a surprising deny](https://docs.ironflow.run/how-to-guides/policies/debug-deny.md): Find which rule of a Rego policy set denied a request, with audit reasons, the policy set version, dry-run with explain and trace, and the error classes - [Recover from a lockout](https://docs.ironflow.run/how-to-guides/policies/emergency-bypass.md): Recover when a Rego policy set blocks the admins who must fix it, with the CLI preflight bypass, the platform force-monitor break-glass and the last-resort enforcement switch - [Limit an agent key to specific functions](https://docs.ironflow.run/how-to-guides/policies/limit-agent-key-to-functions.md): Create an API key for an agent and use a Rego policy set so the key can invoke only the functions you name - [Port an existing Rego policy](https://docs.ironflow.run/how-to-guides/policies/port-existing-policy.md): Load a Rego policy that you wrote for Envoy, Kafka or your own API into an Ironflow policy set, with one adapter file when the input shape differs - [Restrict who can emit an event](https://docs.ironflow.run/how-to-guides/policies/restrict-event-emitters.md): Use a Rego policy set to let only some callers emit an event name, and to limit a webhook source to its own event names - [Roll out a policy set with monitor mode](https://docs.ironflow.run/how-to-guides/policies/roll-out-with-monitor-mode.md): Run a new policy set in monitor mode, read the would-deny audit rows and the metric, switch to enforce, and switch back - [Run an Envoy ext_authz policy](https://docs.ironflow.run/how-to-guides/policies/run-envoy-policy.md): Run a Rego policy written for Envoy or Istio ext_authz as the decision rule of your policy set, and adapt a policy that reads the Authorization header - [Test policies on your machine with opa test](https://docs.ironflow.run/how-to-guides/policies/test-policies-locally.md): Use ironflow policy pull to get the IRN library and the input schema, then run stock opa test and editor checks before you push - [Upgrade from CEL policies to a Rego policy set](https://docs.ironflow.run/how-to-guides/policies/upgrade-from-cel.md): Move stored CEL deny policies to a Rego policy set before you upgrade, with the migration error, the SQL to list your rows, the order of steps and a CEL to Rego example for each common pattern - [Manual Acknowledgment](https://docs.ironflow.run/how-to-guides/pubsub/acknowledgment.md): At-least-once delivery with ack, nak, and term - [Best Practices](https://docs.ironflow.run/how-to-guides/pubsub/best-practices.md): Subscription lifecycle, error handling, and performance tips - [Consumer Groups](https://docs.ironflow.run/how-to-guides/pubsub/consumer-groups.md): Load-balanced event delivery and durable subscriptions - [Event Types](https://docs.ironflow.run/how-to-guides/pubsub/events.md): System events, user events, topics, and entity streams - [CEL Filtering](https://docs.ironflow.run/how-to-guides/pubsub/filtering.md): Content-based filtering with CEL expressions - [Quick Script](https://docs.ironflow.run/how-to-guides/pubsub/quick-script.md): A 60-second script to verify your Pub/Sub connection - [Subscriptions](https://docs.ironflow.run/how-to-guides/pubsub/subscriptions.md): Wildcard patterns, subscription lifecycle, and resource limits - [Topics](https://docs.ironflow.run/how-to-guides/pubsub/topics.md): Publish and subscribe to custom messaging topics - [API Keys](https://docs.ironflow.run/how-to-guides/security/api-keys.md): Unified API key model, key formats, creation, rotation, environment scoping, and authentication - [Custom Roles & Policy Sets](https://docs.ironflow.run/how-to-guides/security/custom-roles.md): Authorization with custom roles, actions, resource names and the Rego policy set that denies on top of RBAC - [Dashboard Authentication](https://docs.ironflow.run/how-to-guides/security/dashboard-auth.md): Email/password login, JWT cookies, and default credentials - [Artifact overflow to blob storage (SeaweedFS / S3)](https://docs.ironflow.run/how-to-guides/storage/blob-overflow.md): Offload large step and run outputs to a SeaweedFS or S3-compatible backend, transparently to your functions. - [Config Management](https://docs.ironflow.run/how-to-guides/storage/config-management.md): Environment-scoped config management backed by KV Store - [Config Patterns](https://docs.ironflow.run/how-to-guides/storage/config-patterns.md): Common config management patterns and recipes - [Files](https://docs.ironflow.run/how-to-guides/storage/files.md): Store, serve, move and watch files with buckets, signed URLs and events - [Buckets](https://docs.ironflow.run/how-to-guides/storage/kv-buckets.md): Create and manage KV buckets - [Key Operations](https://docs.ironflow.run/how-to-guides/storage/kv-keys.md): CRUD, atomic operations, and real-time watching - [Patterns](https://docs.ironflow.run/how-to-guides/storage/kv-patterns.md): Common KV store usage patterns and recipes - [Secrets Management](https://docs.ironflow.run/how-to-guides/storage/secrets.md): Encrypted, environment-scoped secrets management backed by NATS KV - [Secrets Patterns](https://docs.ironflow.run/how-to-guides/storage/secrets-patterns.md): Common secrets management patterns, security best practices, and recipes - [Webhook Ingestion](https://docs.ironflow.run/how-to-guides/webhooks/setup.md): Receive, validate, deduplicate, and transform external webhooks into Ironflow events - [Use Cases](https://docs.ironflow.run/how-to-guides/webhooks/use-cases.md): SDK webhook integration patterns for Stripe, GitHub, and Twilio - [Cancel On Event](https://docs.ironflow.run/how-to-guides/workflows/cancel-on-event.md): Auto-cancel a running workflow when a matching event arrives, declared at function config time - [Circuit Breakers](https://docs.ironflow.run/how-to-guides/workflows/circuit-breakers.md): How circuit breakers protect push endpoints from cascading failures - [Debounce](https://docs.ironflow.run/how-to-guides/workflows/debounce.md): Collapse rapid-fire events into a single function invocation after a quiet period - [Debugging](https://docs.ironflow.run/how-to-guides/workflows/debugging.md): History correction, history navigation, TUI debugger, VS Code DAP, and the request inspector - [Defining Functions](https://docs.ironflow.run/how-to-guides/workflows/defining-functions.md): Learn how to define functions with triggers and configuration - [Error Handling](https://docs.ironflow.run/how-to-guides/workflows/error-handling.md): Learn about error handling, retries, and webhook signature verification - [Execution Modes](https://docs.ironflow.run/how-to-guides/workflows/execution-modes.md): Learn about push mode and pull mode execution in Ironflow - [Function Registration History](https://docs.ironflow.run/how-to-guides/workflows/function-registration-history.md): How Ironflow records every function update, status change, rollback and deletion as an immutable entity event, and how to read that audit trail. - [Sagas & Compensation](https://docs.ironflow.run/how-to-guides/workflows/sagas.md): Automatically undo completed steps when a downstream step fails using orchestration-based sagas - [Step Primitives](https://docs.ironflow.run/how-to-guides/workflows/steps.md): Learn about workflow step primitives - run, sleep, waitForEvent, parallel, and map - [Throttle](https://docs.ironflow.run/how-to-guides/workflows/throttle.md): Cap how many new runs of a function start per period, and let the rest wait their turn - [YAML Configuration](https://docs.ironflow.run/how-to-guides/yaml-configuration.md): How to configure an Ironflow server with a declarative YAML file instead of CLI flags and environment variables. ## Reference - [SDKs & APIs Overview](https://docs.ironflow.run/reference.md): Find the SDK, API, or protocol reference for your language and task - [API Reference](https://docs.ironflow.run/reference/api.md): Ironflow API documentation overview - [Go SDK](https://docs.ironflow.run/reference/api/go-sdk.md): Go SDK reference for Ironflow - [Push Conformance](https://docs.ironflow.run/reference/api/push-conformance.md): Check a push-mode handler in any language against the push protocol - [Push Protocol](https://docs.ironflow.run/reference/api/push-protocol.md): The wire contract between the Ironflow engine and a push-mode function endpoint - [Python SDK](https://docs.ironflow.run/reference/api/python-sdk.md): Python SDK reference for Ironflow - [REST API](https://docs.ironflow.run/reference/api/rest-api.md): HTTP REST API endpoints - [Benchmarks](https://docs.ironflow.run/reference/benchmarks.md): Run and interpret Ironflow performance benchmarks - [CLI Reference](https://docs.ironflow.run/reference/cli.md): Complete reference for all ironflow CLI commands, flags, and environment variables - [ironflow a2a](https://docs.ironflow.run/reference/cli/commands/a2a.md): Expose agents to remote agents over the Agent2Agent (A2A) protocol. - [ironflow apikey](https://docs.ironflow.run/reference/cli/commands/apikey.md): Manage API keys for authentication. - [ironflow audit](https://docs.ironflow.run/reference/cli/commands/audit.md): View and query history inspection (audit trail) records for workflow runs and auth decisions. - [ironflow capacity](https://docs.ironflow.run/reference/cli/commands/capacity.md): Inspection of the unified capacity/dispatch subsystem (ADR 0037, #1206). - [ironflow circuit-breaker](https://docs.ironflow.run/reference/cli/commands/circuit-breaker.md): Manage circuit breakers that protect push endpoints from cascading failures. - [ironflow cloud](https://docs.ironflow.run/reference/cli/commands/cloud.md): Operator-only commands for the Ironflow Cloud control plane. - [ironflow config](https://docs.ironflow.run/reference/cli/commands/config.md): Configuration file management. - [ironflow conformance](https://docs.ironflow.run/reference/cli/commands/conformance.md): Check your own handler against an Ironflow wire contract. - [ironflow dead-letters](https://docs.ironflow.run/reference/cli/commands/dead-letters.md): List stored dead-letter rows for one environment. - [ironflow debounce](https://docs.ironflow.run/reference/cli/commands/debounce.md): Inspect and cancel pending debounce entries for functions that collapse rapid-fire events into a single invocation. - [ironflow emit](https://docs.ironflow.run/reference/cli/commands/emit.md): Emit a named event to the server. - [ironflow env](https://docs.ironflow.run/reference/cli/commands/env.md): Manage environments. - [ironflow event](https://docs.ironflow.run/reference/cli/commands/event.md): Explain event routing, manage event schemas, test upcasters, and redact events. - [ironflow function](https://docs.ironflow.run/reference/cli/commands/function.md): List and inspect registered functions. - [ironflow init](https://docs.ironflow.run/reference/cli/commands/init.md): Create a new Ironflow project from a template. - [ironflow inspect](https://docs.ironflow.run/reference/cli/commands/inspect.md): Inspect a workflow run with the TUI debugger. - [ironflow invoke](https://docs.ironflow.run/reference/cli/commands/invoke.md): Directly invoke a function by ID. - [ironflow mcp](https://docs.ironflow.run/reference/cli/commands/mcp.md): Start the Model Context Protocol (MCP) server for AI assistant integration. - [ironflow org](https://docs.ironflow.run/reference/cli/commands/org.md): Manage organizations. - [ironflow outbox](https://docs.ironflow.run/reference/cli/commands/outbox.md): Inspect and manage the transactional outbox (issue #487). - [ironflow platform](https://docs.ironflow.run/reference/cli/commands/platform.md): Manage the Ironflow platform: users, tenants, roles, and audit log. - [ironflow policy](https://docs.ironflow.run/reference/cli/commands/policy.md): Manage the Rego policy set of an organization. - [ironflow project](https://docs.ironflow.run/reference/cli/commands/project.md): Manage projects. - [ironflow projection](https://docs.ironflow.run/reference/cli/commands/projection.md): Manage projections: create, list, inspect, pause, resume, delete, rebuild, and wait for catch-up. - [ironflow role](https://docs.ironflow.run/reference/cli/commands/role.md): Manage custom roles for authorization. - [ironflow run](https://docs.ironflow.run/reference/cli/commands/run.md): List, inspect, and control workflow runs. - [ironflow secret](https://docs.ironflow.run/reference/cli/commands/secret.md): Manage encrypted secrets. - [ironflow serve](https://docs.ironflow.run/reference/cli/commands/serve.md): Start the Ironflow server with embedded NATS JetStream, database, and web dashboard. - [ironflow server](https://docs.ironflow.run/reference/cli/commands/server.md): Server management commands. - [ironflow skills](https://docs.ironflow.run/reference/cli/commands/skills.md): Manage the Ironflow AI skills bundled with this binary. - [ironflow sql](https://docs.ironflow.run/reference/cli/commands/sql.md): Execute a read-only SQL query against the Ironflow database. - [ironflow stream](https://docs.ironflow.run/reference/cli/commands/stream.md): Manage entity streams for event sourcing. - [ironflow subscribe](https://docs.ironflow.run/reference/cli/commands/subscribe.md): Subscribe to real-time events via WebSocket. - [ironflow tenant](https://docs.ironflow.run/reference/cli/commands/tenant.md): Provision and list tenant organizations. - [ironflow topic](https://docs.ironflow.run/reference/cli/commands/topic.md): Manage developer pub/sub topics: list topics, view statistics, and publish messages. - [ironflow update](https://docs.ironflow.run/reference/cli/commands/update.md): Check whether a newer Ironflow release is available. - [ironflow validate](https://docs.ironflow.run/reference/cli/commands/validate.md): Validate an ironflow.yaml configuration file without starting the server. - [ironflow version](https://docs.ironflow.run/reference/cli/commands/version.md): Print version and build information. - [ironflow webhook](https://docs.ironflow.run/reference/cli/commands/webhook.md): Manage webhook sources and deliveries. - [Configuration](https://docs.ironflow.run/reference/configuration.md): Environment variables, defaults, and SDK configuration - [JavaScript SDK](https://docs.ironflow.run/reference/js-sdk.md): JavaScript/TypeScript SDK for Ironflow - [@ironflow/browser](https://docs.ironflow.run/reference/js-sdk/browser.md): Browser client for Ironflow - real-time subscriptions, workflow triggers, and event emission - [@ironflow/core](https://docs.ironflow.run/reference/js-sdk/core.md): Shared types, schemas, constants, and utilities for the Ironflow JavaScript SDK - [@ironflow/node](https://docs.ironflow.run/reference/js-sdk/node.md): Node.js SDK for Ironflow - workers, serve handlers, and step execution - [MCP tools](https://docs.ironflow.run/reference/mcp-tools.md): Every tool the ironflow mcp server registers, by mode, with the flags that enable each group. - [NATS trigger acceptance and retention](https://docs.ironflow.run/reference/nats-ingestion.md) - [Platform API](https://docs.ironflow.run/reference/platform-api.md): HTTP REST API endpoints for platform management - [Platform Roles & Actions](https://docs.ironflow.run/reference/platform-roles.md): Built-in platform roles, actions, and ID format reference - [Policy set errors](https://docs.ironflow.run/reference/policy-set-errors.md): Every error code that the policy-set API returns, with its HTTP status, its cause and the fix - [Policy set input](https://docs.ironflow.run/reference/policy-set-input.md): The input document that Ironflow gives to a Rego policy set, with the native view, the Envoy ext_authz view, the fields that are never present and the schema file - [Policy set IRN library](https://docs.ironflow.run/reference/policy-set-irn-library.md): The Rego package ironflow.lib.irn that Ironflow adds to every policy set, with its functions for matching IRNs and action patterns - [Protocols](https://docs.ironflow.run/reference/pubsub-protocols.md): WebSocket and ConnectRPC streaming protocols for real-time subscriptions - [Reserved Names](https://docs.ironflow.run/reference/reserved-names.md): Every name root that Ironflow owns, the rule for each, and what happens to names you already use - [Roles & Permissions](https://docs.ironflow.run/reference/roles-permissions.md): Built-in roles, custom roles, permissions matrix, and resource naming - [SDK Comparison](https://docs.ironflow.run/reference/sdk-comparison.md): Feature comparison matrix across Ironflow SDKs - [SDK user-function log correlation contract](https://docs.ironflow.run/reference/sdk-log-correlation.md) - [SDK Parity Matrix](https://docs.ironflow.run/reference/sdk-parity-matrix.md): Exhaustive per-capability exposure matrix across transports and SDKs ## Explanation - [Agent Tools Dispatch](https://docs.ironflow.run/explanation/agent-tools.md): How the Ironflow server dispatches HMAC-signed callbacks to SDK-registered agent tool handlers. - [When Ironflow Fits an Agentic System](https://docs.ironflow.run/explanation/agentic-fit.md): A fit test for deciding whether your problem suits a durable workflow with an agent inside it, and the reusable shape it takes - [AI-Assisted Development](https://docs.ironflow.run/explanation/ai-development.md): Use AI coding agents effectively with Ironflow - [Common Pitfalls](https://docs.ironflow.run/explanation/ai-pitfalls.md): AI mistakes when writing Ironflow code and how to avoid them - [Architecture](https://docs.ironflow.run/explanation/architecture.md): Technical architecture of Ironflow - [Auto-remediation](https://docs.ironflow.run/explanation/auto-remediation.md): Design of the planned Ironflow Cloud automation that tries to recover a degraded customer cluster before paging a human, and what it refuses to do. - [When Ironflow is unavailable](https://docs.ironflow.run/explanation/availability.md): What happens to SDK calls when the Ironflow engine, a worker or a dependency is unavailable, and which failures recover on their own. - [Ironflow books](https://docs.ironflow.run/explanation/books.md): Two standalone books that show what Ironflow is and what you can build with it - [Comparison](https://docs.ironflow.run/explanation/comparison.md): How Ironflow compares to workflow engines, event stores, and event-sourced application platforms - [How Ironflow Fits with Agent Frameworks](https://docs.ironflow.run/explanation/comparison-agents.md): Use Ironflow as a durable runtime underneath or alongside an agent reasoning framework - [Compatibility policy](https://docs.ironflow.run/explanation/compatibility.md): The compatibility promise planned for Ironflow 1.x, including covered contracts, exceptions, deprecation and version support. - [Config Management](https://docs.ironflow.run/explanation/config-management.md): How environment-scoped configuration works in Ironflow - [Crash recovery](https://docs.ironflow.run/explanation/crash-recovery.md): How Ironflow reclaims runs left behind by a dead worker or engine node, which loop owns each state, and what recovery latency to expect. - [Aggregates & Entity Streams](https://docs.ironflow.run/explanation/ddd/aggregates.md): How Ironflow entity streams implement the DDD Aggregate pattern - [Commands, Events & Reactions](https://docs.ironflow.run/explanation/ddd/commands-and-events.md): How Ironflow's emit/publish model maps to DDD command and event patterns - [CQRS with Projections](https://docs.ironflow.run/explanation/ddd/cqrs.md): How Ironflow entity streams and projections implement the CQRS pattern - [Putting It All Together](https://docs.ironflow.run/explanation/ddd/putting-it-together.md): End-to-end Order Management domain walkthrough using DDD patterns with Ironflow - [Sagas & Process Managers](https://docs.ironflow.run/explanation/ddd/sagas.md): How Ironflow's durable workflows implement the Saga pattern for cross-aggregate consistency - [Why DDD with Ironflow](https://docs.ironflow.run/explanation/ddd/why-ddd.md): How Ironflow's primitives map to Domain-Driven Design tactical patterns - [Debounce](https://docs.ironflow.run/explanation/debounce.md): How Ironflow collapses rapid-fire events into a single invocation, and the cluster reliability model behind it - [Architecture Diagrams](https://docs.ironflow.run/explanation/diagrams.md): Visual architecture reference for the Ironflow platform - [Auth & RBAC](https://docs.ironflow.run/explanation/diagrams/auth-rbac.md): Request authorization flow from credential extraction to policy evaluation - [Event Sourcing Flow](https://docs.ironflow.run/explanation/diagrams/event-sourcing-flow.md): Entity streams, projections, upcasters, and read models - [Execution Engine](https://docs.ironflow.run/explanation/diagrams/execution-engine.md): Step state machine with memoization, retry, and yield states - [File Storage](https://docs.ironflow.run/explanation/diagrams/file-storage.md): Components behind the files API: REST, service, catalog, blob backend, event sweeper, retirement cleanup - [Flow Diagrams](https://docs.ironflow.run/explanation/diagrams/flows.md): End-to-end data flow diagrams for Ironflow's NATS and DB interactions - [Cancel Flow](https://docs.ironflow.run/explanation/diagrams/flows/cancel-flow.md): Run cancellation signal via DB update and NATS CANCEL stream - [Emit Flow](https://docs.ironflow.run/explanation/diagrams/flows/emit-flow.md): Async event trigger — emit() fires an event and returns immediately - [EmitSync Flow](https://docs.ironflow.run/explanation/diagrams/flows/emit-sync-flow.md): Synchronous event trigger — emitSync() fires an event and waits for every run it triggers - [Entity Stream Flow](https://docs.ironflow.run/explanation/diagrams/flows/entity-stream-flow.md): Event sourcing via entity streams — append-only events with optimistic concurrency - [Event Ingest Flow](https://docs.ironflow.run/explanation/diagrams/flows/event-ingest-flow.md): External event ingestion via NATS EVENTS stream and the EventRouter consumer - [File Event Flow](https://docs.ironflow.run/explanation/diagrams/flows/file-events.md): File events: bucket switch, atomic catalog and event row, dispatch, sweeper recovery - [Signed URL Flow](https://docs.ironflow.run/explanation/diagrams/flows/file-signed-url.md): Signed URL upload: a backend mints a token and a browser uploads with it - [NATS JetStream Streams](https://docs.ironflow.run/explanation/diagrams/flows/nats-streams.md): The 5 NATS JetStream streams, KV buckets, and DB vs NATS ownership boundaries - [PubSub Flow](https://docs.ironflow.run/explanation/diagrams/flows/pubsub-flow.md): Real-time notifications and subscriptions via the PUBSUB stream - [Multi-Node Cluster](https://docs.ironflow.run/explanation/diagrams/multi-node-cluster.md): Production topology with NATS cluster, PostgreSQL, and coordination mechanisms - [Request Lifecycle](https://docs.ironflow.run/explanation/diagrams/request-lifecycle.md): What happens when an event is emitted, from ingress through capacity admission to push and pull execution - [Resource Hierarchy](https://docs.ironflow.run/explanation/diagrams/resource-hierarchy.md): Organization → Project → Environment → Resources with IRN naming - [SDK Architecture](https://docs.ironflow.run/explanation/diagrams/sdk-architecture.md): Browser, Node, and Go SDK layers with push/pull communication to the server - [System Overview](https://docs.ironflow.run/explanation/diagrams/system-overview.md): High-level view of Ironflow's components and their connections - [Event schemas](https://docs.ironflow.run/explanation/event-schemas.md): How Ironflow validates event payloads — the server-side registry on the ingest path, the SDK-side schema in the handler, and why both exist - [Event Sourcing](https://docs.ironflow.run/explanation/event-sourcing.md): Event sourcing with Ironflow — entity streams, versioning, and projections - [File Storage](https://docs.ironflow.run/explanation/file-storage.md): How buckets, paths, signed URLs and file events work in Ironflow - [What is Ironflow?](https://docs.ironflow.run/explanation/introduction.md): A 60-second pitch — what Ironflow is, who it's for, and when to reach for it - [KV Store](https://docs.ironflow.run/explanation/kv-store.md): General-purpose key-value storage backed by NATS JetStream - [Licensing](https://docs.ironflow.run/explanation/licensing.md): Permitted purposes, commercial license, honor system - [Transactional outbox](https://docs.ironflow.run/explanation/outbox.md): How the transactional outbox decouples accepting an event from announcing it on NATS, the guarantees it gives, and the operator surface. - [Design patterns](https://docs.ironflow.run/explanation/patterns.md): Canonical Ironflow design choices — push vs pull, commands vs events, aggregates, projections, sagas, concurrency, snapshots — and when to pick each. - [Platform Architecture](https://docs.ironflow.run/explanation/platform-architecture.md): How platform identity, impersonation, RBAC, and audit work under the hood - [Authorization policy sets (Rego)](https://docs.ironflow.run/explanation/policies.md): How Ironflow adds tenant deny rules on top of RBAC with an org's Rego policy set, including the input, the decision contract, monitor mode and fail-closed rules - [Projections](https://docs.ironflow.run/explanation/projections.md): How projections build read models from the event log, and the contract every managed reducer must honor. - [Events & Pub/Sub](https://docs.ironflow.run/explanation/pubsub.md): Event-driven workflows with pub/sub messaging - [Readiness](https://docs.ironflow.run/explanation/readiness.md): Ironflow is pre-1.0. What is ready to build on, what can still change, and how to pin a version. - [Run outcomes after commit](https://docs.ironflow.run/explanation/run-outcomes.md): What Ironflow guarantees once a run completes, fails or is cancelled, and what happens to the follow-up work when a node dies, a publish fails or a worker retries. - [Secrets Management](https://docs.ironflow.run/explanation/secrets-management.md): How encrypted, environment-scoped secrets work in Ironflow - [Security Model](https://docs.ironflow.run/explanation/security.md): Security model, authentication layers, and zero-config bootstrap - [Stack Fit by Concern](https://docs.ironflow.run/explanation/stack-fit.md): Where Ironflow fits, and where it does not, concern by concern, worked through a Go, ConnectRPC and Postgres baseline - [Agent harnesses with MCP](https://docs.ironflow.run/explanation/use-cases/agent-harnesses-with-mcp.md): Build an agent's tools and execution loop, then expose application capabilities through MCP. - [Agents over A2A](https://docs.ironflow.run/explanation/use-cases/agents-over-a2a.md): Expose a specialist agent to remote agents, with durable tasks, progress, and caller input. - [Bookings and reservations](https://docs.ironflow.run/explanation/use-cases/bookings-and-reservations.md): Coordinate scarce-resource reservations, competing requests, expiry, and compensation. - [Customer onboarding](https://docs.ironflow.run/explanation/use-cases/customer-onboarding.md): Provision a customer across services and track setup through provider failures and delayed verification. - [Data imports and synchronization](https://docs.ironflow.run/explanation/use-cases/data-imports-and-synchronization.md): Validate incoming records, resume failed batches, and update downstream systems with explicit conflict rules. - [Document processing](https://docs.ironflow.run/explanation/use-cases/document-processing.md): Extract, classify, and publish documents while keeping completed work through interruptions, with an optional review step. - [Orders and returns](https://docs.ironflow.run/explanation/use-cases/orders-and-returns.md): Coordinate inventory, payments, delivery, and related return workflows through partial failures. - [What can you build with Ironflow?](https://docs.ironflow.run/explanation/use-cases/overview.md): Find a familiar application and see where durable execution, events, waits, and derived state fit. - [Reconciliation](https://docs.ironflow.run/explanation/use-cases/reconciliation.md): Match transactions and resolve exceptions through agent triage, approval, and an outside reply. - [Support resolution agents](https://docs.ironflow.run/explanation/use-cases/support-resolution-agents.md): Investigate a support case, approve an action, and wait for the customer's response. - [Workflows](https://docs.ironflow.run/explanation/workflows.md): Introduction to recorded execution (durable workflows) with Ironflow