# Jidoka v0.9.0 - Table of Contents

> A data-driven agent framework for the Jido ecosystem with a Spark DSL and durable turn runtime.

## Pages

- Start Here
  - [Getting Started](getting-started.md)
  - [Documentation Overview](documentation-overview.md)
  - [Core Concepts](core-concepts.md)

- Build Agents
  - [Agent DSL](agent-dsl.md)
  - [Tools And Operations](tools-and-operations.md)
  - [Structured Results](structured-results.md)
  - [Controls](controls.md)
  - [Memory](memory.md)
  - [Import (JSON/YAML)](import-json-yaml.md)
  - [Inspection And Preflight](inspection-and-preflight.md)
  - [Testing And Evals](testing-and-evals.md)

- Compose Work
  - [Workflows](workflows-2.md)
  - [Agent Orchestration](agent-orchestration.md)
  - [Handoffs](handoffs.md)

- Operate Agents
  - [Configuration](configuration.md)
  - [Sessions And Stores](sessions-and-stores.md)
  - [Snapshots And Resume](snapshots-and-resume.md)
  - [Human In The Loop](human-in-the-loop.md)
  - [Tracing And Events](tracing-and-events.md)
  - [Streaming](streaming.md)
  - [Agent View](agent-view.md)
  - [Idempotency And Safety](idempotency-and-safety.md)

- Integrations
  - [Live LLM Tool Loop](live-llm-tool-loop.md)
  - [Jido Process Integration](jido-process-integration.md)
  - [AshJido Resources](ash-jido.md)
  - [Browser Tools](browser-tools.md)
  - [MCP Tools](mcp-tools.md)
  - [Skill, Workflow, And Subagent Tools](skill-workflow-subagent-tools.md)
  - [Kino Notebooks](kino-notebooks.md)

- Public Contract Reference
  - [Public Facade](public-facade.md)
  - [Agent Spec Contract](agent-spec-contract.md)
  - [Turn And Effect Contracts](turn-and-effect-contracts.md)
  - [Operation Source Contracts](operation-source-contracts.md)
  - [Memory Contracts](memory-contracts.md)
  - [Import And Snapshot Contracts](import-and-snapshot-contracts.md)
  - [Errors And Config Reference](errors-and-config-reference.md)

- Architecture And Internals
  - [Architecture Boundaries](architecture-boundaries.md)
  - [Runtime And Execution Layers](runtime-and-harness.md)
  - [Runic Spine Internals](runic-spine-internals.md)
  - [Turn Runner And Effect Interpreter](turn-runner-and-effect-interpreter.md)
  - [Runtime Capabilities Internals](runtime-capabilities-internals.md)
  - [Projection Internals](projection-internals.md)
  - [Contributor Testing](contributor-testing.md)

- Help
  - [Glossary](glossary.md)
  - [Troubleshooting](troubleshooting.md)

- Examples
  - [Jidoka Examples](readme-3.md)
  - [Durable Refund Agent](readme-4.md)
  - [Getting Started Agent](readme-5.md)
  - [Governed Tools Agent](readme-6.md)
  - [Support Agent](readme-7.md)
  - [Warranty Claim](readme-8.md)
  - [Workflow Composition Agent](readme-9.md)

- Livebooks
  - [Durable Refund Agent](durable_refund.md)
  - [Getting Started Agent](getting_started.md)
  - [Governed Tools Agent](governed_tools.md)
  - [Support Agent](support_agent.md)
  - [Warranty Claim](warranty_claim.md)
  - [Workflow Composition Agent](workflow_composition.md)
  - [Jidoka Contracts And Runtime](contracts_and_runtime.md)
  - [Controls, Sessions, And Human Review](controls_sessions_and_human_review.md)
  - [Import, Eval, And Trace](import_eval_and_trace.md)
  - [Workflows](workflows-10.md)

- Project
  - [Jidoka](readme-1.md)
  - [Changelog](changelog.md)
  - [Contributing To Jidoka](contributing.md)
  - [Jidoka Usage Rules](usage-rules.md)
  - [LICENSE](license.md)

## Modules

