tix-tracker 0.12.0

A terminal issue tracker: markdown + YAML frontmatter issues with a kanban TUI and CLI
Documentation
### Capacity (what a cycle, team or assignee may commit)
- `[capacity.<id>]` in `tix.toml` targets **exactly one** scope: `cycle` (a cycle name
  or a generated cycle's stable id — the two spellings fold to one scope), `team` (a
  `[teams.<label>]` key) or `assignee` (a handle, `@ada` folding with `ada`), with an
  explicit `capacity` at or above zero and an explicit `unit` a board declares.
  `enabled = false` keeps the numbers and enforces nothing. Validation is
  field-aware and happens before the write, so a bad field is refused by name and
  nothing changes
- `tix capacity list` / `show <REF>` / `delete --scope … --id …` manage the section;
  `tix capacity set --scope cycle|team|assignee --id <REF> --value <N> --unit <UNIT>`
  is the one write path. A reference is a name **or** its stable id
- `tix capacity calculate --scope cycle|team|assignee --id <REF>` prints the shared
  calculation: `committed`, `completed`, `remaining`, `overflow` and `utilization`,
  plus the ceiling, unit, state and the counted/uncounted/unestimated issue counts.
  `--warnings` adds the overflow report on stderr
- Units convert **only explicitly** (a board's `[kanban.<board>.wip.units]` ratio:
  `1w` counts as `5d` when `w = 5`). An estimate in an undeclared or incompatible
  unit is a `missing_conversion` diagnostic — never a silent zero — and an issue with
  no estimate stays visible as unestimated. An absent value prints `-` (JSON `null`),
  never `0`; a scope with no ceiling in force is the explicit `unconfigured` state
- Every finding carries a machine-readable kind (`capacity_overflow`,
  `missing_conversion`, `unknown_scope`, …), the scope, the numbers, the unit and the
  offending issues, with a **reason** and a **remedy**. Overflow is a **report**: no
  surface moves, resizes or rewrites an issue, a record or a snapshot, and reading
  capacity writes nothing
- A close captures the scope's calculation **once** as immutable evidence under
  `docs/cycle_snapshots/` (`tix capacity snapshot <CYCLE>` reads it back); a reopen
  appends one `## History` event and leaves the prior snapshot byte-identical
- The TUI's `F8` Schedule page has a **Capacity** tab (`Tab` between `[Series]`,
  `[Cycle schedules]`, `[Capacity]`; `j`/`k` move, `q` back) rendering exactly the CLI's
  values, and appends the compact per-cycle cell to the board's cycle-grouped headers.
  MCP exposes `capacity_list`/`capacity_show`/`capacity_calculate`/`capacity_snapshot`
  (read-only; configuration is the CLI's write)
- `tix export --target capacity` writes the versioned local document (scopes,
  snapshots, history, diagnostics); remote `tix export --target gitlab|linear` mirrors
  issues and is **separate** — a remote target that cannot carry capacity is diagnosed
  as `unsupported_remote_field` rather than dropping data