### Tracking OpenSpec work with tix
This project uses OpenSpec (detected via `openspec/`). Use tix to track its changes and tasks:
- Filing an OpenSpec change/task → `tix create --title "<change>: <task>" --labels openspec`
- Add the change's proposal/spec/plan in the issue markdown body.
- Opening an issue → `tix list --status "todo"`
- Associating work with a project → `tix project add <id> <sel>…`; `tix list
--project <id>` lists a project's issues
- Recording an issue's health → `tix health set <n> --state <state> --rationale "<why>"`
(states: unknown, on_track, needs_attention, at_risk; `tix health show <n>` reads one back)
- Marking a task done → `tix move <number> done` (interactive) or
`tix move <number> done --commit <hash>` (non-interactive)
- Commenting on a task issue → `tix edit <number>` (body/comment section is plain markdown)
- **REQUIRED — always use `tix mcp` to create and move tix issues** while
tracking OpenSpec work. The MCP server is wired into this repo
(`opencode.jsonc`), so in opencode call the `tix_*` tools directly:
`create_issue` to file a new task issue, `move_issue` to advance it (moving
to `done` records the commit via the `commit` argument), and the read tools
(`list_issues`, `get_issue`, `board_status`, `search_issues`) to inspect the
board. Do NOT hand-edit issue files or drive status changes through the CLI
prompts. See `docs/mcp.md`.
- **REQUIRED — mirror every OpenSpec change/task as a tix issue.** For each finished
change, create tix issues replicating: (1) every task in the change's `tasks.md`
as its own issue, and (2) every review finding / follow-up item. All get
`--labels openspec`. Add the task spec/plan in the issue body. Mark matching
issues `done --commit <hash>` when the change/task lands.