Ports settled-reach's decisions_sync.py + ticket + decision scripts, Scrum-stripped. Writes to .pql/pql.db (gitignored). Verb shape mirrors the eventual `pql` subcommands so migration is a call-site find-replace once pql ships feature parity (D-040, R-011). Ticket IDs are T-NNN (TEXT PKs) — reshape from settled-reach's integer auto-increment so the stopgap's writes are compatible with pql's future reads without a data migration. No `sprints` table; the pyramid is kanban / waterfall (D-035). Verified end-to-end: sync parses 71 records (39 confirmed, 23 open questions, 9 rejected) with 62 cross-refs and zero broken links; `ticket new`, `ticket status`, `ticket board`, and `decisions show --with-refs` all round-trip correctly. Co-Authored-By: Claude <noreply@anthropic.com>
1.8 KiB
1.8 KiB
STOPGAP — Planning tooling
This directory is a time-limited stopgap. The Python scripts here
port settled-reach's decisions_sync.py + ticket + decision
scripts, Scrum-stripped, and write to .pql/pql.db (gitignored).
Sunset clause
Per D-040
and R-011,
this stopgap deletes when pql ships:
pql decisions sync | validate | list | show | claim | coveragepql ticket new | list | show | status | assign | block | board
with feature parity on the same .pql/pql.db file this stopgap wrote.
Migration is a call-site find-replace:
tools/scripts/plan decisions sync → pql decisions sync
tools/scripts/plan ticket new task "…" → pql ticket new task "…"
tools/scripts/plan ticket board → pql ticket board
See Q-021
for the open gate on whether pql absorbs planning long-term.
Entrypoint
plan is a Python executable. Support modules live under planning/.
plan decisions sync | validate | claim D|Q|R <domain> [title] | list | show <id> | coverage
plan ticket new <type> "title" | list | show <id> | status <id> <new> | assign <id> <agent>
plan ticket block <id> --by <other> | unblock <id> --from <other>
plan ticket team <id> <team> | label <id> add|rm <label> | board | search "query"
plan sqlite-query "SELECT …"
Needs Python 3.9+ (f-strings + pathlib). No third-party deps.
Where things live
- DB:
.pql/pql.db(gitignored, per-dev) - Records (source of truth):
decisions/*.md - Tickets: today SQLite-only; see
Q-022for the markdown-mirror question.