tix-tracker 0.12.0

A terminal issue tracker: markdown + YAML frontmatter issues with a kanban TUI and CLI
Documentation
# Data Model

## Canonical issue graph identity

An issue's 8-character `id:` is the canonical identity for local graph data. It
must be unique across the active and archived issue sets. The `number:` field
remains a human-facing convenience alias and may be reused by another clone, so
it is never written as a parent or relationship endpoint.

Current frontmatter stores canonical ids:

```yaml
parent: A1B2C3D4
relationships:
- id: rel_01M...
  from: B2C3D4E5
  to: A1B2C3D4
  kind: blocks
  display: blocks #42 Parent issue
```

Command inputs accept a number, an id, a filename fragment, or a unique title
fragment. All four spellings reach the same issue:

```sh
tix view 42
tix view '#42'
tix view A1B2C3D4
tix view 2026-10-28-A1B2C3D4-parent.md
tix view "Parent issue"
```

A numeric alias resolves only when exactly one issue carries that number. When
two merged files both claim `number: 42`, `tix view 42` is refused and names both
canonical ids; `tix view <id>` still selects one. No selector or graph operation
guesses between collisions.

Legacy files with numeric graph endpoints are readable only for migration. See
[issue-graph-migration.md](issue-graph-migration.md).

Raw frontmatter is a machine interface. Consumers must read `id:` values from
`parent:`, `relationships.from`, and `relationships.to`; CLI and MCP rendered
payloads retain `number` as a display alias beside the canonical identity.