Files
settled-reach/.claude/rules/ticket-cli.md
T
jpmschweitzerandClaude Opus 4.6 e6a557e8e7 feat(meta): replace sprint workflow with kanban + milestones (D-221)
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>
2026-05-03 20:11:00 +02:00

2.1 KiB

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.

# 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

# 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