- Primary Application API
  - [Jidoka](Jidoka.md): Public facade for Jidoka.
  - [Jidoka.Action](Jidoka.Action.md): Authoring API for an Elixir action that an agent can use as a tool.
  - [Jidoka.Agent](Jidoka.Agent.md): Minimal Spark DSL for defining a Jidoka agent on top of Jido.
  - [Jidoka.Config](Jidoka.Config.md): Runtime configuration helpers for Jidoka.

  - [Jidoka.Context](Jidoka.Context.md): Canonical runtime context passed to Jidoka policy code.
  - [Jidoka.Control](Jidoka.Control.md): Minimal reusable policy control contract for Jidoka agents.
  - [Jidoka.Session](Jidoka.Session.md): Ergonomic session facade backed by `Jidoka.Session.Data`.
  - [Jidoka.Stream](Jidoka.Stream.md): Request-scoped stream helpers for Jidoka turn events.
  - [Jidoka.Workflow](Jidoka.Workflow.md): Deterministic workflow contract and DSL for Jidoka.

- Optional Feature APIs
  - [Jidoka.AgentView](Jidoka.AgentView.md): Surface-neutral UI projection contract for a Jidoka agent.
  - [Jidoka.ApprovalPredicate](Jidoka.ApprovalPredicate.md): Module contract for dynamic operation approval predicates.
  - [Jidoka.Browser](Jidoka.Browser.md): Constrained browser tool source backed by `jido_browser` actions.
  - [Jidoka.Debug](Jidoka.Debug.md): Data-first request debug and replay diagnostics.
  - [Jidoka.Eval](Jidoka.Eval.md): Small deterministic eval runner for Jidoka turn flows.
  - [Jidoka.Export](Jidoka.Export.md): Portable JSON/YAML export for `Jidoka.Agent.Spec`.
  - [Jidoka.Import](Jidoka.Import.md): JSON/YAML import runtime for data-authored Jidoka agents.
  - [Jidoka.Inspection](Jidoka.Inspection.md): Inspection and preflight helpers for Jidoka's data-first runtime.
  - [Jidoka.Instructions](Jidoka.Instructions.md): Resolves instructions for one agent request.
  - [Jidoka.Jido](Jidoka.Jido.md): Default Jido runtime instance for Jidoka agents.
  - [Jidoka.Memory](Jidoka.Memory.md): Data contracts and runtime helpers for visible agent memory.

  - [Jidoka.ModelPolicy](Jidoka.ModelPolicy.md): Routes, retries, and falls back model calls at the LLM effect boundary.
  - [Jidoka.Skill](Jidoka.Skill.md): Public helpers for Jido AI skills used by the Jidoka DSL.
  - [Jidoka.Trace](Jidoka.Trace.md): Trace projection helpers for Jidoka runtime events.

