# v0.2 scope: trustworthy coordination

Owner: `pm-lead`. Basis: [audit.md](./audit.md) and [backlog.md](./backlog.md).

v0.1 already does the hard part: a declared workflow, exclusive claims, and a
board that is plain files. The gap is not features — it is that an agent cannot
see the rules, cannot see when a claim went quiet, and pays for a whole board in
context on every call.

## In scope

| Task | Why now |
|---|---|
| T-0002 design spec | Binds the wording and formats so three code tasks cannot drift apart. |
| T-0007 correctness pack | A tool contract that promises `rev` must print `rev`; errors must be actionable. |
| T-0003 agent briefing | A fresh session learns the rules from the tool surface, not from a wiki. |
| T-0004 bounded listing | A 100-task board must not cost 100 rows per call. |
| T-0006 stale claims and `/kanban release` | A departed agent must not leave work unreachable. |
| T-0005 unreadable task files | One bad file must not blank the board. |

## Deliberately deferred

| Backlog item | Decision |
|---|---|
| #2 enforce assignment in every non-terminal status | Rejected for v0.2. It changes the claim model that ADR 0008 defines. The race it describes is already closed whenever the source or target status is active, because the move happens under the board lock. Revisit only with a new ADR and a migration note. |
| #9 record a reason on forced moves | Good idea, but it adds a field to history and a parameter to two tools. Post-1.0. |
| #10 third-party assignment needs `force` | Same objection as #2: assignment outside an active status is a hint, not a claim, by design. Document it; do not enforce it. |
| #6 `/kanban` paging beyond TUI scrollback | Deferred. `kanban_list` is the agent path and gets paging in T-0004; the human path can use `--json` and `status`. |

## Release criteria for v0.2

- [ ] `npx vitest run` and `npx tsc --noEmit` clean.
- [ ] A fresh agent session, given only tools, can name the initial status, the active statuses, and the `force` rule after one `kanban_list`.
- [ ] A board with one malformed task file still lists its readable tasks.
- [ ] `kanban_list` on a 137-task board prints at most 50 rows plus an exact continuation line.
- [ ] A claim older than 24h is reported by `/kanban validate` and can be released by `/kanban release T-000X --yes`.
- [ ] README, docs/workflow.md, docs/task-file.md and ADR 0004 describe the shipped behavior; ADR 0004 records the one human release exception.
- [ ] Version bumped to 0.2.0 in package.json.
