Common Issues
Configuration Errors
Missing Linear API Token
Symptom:LINEAR_API_KEY environment variable or configure it in WORKFLOW.md:
config.ex:398-410 (elixir/lib/symphony_elixir/…)
Missing Project Slug
Symptom:project_slug to your tracker configuration:
- Go to Linear
- Right-click on your project
- Copy the URL
- Extract the slug from the URL:
https://linear.app/project/{slug}/issues
config.ex:412-424 (elixir/lib/symphony_elixir/…)
Missing Codex Command
Symptom:WORKFLOW.md:
config.ex:426-432 (elixir/lib/symphony_elixir/…)
Unsupported Tracker Kind
Symptom:config.ex:389-396 (elixir/lib/symphony_elixir/…)
Startup Issues
Workflow File Not Found
Symptom:
Source:
cli.ex:54-71 (elixir/lib/symphony_elixir/…)
Supervisor Not Running
Symptom:-
Application dependencies are installed:
-
Configuration is valid:
- Required services (database, network) are available
cli.ex:174-178 (elixir/lib/symphony_elixir/…)
Runtime Issues
Agent Task Exited Unexpectedly
Symptom:Increase Timeout Values
Increase Timeout Values
Configure longer timeouts in Source:
WORKFLOW.md:config.ex:31-34 (elixir/lib/symphony_elixir/…)Check Codex Logs
Check Codex Logs
Examine logs for the specific session:
Review Workspace State
Review Workspace State
Inspect the workspace for the failed issue:
- Base delay: 10 seconds
- Maximum backoff: 300 seconds (5 minutes)
orchestrator.ex:14-30 (elixir/lib/symphony_elixir/…)
Orchestrator Snapshot Unavailable
Symptom: Dashboard shows “Orchestrator snapshot unavailable” Solution:-
Check Orchestrator Process:
-
Verify Snapshot Timeout:
Increase the snapshot timeout if the orchestrator is slow:
- Restart Symphony: If the orchestrator is deadlocked, restart the service
http_server.ex:269-291 (elixir/lib/symphony_elixir/…)
Workspace Issues
Workspace Creation Failed
Symptom:
Source:
config.ex:227-232 (elixir/lib/symphony_elixir/…)
Hook Timeout
Symptom:config.ex:27 (elixir/lib/symphony_elixir/…)
HTTP Server Issues
Port Already in Use
Symptom:Connection Refused
Symptom:-
Verify Server is Running:
Check that Symphony was started with
--portflag -
Check Host Binding:
If binding to a different host, adjust the URL:
- Firewall Rules: Ensure firewall allows connections to the port
http_server.ex:55-78 (elixir/lib/symphony_elixir/…)
Debugging Techniques
Enable Verbose Logging
Increase log detail by examining the structured logs:Inspect Orchestrator State
Use the API to inspect current state:Check Codex Process
Verify Codex processes are running:Inspect Workspace
Examine workspace contents for debugging:Monitor Resource Usage
Track Symphony’s resource consumption:Error Recovery
Manual Workspace Cleanup
If workspaces are not cleaned up automatically:Force Restart Agent
To force restart a stuck agent:-
Identify the Codex process:
-
Kill the process:
- Symphony will detect the failure and schedule a retry
orchestrator.ex:91-132 (elixir/lib/symphony_elixir/…)
Reset Retry State
If an issue is stuck in retry loop:- Move the Linear issue to a terminal state (Done/Cancelled)
- Wait for Symphony to detect the change
- Move the issue back to an active state
- Symphony will start fresh with attempt count reset
Database Recovery
Symphony uses in-memory state (no persistent database). To reset all state:Restarting Symphony will:
- Clear all in-memory state
- Clean up terminal workspaces
- Re-poll Linear for active issues
- Resume from fresh state
Getting Help
If you’re still experiencing issues:- Check Logs: Review
./log/symphony.logfor detailed error messages - Verify Configuration: Ensure
WORKFLOW.mdis valid YAML with all required fields - Test Codex: Run
codex app-servermanually to verify it works - Check Network: Ensure Linear API is reachable
- Review Documentation: See the SPEC.md for implementation details