- Agent And Turn Contracts
  - [Jidoka.Agent.Message](Jidoka.Agent.Message.md): Durable chat message stored on agent state.
  - [Jidoka.Agent.Spec](Jidoka.Agent.Spec.md): Canonical immutable definition of a Jidoka agent.

  - [Jidoka.Agent.State](Jidoka.Agent.State.md): Durable semantic state for an agent session.
  - [Jidoka.Cancellation](Jidoka.Cancellation.md): Typed evidence that an asynchronous Jidoka request was cancelled.
  - [Jidoka.ContentPart](Jidoka.ContentPart.md): Provider-neutral text and media content for requests, messages, and results.
  - [Jidoka.Event](Jidoka.Event.md): Core event emitted by Jidoka turn transitions.
  - [Jidoka.Usage](Jidoka.Usage.md): Token and cost usage helpers for Jidoka turns.
  - [Jidoka.Agent.Spec.Controls](Jidoka.Agent.Spec.Controls.md): Policy controls attached to a Jidoka agent definition.

  - [Jidoka.Agent.Spec.Controls.Input](Jidoka.Agent.Spec.Controls.Input.md): Control attached to the input boundary.

  - [Jidoka.Agent.Spec.Controls.Operation](Jidoka.Agent.Spec.Controls.Operation.md): Policy control attached to model-callable operations.

  - [Jidoka.Agent.Spec.Controls.Output](Jidoka.Agent.Spec.Controls.Output.md): Control attached to the final output boundary.

  - [Jidoka.Agent.Spec.Generation](Jidoka.Agent.Spec.Generation.md): Provider-facing generation defaults for an agent.
  - [Jidoka.Agent.Spec.Memory](Jidoka.Agent.Spec.Memory.md): Conversation memory policy for an agent.
  - [Jidoka.Agent.Spec.Operation](Jidoka.Agent.Spec.Operation.md): Model-callable operation definition.

  - [Jidoka.Agent.Spec.Result](Jidoka.Agent.Spec.Result.md): Structured app-facing result contract for an agent.
  - [Jidoka.Chat.Request](Jidoka.Chat.Request.md): Data handle for an asynchronous Jidoka chat request.
  - [Jidoka.Effect.Intent](Jidoka.Effect.Intent.md): Data description of an external effect the runtime may interpret.
  - [Jidoka.Effect.Journal](Jidoka.Effect.Journal.md): Intent/result journal used to make effects replayable.
  - [Jidoka.Effect.LLMDecision](Jidoka.Effect.LLMDecision.md): Typed model-side decision returned by an LLM effect.
  - [Jidoka.Effect.OperationRequest](Jidoka.Effect.OperationRequest.md): Typed request payload for an operation effect.
  - [Jidoka.Effect.OperationResult](Jidoka.Effect.OperationResult.md): Durable operation observation stored on agent state.
  - [Jidoka.Effect.Result](Jidoka.Effect.Result.md): Normalized result of an interpreted effect.
  - [Jidoka.Turn.Cursor](Jidoka.Turn.Cursor.md): Pointer to the next safe phase boundary.
  - [Jidoka.Turn.Plan](Jidoka.Turn.Plan.md): Executable data compiled from `Jidoka.Agent.Spec`.
  - [Jidoka.Turn.Request](Jidoka.Turn.Request.md): Input for one agent turn.
  - [Jidoka.Turn.Result](Jidoka.Turn.Result.md): Final app-facing result of one Jidoka turn.
  - [Jidoka.Turn.State](Jidoka.Turn.State.md): Ephemeral data value passed through the Jidoka turn workflow.
  - [Jidoka.Turn.Transition](Jidoka.Turn.Transition.md): Pure transition result for turn state changes.

