# Issue Ordering
The board uses two layers of ordering:
1. The default order from `order_by`.
2. A sparse `card_order` override for cards whose positions differ from that default.
Both are stored per board in `docs/boards/<name>.md` frontmatter (the file name
is a slug of the board's `name`). A project that predates the file store keeps
its `[kanban.<name>]` tables in `tix.toml`, and those load unchanged while
`docs/boards/` is absent; once the directory exists, its files win.
```yaml
---
name: default
columns:
- todo
- in progress
- in review
- done
done_column: done
card_order: []
order_by: created_at_desc
---
```
## Default order
`order_by` controls the automatic per-column order:
- `created_at_desc`: newest first
- `created_at_asc`: oldest first
- `none`: keep the store order
If `card_order` is empty, the board renders exactly from `order_by`.
## Sparse manual order
`card_order` is not a full snapshot of the column.
It stores only the cards whose positions differ from the automatic order,
in the order they appear after the manual change.
Example:
- Default: `A B C D`
- User swaps `B` and `D`
- Stored `card_order`: `D B`
On reload, the board starts from the default order and replaces the cards at
the changed positions with the stored sequence.
This keeps the board file small while still restoring the exact manual layout.
## Drag behavior
When you drag a card within the same column, the board saves the changed cards
for that column only. Unchanged cards are not written to `card_order`; the
update lands in that board's `docs/boards/<name>.md` file.