Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/openai/symphony/llms.txt

Use this file to discover all available pages before exploring further.

The tracker configuration section defines how Symphony connects to your issue tracking system to poll for work and fetch issue details.

Configuration

WORKFLOW.md
tracker:
  kind: linear
  project_slug: "symphony-0c79b11b75ea"
  active_states:
    - Todo
    - In Progress
    - Merging
    - Rework
  terminal_states:
    - Closed
    - Cancelled
    - Canceled
    - Duplicate
    - Done
  api_key: $LINEAR_API_KEY

Fields

kind
string
required
Issue tracker type. Currently only linear is supported.Required for dispatch. The orchestrator validates this field before starting the polling loop.
project_slug
string
required
Linear project identifier (the project’s slugId value).Required when kind: linear. Used to filter issues during candidate polling.Example: "symphony-0c79b11b75ea"
active_states
array
default:"[\"Todo\", \"In Progress\"]"
List of issue states that trigger agent dispatch.Issues in these states are eligible for orchestration. The orchestrator polls for issues matching these states on each tick.Can be specified as:
  • YAML array: ["Todo", "In Progress"]
  • Comma-separated string: "Todo, In Progress"
State matching is case-insensitive after trimming.
terminal_states
array
List of issue states considered complete.Issues that transition to these states:
  • Are stopped if currently running
  • Have their workspaces cleaned up on service startup
  • Are excluded from retry scheduling
State matching is case-insensitive after trimming.
api_key
string
required
Authentication token for the issue tracker API.Supports environment variable indirection using $VAR_NAME syntax:
  • $LINEAR_API_KEY reads from the LINEAR_API_KEY environment variable
  • Literal token strings are also accepted (not recommended for production)
Required when kind: linear. If the value resolves to an empty string, it’s treated as missing.
The canonical environment variable for Linear is LINEAR_API_KEY.
endpoint
string
default:"https://api.linear.app/graphql"
GraphQL API endpoint for the Linear tracker.Automatically defaults to https://api.linear.app/graphql when kind: linear.
assignee
string
Filter issues by assignee (optional).Supports environment variable indirection using $VAR_NAME syntax. Canonical environment variable: LINEAR_ASSIGNEE.

Validation

The orchestrator performs preflight validation before dispatch:
  1. Startup validation: Checks configuration before starting the polling loop
  2. Per-tick validation: Re-validates before each dispatch cycle
Validation failures:
  • Block new dispatches (reconciliation continues)
  • Emit operator-visible errors in logs
  • Use the last known good configuration for running sessions

Configuration Reloading

Tracker configuration changes are applied dynamically:
  • Active/terminal state changes affect future dispatch and reconciliation decisions
  • Running sessions continue with their original configuration
  • No restart required for configuration updates

Examples

Basic Linear Integration

WORKFLOW.md
tracker:
  kind: linear
  project_slug: "my-project-abc123"
  api_key: $LINEAR_API_KEY

Custom State Workflow

WORKFLOW.md
tracker:
  kind: linear
  project_slug: "symphony-0c79b11b75ea"
  active_states:
    - Todo
    - In Progress
    - Merging
    - Rework
  terminal_states:
    - Closed
    - Cancelled
    - Canceled
    - Duplicate
    - Done
  api_key: $LINEAR_API_KEY

With Assignee Filter

WORKFLOW.md
tracker:
  kind: linear
  project_slug: "my-project"
  assignee: $LINEAR_ASSIGNEE
  api_key: $LINEAR_API_KEY
  • polling - Control how often Symphony checks for new work
  • agent - Manage concurrency limits for running agents

Build docs developers (and LLMs) love