- State And Policy Contracts
  - [Jidoka.Error](Jidoka.Error.md): Splode-backed error helpers for Jidoka.
  - [Jidoka.Error.Config](Jidoka.Error.Config.md): Configuration error class for Splode.
  - [Jidoka.Error.ConfigError](Jidoka.Error.ConfigError.md): Invalid Jidoka configuration error.
  - [Jidoka.Error.Execution](Jidoka.Error.Execution.md): Runtime execution error class for Splode.
  - [Jidoka.Error.ExecutionError](Jidoka.Error.ExecutionError.md): Jidoka runtime execution error.
  - [Jidoka.Error.Internal](Jidoka.Error.Internal.md): Internal error class for Splode.
  - [Jidoka.Error.Invalid](Jidoka.Error.Invalid.md): Invalid input error class for Splode.
  - [Jidoka.Error.ValidationError](Jidoka.Error.ValidationError.md): Invalid input or schema validation error.
  - [Jidoka.Handoff](Jidoka.Handoff.md): Data contract for conversation ownership transfer.
  - [Jidoka.Id](Jidoka.Id.md): Small boundary for generated Jidoka identifiers.
  - [Jidoka.Review](Jidoka.Review.md): Durable human-review data contracts.
  - [Jidoka.Snapshot](Jidoka.Snapshot.md): Serializable semantic snapshot for hibernate/resume.
  - [Jidoka.Controls.MaxInputLength](Jidoka.Controls.MaxInputLength.md): Built-in input-size control.
  - [Jidoka.Controls.RequireApproval](Jidoka.Controls.RequireApproval.md): Built-in operation control used by approval sugar.
  - [Jidoka.Controls.RequireContext](Jidoka.Controls.RequireContext.md): Built-in control that requires application context keys to be present.
  - [Jidoka.Handoff.OwnerStore](Jidoka.Handoff.OwnerStore.md): Storage boundary for conversation handoff owners.
  - [Jidoka.Handoff.OwnerStore.InMemory](Jidoka.Handoff.OwnerStore.InMemory.md): Supervised ETS-backed handoff owner store for local runtimes, examples, and tests.
  - [Jidoka.Memory.Entry](Jidoka.Memory.Entry.md): Durable memory entry available to prompt assembly.
  - [Jidoka.Memory.RecallRequest](Jidoka.Memory.RecallRequest.md): Request sent to a memory store before prompt assembly.
  - [Jidoka.Memory.RecallResult](Jidoka.Memory.RecallResult.md): Memory entries recalled for a turn.
  - [Jidoka.Memory.Store](Jidoka.Memory.Store.md): Behaviour and delegator for agent memory stores.

  - [Jidoka.Memory.Store.InMemory](Jidoka.Memory.Store.InMemory.md): In-memory memory store for deterministic tests and examples.

  - [Jidoka.Memory.Store.JidoMemory](Jidoka.Memory.Store.JidoMemory.md): `Jidoka.Memory.Store` adapter backed by `jido_memory`.
  - [Jidoka.Memory.WriteRequest](Jidoka.Memory.WriteRequest.md): Request to write one memory entry.
  - [Jidoka.Memory.WriteResult](Jidoka.Memory.WriteResult.md): Result returned after writing memory.
  - [Jidoka.Review.Interrupt](Jidoka.Review.Interrupt.md): Durable pause point produced by a runtime control.
  - [Jidoka.Review.Policy](Jidoka.Review.Policy.md): Policy describing when a model-requested operation must pause for review.
  - [Jidoka.Review.Request](Jidoka.Review.Request.md): Application-facing request for human review of an interrupted operation.

  - [Jidoka.Review.Response](Jidoka.Review.Response.md): Application response to a pending review request.
  - [Jidoka.Session.Data](Jidoka.Session.Data.md): Serializable session envelope for running an agent across requests.
  - [Jidoka.Session.Lease](Jidoka.Session.Lease.md): Durable ownership token for one active session continuation.
  - [Jidoka.Session.Lineage](Jidoka.Session.Lineage.md): Durable parentage for a session created from a safe snapshot fork.
  - [Jidoka.Session.Replay](Jidoka.Session.Replay.md): Inspection-friendly replay projection for stored session data.
  - [Jidoka.Session.Store](Jidoka.Session.Store.md): Behaviour and delegator for durable session storage.
  - [Jidoka.Session.Store.Dets](Jidoka.Session.Store.Dets.md): Disk-backed, lease-aware session store built on Erlang DETS.
  - [Jidoka.Session.Store.InMemory](Jidoka.Session.Store.InMemory.md): In-memory session store for tests, examples, and local exploration.
  - [Jidoka.Session.Transitions](Jidoka.Session.Transitions.md): Pure durable session state transitions.
  - [Jidoka.Trace.Policy](Jidoka.Trace.Policy.md): Trace projection policy.
  - [Jidoka.Trace.Sink](Jidoka.Trace.Sink.md): Behaviour and delegator for trace sinks.
  - [Jidoka.Trace.Sink.InMemory](Jidoka.Trace.Sink.InMemory.md): In-process trace sink for tests, examples, and local inspection.

