feat(meta): seed 1013 tickets into pql changelog (pql migration phase 2)
One-way ticket data migration from the legacy settledreach.db into pql's git-tracked changelog. Establishes the T-N == #N id bijection (old #440 -> T-440) so thousands of #NNN git-commit references stay a trivial mapping. Migrated (verified by full `pql plan rebuild` from changelog): - 1013 tickets (status + type distributions match source exactly) - 481 dependencies - 16 history rows (deterministic content hash so ON CONFLICT(hash) dedups) - 90 labels = 48 source + 42 milestone-derived (active "Phase 4" milestone -> phase:4; "Process Rewire" -> milestone:process-rewire; milestone_deps was empty/vestigial) Transforms: ids T-prefixed, sprint_id dropped (legacy/archival), decision_ref and the one 'server,client' comma-team (#575) kept verbatim, deleted_at NULL, canonical_version 1. Seeded rows carry hash=NULL on tickets/deps/labels — proven safe: PK-based ON CONFLICT, updated_at drives LWW, and replay is idempotent. Key finding that dissolves pql-requirements item #1 ("Critical"): seeding via direct-INSERT does NOT require explicit ticket ids from `ticket new`. The id counter derives from max(id), so after seeding T-1..T-1021 the next native `pql ticket new` mints T-1022 — no recycling, no collision. The blocker only applied to the `ticket new --id` path we never use for bulk seeding. Scaffolding: .pql/changelog/<table>/0000-schema.sql (canonical pql 1.6.2 schema, byte-identical across the 4 table dirs) + .gitattributes union-merge driver so changelog SQL never produces binary-style merge conflicts. Seed is reproducible via tooling/pql-migrate/seed_tickets.py (read-only on the source, idempotent). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1 @@
|
||||
.pql/changelog/*.sql merge=union
|
||||
Reference in New Issue
Block a user