add Python stopgap planning tooling under tools/scripts/plan

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>
This commit is contained in:
2026-04-21 17:28:10 +02:00
co-authored by Claude
parent cede971646
commit a96a54ec7f
13 changed files with 1201 additions and 1 deletions
+6 -1
View File
@@ -48,9 +48,14 @@ coverage.*
/tmp/
# -- pql per-repo state (clide dogfoods against itself; pql's index lands
# here when running queries locally). Mirror what `pql init` writes.
# here when running queries locally). `pql.db` is also where the
# `tools/scripts/plan` stopgap writes decisions + tickets (D-040).
/.pql/
# -- Python stopgap tooling under tools/scripts/plan ------------------
tools/scripts/__pycache__/
tools/scripts/planning/__pycache__/
# -- SQLite index files (defensive; should never land at repo root) ----
*.sqlite
*.sqlite-journal