# super_pi v0.1.0 - Table of Contents > Durable, crash-resilient general-purpose agent framework for Elixir and the BEAM. ## Pages - [Super-Pi-BEAM](readme.md) ## Modules - [SuperPi](SuperPi.md): Documentation for `SuperPi`. - [SuperPi.ACP.Server](SuperPi.ACP.Server.md): Agent Client Protocol agent over stdio: `bin/super-pi acp`. - [SuperPi.ACP.Session](SuperPi.ACP.Session.md): One ACP session: its id, its conversation, the renderer state and the running prompt. - [SuperPi.AI.GeminiClient](SuperPi.AI.GeminiClient.md): Direct Google Generative AI (Gemini) client with SSE streaming, tool-calling schemas, and cross-provider model normalization (`spec.md` §3). - [SuperPi.AI.Provider](SuperPi.AI.Provider.md): Behaviour for a model provider. - [SuperPi.AI.Providers](SuperPi.AI.Providers.md): Provider registry. Selects the `SuperPi.AI.Provider` that serves a model. - [SuperPi.AI.Providers.Anthropic](SuperPi.AI.Providers.Anthropic.md): Anthropic Messages API (`claude-*`). - [SuperPi.AI.Providers.Gemini](SuperPi.AI.Providers.Gemini.md): Google Gemini provider. Wraps `SuperPi.AI.GeminiClient`. - [SuperPi.AI.Providers.HTTP](SuperPi.AI.Providers.HTTP.md): Streams one request to an SSE model API and normalizes the events (`SuperPi.AI.StreamNormalizer`). Shared by the Anthropic and OpenAI providers. - [SuperPi.AI.Providers.Mock](SuperPi.AI.Providers.Mock.md): Echo provider for tests and demos. Active only when `config :super_pi, mock_llm: true`. - [SuperPi.AI.Providers.OpenAI](SuperPi.AI.Providers.OpenAI.md): OpenAI Chat Completions and Responses APIs (`gpt-*`, `o1*`, `o3*`, `o4*`). - [SuperPi.AI.StreamNormalizer](SuperPi.AI.StreamNormalizer.md): Unified multi-provider LLM SSE stream normalizer and cross-provider message sanitizer (`REQ-PBT-04`). - [SuperPi.AI.ToolSchemas](SuperPi.AI.ToolSchemas.md): JSON Schema (`"type": "object"`) for the built-in tools, which are registered with a name and a description only. The providers send these as the tool's parameter schema. - [SuperPi.AI.VirtualModel](SuperPi.AI.VirtualModel.md): Virtual Model Router and Prompt-Cache Session Affinity Manager (`spec.md` §4, Step 5). - [SuperPi.Artifacts](SuperPi.Artifacts.md): Explicit storage for files that an agent wants to keep. - [SuperPi.Artifacts.Ecto](SuperPi.Artifacts.Ecto.md): Artifact store in the repo (`artifacts` table): PostgreSQL, or SQLite on a single node. - [SuperPi.Artifacts.Store](SuperPi.Artifacts.Store.md): Backend contract for `SuperPi.Artifacts`. Validation (name, size) happens before a call, so a backend only stores and fetches. Implement it for another store, such as an S3-compatible bucket. - [SuperPi.Artifacts.Tools](SuperPi.Artifacts.Tools.md): Runs `artifact_put`, `artifact_get` and `artifact_list` for a conversation and its workspace. - [SuperPi.Auth](SuperPi.Auth.md): Bearer-token authentication and conversation ownership for the Gateway and RPC server. - [SuperPi.CLI](SuperPi.CLI.md): Unified Command-Line Interface for Super-Pi-BEAM. - [SuperPi.Cluster](SuperPi.Cluster.md): The distributed BEAM cluster: nodes connected by `libcluster`, one shared PostgreSQL, one machine per conversation (`SuperPi.Conversation.Locator`). - [SuperPi.CodeMode.Journal](SuperPi.CodeMode.Journal.md): Deterministic Codemode Replay Journal (`Decision 07`, `Step 8`). - [SuperPi.Compaction](SuperPi.Compaction.md): 4-Mode Context Compaction Engine (`Decision 08`, `REQ-PBT-06`). - [SuperPi.Conversation.Locator](SuperPi.Conversation.Locator.md): Finds, or starts, the one machine of a conversation. The machine is unique in the whole cluster: its name is registered in `Horde.Registry`, so a request that lands on any node reaches the same process (a pid on another node works with `Machine.submit/3` and the rest of the API). - [SuperPi.Conversation.Machine](SuperPi.Conversation.Machine.md): Runtime Conversation Turn Coordinator (`:gen_statem` with `[:handle_event_function, :state_enter]`) synchronized with durable `Fsmx` tasks (`SuperPi.Durable.TaskEngine`) and the 12-hook `SuperPi.Extension` pipeline (`REQ-FSM-01`..`REQ-FSM-06`, `09 - Data Flows and Extension Injection Points.md`). - [SuperPi.Discovery](SuperPi.Discovery.md): Multi-Tier Customization Discovery Engine (`23 - Deprecating AGY and Unifying Workspace Plugins and CLI.md`). - [SuperPi.Drain](SuperPi.Drain.md): Graceful shutdown of a node (REQ-CLU-07). - [SuperPi.Durable.Context](SuperPi.Durable.Context.md): Normative 10-Rule Context Derivation Engine (`packages/durable/docs/spec.md` §2.1). - [SuperPi.Durable.DeferredFlusher](SuperPi.Durable.DeferredFlusher.md): Implements `pi-durable` deferred commit batching (`REQ-DUR-04`, `REQ-DUR-05`). - [SuperPi.Durable.Doc](SuperPi.Durable.Doc.md): Scoped JSON document manager supporting `latest` and `rewindable` (`fork: "as_of"`) policies. - [SuperPi.Durable.DocCache](SuperPi.Durable.DocCache.md): Keeps the document cache (`SuperPi.Durable.Doc`) coherent across nodes. - [SuperPi.Durable.Schemas.Conversation](SuperPi.Durable.Schemas.Conversation.md) - [SuperPi.Durable.Schemas.Document](SuperPi.Durable.Schemas.Document.md) - [SuperPi.Durable.Schemas.DocumentRevision](SuperPi.Durable.Schemas.DocumentRevision.md) - [SuperPi.Durable.Schemas.Entry](SuperPi.Durable.Schemas.Entry.md) - [SuperPi.Durable.Schemas.Memory](SuperPi.Durable.Schemas.Memory.md): A durable note of the Memory plugin (`memories` table). - [SuperPi.Durable.Schemas.MemoryLink](SuperPi.Durable.Schemas.MemoryLink.md): A typed edge between two notes of one scope (`memory_links` table): `related`, `derived_from` or `supersedes`. A `supersedes` edge also sets `superseded_by_id` on the older note. - [SuperPi.Durable.Schemas.Schedule](SuperPi.Durable.Schemas.Schedule.md): A scheduled or webhook-triggered run (`schedules` table). - [SuperPi.Durable.Schemas.Submission](SuperPi.Durable.Schemas.Submission.md): Durable conversation submission lifecycle managed with `Fsmx`. - [SuperPi.Durable.Schemas.Task](SuperPi.Durable.Schemas.Task.md): Persisted durable task state machine managed with `Fsmx` (`REQ-FSM-01`..`REQ-FSM-05`). - [SuperPi.Durable.Storage](SuperPi.Durable.Storage.md): Transactional durable storage engine (`SuperPi.Durable.Storage`) implementing: - Monotonic sequence numbers (`Seq`) - Conversation creation (with reserved `ROOT_CONVERSATION_ID = 1`) and atomic built-in documents - Conversation forking at any visible entry with `asOf` rewind of `pi.agent` and fresh `pi.provider` UUIDv7 - Entry appending with `head` markers and `ContextEdit` operations - [SuperPi.Durable.TaskEngine](SuperPi.Durable.TaskEngine.md): Durable task state machine scheduler (`REQ-FSM-01`..`REQ-FSM-05`, `REQ-OBAN-01`..`REQ-OBAN-02`). - [SuperPi.Env.Behaviour](SuperPi.Env.Behaviour.md): Unified execution environment contract (`SuperPi.Env`, `REQ-SAFE-01`..`REQ-SAFE-04`). - [SuperPi.Env.ClientFS](SuperPi.Env.ClientFS.md): Reads a file through the ACP client, so the agent sees the unsaved editor buffer. - [SuperPi.Env.FileLock](SuperPi.Env.FileLock.md): Per-path advisory file lock server (`REQ-SAFE-04`, `REQ-PBT-05`). - [SuperPi.Env.Local](SuperPi.Env.Local.md): Local host execution environment implementing `SuperPi.Env.Behaviour` (`REQ-SAFE-01`..`REQ-SAFE-04`). - [SuperPi.Env.SandboxRunner](SuperPi.Env.SandboxRunner.md): 4-Layer Safe Tool & Process Execution Sandbox (`REQ-SAFE-01`..`REQ-SAFE-03`, `REQ-PBT-05`). - [SuperPi.Env.Shared](SuperPi.Env.Shared.md): Execution environment for a workspace on shared storage (NFS, CephFS, a read-write-many volume). - [SuperPi.Env.Workspace](SuperPi.Env.Workspace.md): The workspace of a conversation: where file and command tools act. - [SuperPi.Event](SuperPi.Event.md): The typed turn event: one schema that every interface renders. - [SuperPi.Event.History](SuperPi.Event.History.md): The visible messages of a conversation in a neutral shape, for protocols that must replay history: the AG-UI `MESSAGES_SNAPSHOT` (a reconnect, or a compaction) and the ACP `session/load`. - [SuperPi.Event.Renderer](SuperPi.Event.Renderer.md): Turns `SuperPi.Event`s into the output of one protocol. - [SuperPi.Event.Renderer.ACP](SuperPi.Event.Renderer.ACP.md): Renders events as [Agent Client Protocol](https://agentclientprotocol.com) `session/update` payloads, for `SuperPi.ACP.Server`. - [SuperPi.Event.Renderer.AGUI](SuperPi.Event.Renderer.AGUI.md): Renders events as [AG-UI](https://docs.ag-ui.com) events, for `SuperPi.Gateway.AGUI`. - [SuperPi.Event.Renderer.OpenAI](SuperPi.Event.Renderer.OpenAI.md): Renders events as OpenAI `chat.completion.chunk` maps for the Gateway's SSE stream. - [SuperPi.Event.Renderer.RPC](SuperPi.Event.Renderer.RPC.md): Identity renderer for the JSON-RPC server: the wire map of an event is what a watcher receives. The server adds batching and backpressure (`session.ack`) on top. - [SuperPi.Event.Renderer.TUI](SuperPi.Event.Renderer.TUI.md): Renders events for a terminal. The output is tagged, so the terminal code decides what to print - [SuperPi.Extension](SuperPi.Extension.md): Unified 12-Hook Extension Pipeline behaviour (`09 - Data Flows and Extension Injection Points.md`). - [SuperPi.Gateway.AGUI](SuperPi.Gateway.AGUI.md): [AG-UI](https://docs.ag-ui.com) over Server-Sent Events, forwarded from `SuperPi.Gateway.Router` at `/agui/v1`. The router's `authenticate`, `reject_when_draining` and `trace_request` plugs already ran, so this module has no auth of its own. - [SuperPi.Gateway.Router](SuperPi.Gateway.Router.md): OpenAI-Compatible Upstream Inference HTTP Router (`REQ-GATEWAY-01`, `REQ-GATEWAY-02`). Allows OpenCode, Cursor, Aider, LibreChat, and other AI clients to treat Super-Pi-BEAM as an upstream inference provider and agent runtime. - [SuperPi.Gateway.Server](SuperPi.Gateway.Server.md): SuperPi HTTP Gateway Server for OpenAI-compatible client integrations (`REQ-GATEWAY-01`). Starts Bandit serving `SuperPi.Gateway.Router` on a configured port (default 4000). - [SuperPi.Gateway.Sessions](SuperPi.Gateway.Sessions.md): Stored mapping from a client session id to a conversation, per principal. - [SuperPi.Harness](SuperPi.Harness.md): Pluggable agent harness specification and registry (`REQ-HARNESS-01`). - [SuperPi.Harness.Assistant](SuperPi.Harness.Assistant.md): Assistant harness (`super-pi-assistant`): works with a human present and reaches the web. - [SuperPi.Harness.Code](SuperPi.Harness.Code.md): Coding harness (`super-pi-code`): mutates a repository, reversibly. - [SuperPi.Harness.DSL](SuperPi.Harness.DSL.md): The `use SuperPi.Harness` macro, kept in a module with no runtime dependencies. - [SuperPi.Harness.Defaults](SuperPi.Harness.Defaults.md): Builds the `pi.agent` defaults of a harness declared with `use SuperPi.Harness`. - [SuperPi.Harness.Librarian](SuperPi.Harness.Librarian.md): Librarian harness (`super-pi-librarian`): runs with no human present and remembers. - [SuperPi.Harness.Planner](SuperPi.Harness.Planner.md): Read-only planning harness (`super-pi-planner`). - [SuperPi.MCP.Client](SuperPi.MCP.Client.md): Client for one Model Context Protocol server, over stdio or Streamable HTTP. - [SuperPi.MCP.HTTPPlug](SuperPi.MCP.HTTPPlug.md): The MCP server over Streamable HTTP (revisions 2025-03-26 to 2025-06-18), as a Plug. - [SuperPi.MCP.Manager](SuperPi.MCP.Manager.md): Starts the MCP servers from `mcp_config.json` and exposes their tools to the agent. - [SuperPi.MCP.Server](SuperPi.MCP.Server.md): Model Context Protocol (MCP) server (`REQ-MCP-01`..`REQ-MCP-04`), over `stdio` here and over Streamable HTTP in `SuperPi.MCP.HTTPPlug`. - [SuperPi.MCP.Sessions](SuperPi.MCP.Sessions.md): Sessions of the Streamable HTTP server (`SuperPi.MCP.HTTPPlug`): the id a client carries in `Mcp-Session-Id`, and the connection state that `SuperPi.MCP.Server.handle_mcp_line/2` threads. - [SuperPi.MCP.Transport](SuperPi.MCP.Transport.md): How `SuperPi.MCP.Client` talks to one MCP server. The client owns the protocol (handshake, request ids, timeouts); a transport only moves JSON-RPC messages. - [SuperPi.MCP.Transport.Stdio](SuperPi.MCP.Transport.Stdio.md): Stdio transport: the server runs as an OS process and speaks one JSON-RPC 2.0 object per line. - [SuperPi.MCP.Transport.StreamableHTTP](SuperPi.MCP.Transport.StreamableHTTP.md): Streamable HTTP transport (MCP 2025-03-26 and later) on `Finch`, with the deprecated HTTP+SSE transport (2024-11-05) as a fallback. - [SuperPi.Memory](SuperPi.Memory.md): Durable notes that outlive a conversation: the store behind `SuperPi.Plugins.Memory`. - [SuperPi.Memory.Index](SuperPi.Memory.Index.md): The memory index that the Memory plugin injects as the `memory_index` system section. - [SuperPi.Memory.Search](SuperPi.Memory.Search.md): Lexical search over notes, without a vector store. - [SuperPi.Memory.Search.FTS5](SuperPi.Memory.Search.FTS5.md): SQLite backend: the `memories_fts` FTS5 table, ranked by `bm25()` (title 10, topics 5, body 1). - [SuperPi.Memory.Search.Like](SuperPi.Memory.Search.Like.md): Naive backend for tests, for a topic-only listing and for any storage without a native index. - [SuperPi.Memory.Search.Tsvector](SuperPi.Memory.Search.Tsvector.md): PostgreSQL backend: the generated `memories.search` `tsvector` column under a GIN index, ranked by `ts_rank_cd` (title weight A, topics B, body C). - [SuperPi.Plugins](SuperPi.Plugins.md): Plugin Registry & Dispatcher for Super-Pi-BEAM. - [SuperPi.Plugins.AutoCommit](SuperPi.Plugins.AutoCommit.md): Auto-Commit Plugin (migrated from Pi ecosystem `auto-commit-on-exit.ts`). - [SuperPi.Plugins.ConfirmDestructive](SuperPi.Plugins.ConfirmDestructive.md): Confirm Destructive Actions Plugin (migrated from Pi ecosystem `confirm-destructive.ts`). - [SuperPi.Plugins.CustomCompaction](SuperPi.Plugins.CustomCompaction.md): Custom Compaction Plugin (migrated from Pi ecosystem `custom-compaction.ts`). - [SuperPi.Plugins.GitCheckpoint](SuperPi.Plugins.GitCheckpoint.md): Git Checkpoint Plugin (migrated from Pi ecosystem `git-checkpoint.ts`). - [SuperPi.Plugins.Handoff](SuperPi.Plugins.Handoff.md): Handoff & Context Distillation Plugin (migrated from Pi ecosystem `handoff.ts`). - [SuperPi.Plugins.Hooks](SuperPi.Plugins.Hooks.md): Lifecycle Hooks Plugin (`SuperPi.Extension` behaviour). - [SuperPi.Plugins.InlineBash](SuperPi.Plugins.InlineBash.md): Inline Bash Plugin (migrated from Pi ecosystem `inline-bash.ts`). - [SuperPi.Plugins.JevRouter](SuperPi.Plugins.JevRouter.md): Jev Router Plugin (migrated from Pi ecosystem `jev-router.ts`). - [SuperPi.Plugins.Memory](SuperPi.Plugins.Memory.md): Durable memory: notes that outlive a conversation, with search and links. - [SuperPi.Plugins.Permissions](SuperPi.Plugins.Permissions.md): Permissions, Execution Modes, & Workspace Confinement Plugin (`SuperPi.Extension` behaviour). - [SuperPi.Plugins.PromptCustomizer](SuperPi.Plugins.PromptCustomizer.md): Prompt Customizer Plugin (migrated from Pi ecosystem `prompt-customizer.ts`). - [SuperPi.Plugins.ProtectedPaths](SuperPi.Plugins.ProtectedPaths.md): Protected Paths Plugin (migrated from Pi ecosystem `protected-paths.ts`). - [SuperPi.Plugins.Questionnaire](SuperPi.Plugins.Questionnaire.md): Questionnaire Plugin (migrated from Pi ecosystem `questionnaire.ts` & `question.ts`). - [SuperPi.Plugins.Rules](SuperPi.Plugins.Rules.md): Project & Agent Rules Plugin (`SuperPi.Extension` behaviour). - [SuperPi.Plugins.Scheduler](SuperPi.Plugins.Scheduler.md): Scheduled and webhook-triggered runs: the tools `schedule_create`, `schedule_list` and `schedule_cancel`. - [SuperPi.Plugins.Skills](SuperPi.Plugins.Skills.md): Progressive Disclosure Skills Plugin (`SuperPi.Extension` behaviour). - [SuperPi.Plugins.SlashCommands](SuperPi.Plugins.SlashCommands.md): Interactive Slash-Command Expansion Plugin (`SuperPi.Extension` behaviour). - [SuperPi.Plugins.StructuredOutput](SuperPi.Plugins.StructuredOutput.md): Structured Output Plugin (migrated from Pi ecosystem `structured-output.ts`). - [SuperPi.Plugins.Subagent](SuperPi.Plugins.Subagent.md): Subagent Orchestration Plugin (migrated from Pi ecosystem `subagent/`). - [SuperPi.Plugins.Todo](SuperPi.Plugins.Todo.md): Todo Task Ledger Plugin (migrated from Pi ecosystem `todo.ts`). - [SuperPi.Plugins.TranscriptLogger](SuperPi.Plugins.TranscriptLogger.md): Dual-Write JSONL Transcript Logger & MCP/Plugin Manager (`SuperPi.Extension` behaviour). - [SuperPi.Plugins.Web](SuperPi.Plugins.Web.md): Web access: `web_fetch`, and `web_search` when a search provider is configured. - [SuperPi.RPC.Server](SuperPi.RPC.Server.md): Day-1 JSON-RPC 2.0 Server over TCP, Unix Domain Socket, and `stdio` (`REQ-RPC-01`..`REQ-RPC-05`, `REQ-PBT-07`). - [SuperPi.Release](SuperPi.Release.md): Release tasks. Run them before the new version takes traffic - [SuperPi.Repo](SuperPi.Repo.md): Unified repository facade that dispatches to `SuperPi.Repo.SQLite` (default single-node WAL mode) or `SuperPi.Repo.Postgres` (a separate PostgreSQL instance; the only store a cluster of nodes can share) based on `:storage_backend` configuration. - [SuperPi.Repo.Migrator](SuperPi.Repo.Migrator.md): Applies pending migrations when the application starts, so a fresh checkout works without a separate `mix ecto.migrate` step. - [SuperPi.Repo.Postgres](SuperPi.Repo.Postgres.md) - [SuperPi.Repo.SQLite](SuperPi.Repo.SQLite.md) - [SuperPi.Schedule](SuperPi.Schedule.md): Scheduled and webhook-triggered runs: the logic behind `SuperPi.Plugins.Scheduler`, `SuperPi.Workers.ScheduleTickWorker`, `SuperPi.Workers.ScheduleRunWorker` and `SuperPi.Triggers`. - [SuperPi.Schedule.Cron](SuperPi.Schedule.Cron.md): Cron expressions with time zones. - [SuperPi.TUI.Owl](SuperPi.TUI.Owl.md): Day-1 Interactive Terminal UI built on `Owl` (`Decision 10`, `Step 10`). - [SuperPi.Telemetry](SuperPi.Telemetry.md): Traces and metrics for conversations. - [SuperPi.Tools](SuperPi.Tools.md): Built-in 3-Channel Tool Suite, 5 `ToolExposure` Modes, and Deferred `tool_search` Registry (`Step 8`). - [SuperPi.Triggers](SuperPi.Triggers.md): Webhook triggers: `POST /v1/triggers/:token`. - [SuperPi.UI.Broker](SuperPi.UI.Broker.md): Carries a question from a running turn to a client that can answer it, and the answer back. Works across nodes: the machine that asks and the client that answers can be on different nodes. - [SuperPi.UI.Pending](SuperPi.UI.Pending.md): Hands a decision from `before_tool` to `wrap_tool` for the same tool call. - [SuperPi.UI.PermissionPrompt](SuperPi.UI.PermissionPrompt.md): Asks a human whether a blocked tool call may run. Used by `SuperPi.Plugins.Permissions` and `SuperPi.Plugins.Hooks`. - [SuperPi.Web.Extract](SuperPi.Web.Extract.md): Turns a fetched body into text a model can read: markdown for HTML, pretty JSON, plain text. - [SuperPi.Web.Fetch](SuperPi.Web.Fetch.md): The HTTP side of `web_fetch`: one GET with the request-forgery policy, a decoded-byte cap and a deadline. It returns bytes and metadata. `SuperPi.Web.Extract` turns them into text. - [SuperPi.Web.Policy](SuperPi.Web.Policy.md): Request-forgery policy for `web_fetch`: which URLs an agent may make the node request. - [SuperPi.Web.Search](SuperPi.Web.Search.md): Search provider adapters for `web_search`. - [SuperPi.Web.Search.Brave](SuperPi.Web.Search.Brave.md): Brave Search adapter (`https://api.search.brave.com/res/v1/web/search`). - [SuperPi.Web.Search.SearxNG](SuperPi.Web.Search.SearxNG.md): SearxNG adapter. Needs an instance with the JSON format enabled (`search.formats` includes `json` in its `settings.yml`). - [SuperPi.Web.Search.Tavily](SuperPi.Web.Search.Tavily.md): Tavily adapter (`https://api.tavily.com/search`). - [SuperPi.Workers.CompactionWorker](SuperPi.Workers.CompactionWorker.md): Oban worker in `:compaction` queue that runs background (`backgroundTokens`) and threshold context compaction tasks (`REQ-OBAN-02`). - [SuperPi.Workers.GenerationWakeWorker](SuperPi.Workers.GenerationWakeWorker.md): Oban worker in `:generation_retry` queue that wakes sleeping `GenerationTask` records when their rate-limit backoff deadline (`sleep_until`) expires (`REQ-OBAN-01`). - [SuperPi.Workers.MemoryHarvestWorker](SuperPi.Workers.MemoryHarvestWorker.md): Oban worker in the `:compaction` queue that saves durable facts from the entries a compaction cuts. - [SuperPi.Workers.ScheduleRunWorker](SuperPi.Workers.ScheduleRunWorker.md): Starts one fire of a schedule. Unique on `[:schedule_id, :fire_at]` forever (`period: :infinity`), where `fire_at` is the scheduled minute (or a webhook's `Idempotency-Key`), so a duplicate tick or a webhook retry inserts nothing. `SuperPi.Schedule.run/2` then claims the fire with a conditional update, which makes an Oban retry or a `Lifeline` rescue harmless. - [SuperPi.Workers.ScheduleTickWorker](SuperPi.Workers.ScheduleTickWorker.md): The one static `Oban.Plugins.Cron` entry (`{"* * * * *", ScheduleTickWorker}`). The cron leader inserts one tick job per minute for the whole cluster. The tick accounts for settled runs and enqueues a `SuperPi.Workers.ScheduleRunWorker` job for each due schedule (`SuperPi.Schedule.tick/1`). - [SuperPi.Workers.SubagentWorker](SuperPi.Workers.SubagentWorker.md): Oban worker in the `:subagents` queue: runs one child conversation for `delegate_subagent`. - [SuperPi.Workers.VerificationWorker](SuperPi.Workers.VerificationWorker.md): Oban worker in `:verification` queue for `after_run` (`runEndTask`) verification jobs.