Sprint-based workflow (38 sprints) replaced by kanban + milestones. Milestones are many-to-many with tickets and can block each other. New: /whats-next skill (dependency-driven batch selection with Si refinement review), /pr-process skill (renamed from pr-push, adds review comment pickup), clerk agent + pre-push hook for D-record consistency checks. Deleted: sprint CLI, sprint-start/sprint-plan/sprint-status skills, team-scoped file restrictions. Si rewritten as refinement manager. All 19 agent briefings updated from stale PROJECT_STATE.md reference to live ticket milestone queries. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# Ticket CLI
|
|
|
|
**Use `tooling/db/ticket`** for all ticket operations. Never use `sqlite3` directly (crashes in Claude Code).
|
|
|
|
## Positional arguments — not flags
|
|
|
|
`ticket create` uses **positional** arguments for `type` and `title`. There is no `--title` flag.
|
|
|
|
```bash
|
|
# CORRECT — type and title are positional
|
|
tooling/db/ticket create story "My ticket title" --description "Details here" --team server --priority low
|
|
|
|
# WRONG — --title does not exist, gets absorbed into the title string
|
|
tooling/db/ticket create story --title "My ticket title" --description "Details here"
|
|
# Creates a ticket titled: "--title My ticket title"
|
|
```
|
|
|
|
## Full usage
|
|
|
|
```bash
|
|
# Create
|
|
tooling/db/ticket create <type> <title> [--parent N] [--priority P] [--decision D] [--team T] [--description TEXT]
|
|
# type: initiative | epic | story | task | bug
|
|
# priority: critical | high | medium | low
|
|
|
|
# Read
|
|
tooling/db/ticket show <id>
|
|
tooling/db/ticket list [--milestone N] [--team T] [--status S]
|
|
|
|
# Update
|
|
tooling/db/ticket assign <id> <agent>
|
|
|
|
# Dependencies
|
|
tooling/db/ticket deps <id>
|
|
tooling/db/ticket dep add <blocker_id> <blocked_id>
|
|
tooling/db/ticket dep rm <blocker_id> <blocked_id>
|
|
|
|
# WIP
|
|
tooling/db/ticket wip
|
|
|
|
# Milestones
|
|
tooling/db/ticket milestone list [--status S]
|
|
tooling/db/ticket milestone create <name> [--description TEXT] [--phase N]
|
|
tooling/db/ticket milestone link <ticket_id> <milestone_id>
|
|
tooling/db/ticket milestone unlink <ticket_id> <milestone_id>
|
|
tooling/db/ticket milestone complete <milestone_id>
|
|
tooling/db/ticket milestone show <milestone_id>
|
|
tooling/db/ticket milestone dep <blocker_id> <blocked_id>
|
|
```
|
|
|
|
## Key rules
|
|
|
|
- **Type and title are positional** — everything else is a flag
|
|
- **Quote the title** — always wrap in double quotes to handle spaces
|
|
- **Never use `sqlite3` CLI** — it crashes (std::bad_alloc). Use `tooling/db/sqlite-query` or `tooling/db/sqlite-exec` for raw SQL
|
|
- **Verify after create** — run `tooling/db/ticket show <id>` to confirm the title is clean
|
|
- **Milestones are many-to-many** — a ticket can be linked to multiple milestones via `milestone link`
|