pql 2.0.0 versions the changelog file format and carries older ones forward. The rewrite touches only the inline conflict guard on each line, which moved from a content-hash tiebreak to append position (3992 lines in, 3992 out — no row data altered). This repo carried real damage from the old rule. A ticket created and appended to within one wall-clock second produced two changelog rows tied on updated_at, and the hash decided the winner — arbitrarily, and on every replay, so the loss reappeared on each fresh clone and branch switch. Replaying the pre-upgrade changelog and diffing all 1232 tickets against the repaired state: 69 tickets gained description text, none lost any, 13270 characters recovered in total. Six had no description at all. T-1057, where this was first noticed, keeps the description a session hand-recovered from ticket_history in July; its later updated_at means the tie no longer decides it. The workaround scaffolding in that field can be tidied whenever convenient. plan rebuild --verify reports zero rows lost. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
12 lines
572 B
SQL
12 lines
572 B
SQL
-- Changelog format marker, written by pql. Comments only: this file
|
|
-- is never executed — Import descends into the per-table directories
|
|
-- and does not read the changelog root.
|
|
--
|
|
-- A changelog carrying no marker is format 1, the shape that existed
|
|
-- before formats were versioned. An older format is migrated forward
|
|
-- by `pql plan upgrade` (and automatically from the post-merge hook);
|
|
-- a newer one is refused rather than replayed under rules this binary
|
|
-- does not know. See D-28 and docs/versions.md.
|
|
-- pql:changelog_format: 2.0.0
|
|
-- pql:written_by: 2.0.0
|