Agents ​
| Workflow | Type | Description |
|---|---|---|
| agents._ft-dataset.build-examples | Linear | Build JSONL examples from completed AgentSessions |
| agents._ft-dataset.finalize | Linear | Mark AgentDataset as READY after successful upload |
| agents._ft-dataset.mark-failed | Linear | Compensation: set AgentDataset status to FAILED on build pipeline failure |
| agents._ft-dataset.upload | Linear | Upload built JSONL to storage and update the dataset row |
| agents._ft-dataset.validate | Linear | Gate and transition AgentDataset to BUILDING status |
| agents._infra-cost-sync.fetch-aws | Linear | Fetch AWS Cost Explorer billing data for agent sessions |
| agents._infra-cost-sync.fetch-do | Linear | Stub: DigitalOcean has no real-time per-resource billing API |
| agents._infra-cost-sync.fetch-gcp | Linear | Fetch GCP BigQuery billing-export cost for agent sessions |
| agents._infra-cost-sync.noop | Linear | No-op saga compensation for read-only infra-cost-sync layers |
| agents._infra-cost-sync.persist | Linear | Sum persisted AgentInfraCostEntry rows and update AgentSession infra_cost_usd |
| agents._infra-cost-sync.resolve-sessions | Linear | Resolve completed billable agent sessions for the requested date range |
| agents._session-launch.fetch-secrets | Linear | Validate AI provider credentials are decryptable for the session |
| agents._session-launch.launch-runner | Linear | Start the runner execution workflow and mark the session as RUNNING |
| agents._session-launch.load-mcp | Linear | Load MCP server definitions for the agent session |
| agents._session-launch.load-memory | Linear | Load agent memory entries and serialize them for injection into the runner |
| agents._session-launch.load-skills | Linear | Load agent skill definitions for the session |
| agents._session-launch.mark-failed | Linear | Compensation: mark the AgentSession as FAILED on runner launch failure |
| agents._session-launch.start-watch | Linear | Start the agent session watch workflow to track runner lifecycle |
| agents._session-launch.validate-create | Linear | Validate agent config and create AgentSession in PENDING status |
| agents.agent-config.clone | Linear | Clone an existing agent configuration |
| agents.agent-config.create | Linear | Create a new agent configuration |
| agents.agent-config.delete | Linear | Soft-delete an agent configuration |
| agents.agent-config.draft-from-description | Atomic | Draft a complete agent config (name, system prompt, model, memory) from a human-typed job description. Wraps ai.chat.complete with an internal system prompt that never leaves the server. |
| agents.agent-config.guidance-attach | Linear | Pin an exact trusted guidance-package version to an agent config. |
| agents.agent-config.guidance-detach | Linear | Detach an exact guidance-package version from an agent config. |
| agents.agent-config.mcp-attach | Linear | Attach an MCP server to an agent configuration |
| agents.agent-config.mcp-detach | Linear | Detach an MCP server from an agent configuration |
| agents.agent-config.purge | Linear | Permanently delete a soft-deleted agent configuration with no sessions |
| agents.agent-config.skill-attach | Linear | Attach a skill to an agent configuration |
| agents.agent-config.skill-detach | Linear | Detach a skill from an agent configuration |
| agents.agent-config.update | Linear | Update fields on an existing agent configuration |
| agents.budget-check | Linear | Check cumulative session cost against the budget and enforce limits |
| agents.cost-entry-record | Linear | Append a token-cost ledger row for a single LLM step within an agent session |
| agents.end-user.ask | Linear | Ask the app's agent a question. Runs a real agent session under the calling end-user's own authority: its tools are exactly the compositions this app exposed to end-users, every tool call is re-authorized, and the answer returns in the terminal state. |
| agents.end-user.ask-stream | Linear | Ask the app's agent a question and stream the answer token-by-token. Same bounded end-user session as agents.end-user.ask (its tools are exactly the app's exposed compositions, every call re-authorized); the answer also returns in the terminal state. |
| agents.ft-dataset.build | Dag | Build and upload a fine-tuning dataset from completed agent sessions |
| agents.ft-dataset.create | Linear | Create a new fine-tuning dataset export definition for the organization |
| agents.ft-dataset.delete | Linear | Soft-delete a fine-tuning dataset record |
| agents.ft-dataset.validate-format | Linear | Sample completed sessions and validate they render correctly in the dataset's export format |
| agents.infra-cost-sync | Dag | Fetch and persist infrastructure costs for billable agent sessions |
| agents.mcp-server.call-tool | Linear | Execute an MCP tool through a registered server |
| agents.mcp-server.discover-auth | Linear | Discover an MCP server's OAuth authorization server (RFC 9728/8414) and stage a connection for consent. Reuses an existing DCR client and user grant; pass reauthorize=true only to rotate the client (wipes tokens). |
| agents.mcp-server.refresh | Linear | Refresh the tool catalog for an existing MCP server |
| agents.mcp-server.register | Linear | Register a new MCP server |
| agents.mcp-server.test-connection | Linear | Test reachability and credentials for a registered MCP server |
| agents.mcp-server.update | Linear | Update a registered MCP server (url, description, transport, credential link) |
| agents.memory-distill | Linear | Distill a finished agent session into memory entries, gated on the config's memory_write_enabled flag |
| agents.memory-load | Linear | Load agent memory entries for a given agent config and task |
| agents.memory-prune | Linear | Prune excess memory entries for an agent config, removing lowest-importance oldest first |
| agents.memory-save | Linear | Save new memory entries for an agent config |
| agents.metrics-event-record | Linear | Append a typed event to an agent session event log |
| agents.metrics-memory-record | Linear | Append a memory query record to an agent session |
| agents.metrics-step-close | Linear | Close a step metric row with token counts and latency |
| agents.metrics-step-open | Linear | Open a step metric row for a single LLM call within an agent session |
| agents.metrics-tool-record | Linear | Append a tool call record to a session and emit a Lumen tool span |
| agents.model-capacity.acquire | Linear | Atomically reserve one agent model call against admitted RPM and TPM |
| agents.org-settings.upsert | Linear | Create or update agent org settings for an organisation |
| agents.price-catalog-sync | Linear | Sync the built-in model pricing catalog to the global AgentPriceConfig table |
| agents.price-config.upsert | Linear | Create or replace an organisation-specific model price override |
| agents.runner-group.disable | Linear | Disable agent support on a runner group, guarded by an active-session check |
| agents.runner-group.enable | Linear | Enable agent support on a runner group that is in ACTIVE status |
| agents.session-cancel-record | Linear | Set agent session status to CANCELLED |
| agents.session-create | Linear | Create a new agent session and open a Lumen observability trace |
| agents.session-fetch-attachments | Atomic | Read-only: resolve StorageObject attachments for an agent session into a metadata manifest; presigned URLs are redacted from workflow state |
| agents.session-finalize | Linear | Aggregate metrics and mark an agent session as COMPLETED |
| agents.session-finalize-cancel | Linear | Mark an agent session as CANCELLED and close the Lumen trace |
| agents.session-finalize-failure | Linear | Aggregate metrics and mark an agent session as FAILED |
| agents.session-heartbeat | Linear | Update the last heartbeat timestamp on an agent session |
| agents.session-heartbeat-rate | Linear | Compute heartbeat age and emit a health metric for a running agent session |
| agents.session-infra-cost-fetch | Linear | Return the summed infrastructure cost for an agent session from AgentInfraCostEntry rows |
| agents.session-infra-cost-reconcile | Dag | Re-observe and persist infrastructure cost for one terminal agent session using server-side runner-group billing configuration |
| agents.session-launch | Dag | Launch a new agent session: validate, create, load context, start runner, start watch |
| agents.session-notify | Linear | Send a Slack notification for an agent session lifecycle event |
| agents.session-rate | Linear | Record a quality rating for a completed agent session |
| agents.session-restore | Linear | Build a restore context payload from an existing agent session |
| agents.session-stop | Linear | Signal a running agent session to cancel (stop request) |
| agents.session-sweep-orphaned | Linear | Fail non-terminal agent sessions whose runner stopped reporting and whose per-session watch is no longer polling |
| agents.session-watch | Linear | Poll runner workflow status and finalize the agent session when done |
| agents.skill-package.import | Linear | Import a provider-blind guidance package pinned to an exact Git object. |
| agents.skill-package.revoke | Linear | Revoke a guidance-package version for new sessions without deleting history. |
| agents.skill-package.sync | Linear | Sync an exact new guidance-package revision without mutating old versions. |
| agents.skill-package.trust | Linear | Trust a validated, artifact-backed guidance package. |
| agents.skill.create | Linear | Create a new agent skill |
| agents.skill.delete | Linear | Soft-delete an agent skill |
| agents.skill.update | Linear | Update fields on an existing agent skill |
| agents.skill.validate | Linear | Validate an agent skill's backend connectivity and update last_validated_at |
| agents.software-delivery.cleanup-minimize | Linear | Minimize Agent-owned prompt or tool metadata under one exact leased software-delivery cleanup task |
| agents.tool-call.execute | Linear | Execute one model-requested tool call through the canonical workflow boundary |
| agents.tool-catalog.build | Linear | Build the exact OpenAI-compatible tool catalog an agent session may expose to the LLM |
| agents.tool-policy.evaluate | Linear | Evaluate whether a model-requested tool call may run or requires approval |
| agents.webhook-trigger | Linear | Evaluate and dispatch outbound webhooks for an agent session event |