- Tool And Workflow Contracts
  - [Jidoka.Operation.Capability](Jidoka.Operation.Capability.md): Runtime-neutral operation execution port.
  - [Jidoka.Operation.Source](Jidoka.Operation.Source.md): Behaviour and compiler for operation sources.
  - [Jidoka.Operation.Source.Catalog](Jidoka.Operation.Source.Catalog.md): Operation source backed by a `Jido.Action.Catalog`.
  - [Jidoka.Operation.Source.Handoff](Jidoka.Operation.Source.Handoff.md): Operation source for conversation handoff ownership.
  - [Jidoka.Operation.Source.JidoAction](Jidoka.Operation.Source.JidoAction.md): Operation source backed by one or more Jido Action modules.
  - [Jidoka.Operation.Source.Local](Jidoka.Operation.Source.Local.md): Local operation source backed by Elixir functions.
  - [Jidoka.Operation.Source.MCP](Jidoka.Operation.Source.MCP.md): Operation source backed by `jido_mcp`.
  - [Jidoka.Operation.Source.Subagent](Jidoka.Operation.Source.Subagent.md): Operation source for bounded subagent delegation.
  - [Jidoka.Operation.Source.Workflow](Jidoka.Operation.Source.Workflow.md): Operation source for deterministic Jidoka workflows.
  - [Jidoka.Workflow.Background](Jidoka.Workflow.Background.md): Runs durable declarative workflows in the background.
  - [Jidoka.Workflow.Loop](Jidoka.Workflow.Loop.md): Executes one explicit bounded workflow loop.
  - [Jidoka.Workflow.Loop.Cursor](Jidoka.Workflow.Loop.Cursor.md): Serializable continuation data for a suspended bounded loop.
  - [Jidoka.Workflow.Loop.Iteration](Jidoka.Workflow.Loop.Iteration.md): Inspectable data for one bounded loop iteration.
  - [Jidoka.Workflow.Loop.Result](Jidoka.Workflow.Loop.Result.md): Final value and inspectable history from a bounded workflow loop.
  - [Jidoka.Workflow.Lua](Jidoka.Workflow.Lua.md): Sandboxed Lua authoring layer for dynamic Jidoka workflow plans.
  - [Jidoka.Workflow.Ref](Jidoka.Workflow.Ref.md): Reference helpers for declarative `Jidoka.Workflow` data wiring.
  - [Jidoka.Workflow.RetryPolicy](Jidoka.Workflow.RetryPolicy.md): Data contract for local workflow step retry policy.
  - [Jidoka.Workflow.Run](Jidoka.Workflow.Run.md): Reconnectable public view of one background workflow run.
  - [Jidoka.Workflow.RunEvent](Jidoka.Workflow.RunEvent.md): Safe lifecycle projection for one persisted background workflow event.
  - [Jidoka.Workflow.Schedule](Jidoka.Workflow.Schedule.md): One-time or recurring background workflow schedule contract.
  - [Jidoka.Workflow.Schedule.Trigger](Jidoka.Workflow.Schedule.Trigger.md): Inspectable evidence for one schedule trigger decision.
  - [Jidoka.Workflow.Scheduler](Jidoka.Workflow.Scheduler.md): OTP scheduler that creates normal `Jidoka.Workflow.Background` runs.
  - [Jidoka.Workflow.Snapshot](Jidoka.Workflow.Snapshot.md): Serializable state for one suspended declarative workflow.
  - [Jidoka.Workflow.Spec](Jidoka.Workflow.Spec.md): Data contract for a deterministic Jidoka workflow.
  - [Jidoka.Workflow.Step](Jidoka.Workflow.Step.md): Data contract for one deterministic workflow step.

- Feature Data Contracts
  - [Jidoka.Debug.ReplayDiagnostics](Jidoka.Debug.ReplayDiagnostics.md): Diagnostic view for replayable Jidoka runtime data.
  - [Jidoka.Debug.RequestSummary](Jidoka.Debug.RequestSummary.md): Request-level debug summary assembled from Jidoka runtime data.
  - [Jidoka.Eval.Case](Jidoka.Eval.Case.md): Deterministic evaluation case for one Jidoka turn.
  - [Jidoka.Eval.Run](Jidoka.Eval.Run.md): Result of running a `Jidoka.Eval.Case`.
  - [Jidoka.Import.AgentDocument](Jidoka.Import.AgentDocument.md): Portable JSON/YAML authoring document for a Jidoka agent.
  - [Jidoka.Inspection.Preflight](Jidoka.Inspection.Preflight.md): Data returned by `Jidoka.preflight/3`.

- Advanced Extension Support
  - [Jidoka.Adapter.ReqLLM](Jidoka.Adapter.ReqLLM.md): ReqLLM runtime support for Jidoka's LLM effect boundary.
  - [Jidoka.Adapter.Jido.Actions](Jidoka.Adapter.Jido.Actions.md): Runtime support for executing Jido actions as Jidoka operations.
  - [Jidoka.Adapter.Jido.AgentServerState](Jidoka.Adapter.Jido.AgentServerState.md): Formal Jidoka state contract stored inside a process-hosted Jido agent.
  - [Jidoka.Runtime.Capabilities](Jidoka.Runtime.Capabilities.md): Advanced extension contract for injected LLM and operation capabilities.
  - [Jidoka.Runtime.Controls.OperationContext](Jidoka.Runtime.Controls.OperationContext.md): Runtime context passed to controls at the operation boundary.
  - [Jidoka.Runtime.LocalOperations](Jidoka.Runtime.LocalOperations.md): Runtime support for executing local Elixir functions as Jidoka operations.

- Development And Test
  - [Jidoka.Kino](Jidoka.Kino.md): Optional Livebook helpers for inspecting and demonstrating Jidoka agents.

