### beads integration
- `tix beads detect|status|list|show` read a beads workspace through the `bd` CLI,
read-only; `tix beads watch` follows its events journal
- `tix beads push|pull` move issues between tix and beads (`bd import` / `bd export`),
and `tix beads reconcile` does both. `tix import --target beads` and
`tix export --target beads` are the same two directions on the export/import surface
- **Never open the beads Dolt database.** No SQL, no `.beads/embeddeddolt/`, and
`.beads/issues.jsonl` is not a source of truth — every interaction goes through
`bd`, which owns its schema, its single-writer store and its id assignment
- `[beads] mode = mirror` makes this repository read-only over beads: every
write path refuses. `mode = sync` installs
`.beads/hooks/{on_create,on_update,on_close}`, which run `tix beads pull` after
every beads mutation
- Identity lives in `.tix-beads-state.json` (safe to commit); do not hand-edit it