v0.8.0 - current runtime bundle
This release tag was updated on 2026-07-03 to point at the current main
runtime bundle.
Highlights
- Built-in web Kanban app served at
/from the Symphony orchestrator port. - Browser-based workflow editing for board columns, stage prompts, and branch
policy. - Ticket create/edit/delete from the web app and TUI, with drag-and-drop state
moves and live run badges. - Default workflow simplified to
Todo -> In Progress -> Verify -> Learn,
followed byHuman ReviewandDone. - OpenCode is now a first-class backend alongside Codex, Claude Code, Gemini,
and Pi. - Local reliability hardening: SQLite run leases, persisted retry/pause/budget
issue flags, file-tracker write locks, and/api/v1/health. - Public docs, Korean README, landing page, package metadata, and architecture
notes now match the current runtime. - GitHub README navigation now has a compact table of contents, mirrored in the
Korean README. - GitHub Pages deployment now has an explicit checked-in static workflow for
docs/, with the repository switched to workflow build mode.
Web board and workflow editing
symphony --port 9999 and symphony service start serve a full browser app at
the orchestrator root. Operators can inspect work, register issues, edit issue
metadata, move cards, and monitor active runs without a separate frontend build
step, CDN dependency, or account flow.
The Workflow page lets operators add, delete, rename, and reorder Kanban
columns, edit each stage prompt, and adjust branch policy from the browser.
Writes round-trip through WORKFLOW.md using comment-preserving YAML handling.
When columns are renamed or removed, affected tickets migrate automatically; if
a column has an active worker, the edit is rejected with a conflict response.
Ticket operations
Tickets can be created from the web app or with the TUI n shortcut, then
edited or deleted through the browser API. The web board supports drag-and-drop
state transitions plus per-column create buttons. Running tickets show live
badges for turn count, token usage, and pause/resume state.
Skills, stats, and API
Local skills/<name>/SKILL.md files can be attached to individual tickets from
the web modal, the TUI form, or skills: frontmatter. On the first agent turn,
Symphony appends the selected skill bodies to the dispatch prompt.
The .symphony/stats.jsonl event store records turns, transitions, and run
outcomes. The web Stats page and the TUI s screen aggregate tokens per day,
completed work per day, per-column dwell time, per-agent totals, and average
cycle time.
REST endpoints now cover issue CRUD, board reads, workflow state editing,
prompt editing, branch policy updates, skill discovery, stats, git branch
discovery, Learn skip, refresh, and runtime health. Mutating endpoints require
JSON content and loopback Host validation.
README and Pages deployment
The GitHub README now includes a compact top-level table of contents for the
major operator sections. The Korean README mirrors the same navigation so the
two entry docs remain structurally aligned.
Pages deployment is now owned by .github/workflows/pages.yml. The workflow
publishes docs/ with explicit permissions, concurrency, and current Pages
actions. The repository Pages setting is configured for workflow build mode.
Runtime and reliability changes
- OpenCode backend support uses
opencode run --format json --auto, with
session continuation when OpenCode reports a session id. - SQLite run leases block duplicate dispatch after restart and reclaim
dead-owner leases. - Retry, pause, and budget-exhausted issue flags survive process exit.
- File tracker writes use locked compare-and-swap mutation paths.
- The operator-facing docs now describe the single-node/local recovery boundary
precisely: persisted leases and flags do not reattach to a worker lost during
a hard crash.
Dependency change
ruamel.yaml is required so Symphony can edit WORKFLOW.md while preserving
comments and formatting better than a plain YAML rewrite.
Release commit: 7be48e2