Local Symphony MVP for running a workflow-driven agent orchestration dashboard.
npm test
npm run devOpen http://localhost:4173.
On first run, the app creates a local WORKFLOW.md from WORKFLOW.example.md. Keep WORKFLOW.md local because it may contain tokens, local paths, and machine-specific commands.
WORKFLOW.mdloader/editor with YAML front matter and prompt body.- Local HTTP API for workflow state, orchestrator state, refresh, complete, fail, and stop actions.
- Linear project authentication and issue sync through a local API key.
- Kanban UI for candidate, claimed, running, retry, completed, stopped, and failed work.
- In-app toast notifications and optional browser notifications when agents complete, fail, or stop.
execution.mode: scriptsupport for wiring the Run/Stop controls to a local workflow command.- Live agent progress cards fed by workflow script output.
Workflow scripts can update running cards by printing JSONL progress events to stdout or stderr:
{"type":"agent_progress","issue_id":"MST-1","phase":"coding","message":"Editing runner wiring","last_output":"Updated src/server.js"}issue_id may be the Linear issue id or identifier. The same update can also be sent to POST /api/agents/:id/progress with phase, currentActivity, and lastOutput.
Plain stdout and stderr lines are also captured. If a line mentions an issue id or identifier, Maestro attaches it to that card; otherwise it is shown on all currently running cards as the latest workflow script output. If the workflow script exits with a non-zero code, running cards move to Failed with the exit reason.
The bundled scripts/run-workflow.js is a local monitor that keeps the workflow process alive and reports card progress. It does not run Codex agents by itself; connect a real execution adapter by replacing execution.command or extending that script.