chore(meta): pql changelog — batch 8 activated (T-1098/dudley, T-1205/clerk)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-26 13:44:16 +02:00
co-authored by Claude Fable 5
parent 63ec09b089
commit 447033857c
2 changed files with 8 additions and 0 deletions
@@ -3138,3 +3138,7 @@ INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, chang
Merge verification note (2026-07-26): the planned before/after road-overlay eyeball was correctly ABORTED by the capture agent post-D-255 there is NO client roads rendering on either side (StepCanvasAnnotationLayer draws courses+settlements only; the old road overlay died with AtlasWindowViewer; roads are Wave 2 of T-1156''s overlay port, deferred by Jeroen''s 2026-07-22 nature-first ruling, now ticketed as T-1207 since the closed T-1156 carried the deferral only in prose). A capture would have shown two identical frames and misrepresented the fix. Verification therefore stands on the failing-first real-body tests through the real cascade entry point (GJ251c 0->2 edges, GJ380c 0->1, determinism pinned, goldens unaffected) the fix is data-layer-complete and becomes player-visible when T-1207 lands; GJ251c/GJ380c are its ready-made verification bodies. This ticket''s own ''Affects the Atlas planet-browsing experience directly'' line described the pre-D-255 world and is superseded by the above.', NULL, '2026-07-26 11:39:19', '2026-07-26 11:39:19.352', '2026-07-26 11:39:19.352', NULL, '916b2baea92ac54608d40fec1bd24b51', 2) ON CONFLICT(hash) DO NOTHING;
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FPPM0KP850FN6WQ5PDEX9ZS4', 'status', 'review', 'done', NULL, '2026-07-26 11:39:59', '2026-07-26 11:39:59.051', '2026-07-26 11:39:59.051', NULL, 'aa19592b8c7e49b8b08493a5e37a3c37', 2) ON CONFLICT(hash) DO NOTHING;
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FMZZ0184R5B8YMFJW5NWPNXW', 'status', 'backlog', 'in_progress', NULL, '2026-07-26 11:43:15', '2026-07-26 11:43:15.586', '2026-07-26 11:43:15.586', NULL, '8273cd9cf7f1c4adcce50a0efb06ae85', 2) ON CONFLICT(hash) DO NOTHING;
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FSW30GPFFEB05M6EXD1WFANW', 'status', 'backlog', 'in_progress', NULL, '2026-07-26 11:43:15', '2026-07-26 11:43:15.589', '2026-07-26 11:43:15.589', NULL, 'c61837bab3043ca02b42baff29a354dc', 2) ON CONFLICT(hash) DO NOTHING;
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FMZZ0184R5B8YMFJW5NWPNXW', 'assigned_to', NULL, 'dudley', NULL, '2026-07-26 11:43:21', '2026-07-26 11:43:21.474', '2026-07-26 11:43:21.474', NULL, '5fb0b0aab0a23f3f0df522d4e8ec5775', 2) ON CONFLICT(hash) DO NOTHING;
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FSW30GPFFEB05M6EXD1WFANW', 'assigned_to', NULL, 'clerk', NULL, '2026-07-26 11:43:22', '2026-07-26 11:43:22.067', '2026-07-26 11:43:22.067', NULL, '0084961ee864136c56a5e15ab98f982a', 2) ON CONFLICT(hash) DO NOTHING;
+4
View File
@@ -5319,3 +5319,7 @@ Merge verification note (2026-07-26): the planned before/after road-overlay eyeb
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FPPM0KP850FN6WQ5PDEX9ZS4', 'bug', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Road graph: 0 routable edges on water-heavy bodies — placements land in water-majority routing cells, every A* pair drops', 'Found during T-1076 (road-hub refinement) verification: several real bodies (GJ251c, GJ380c) produce 0 routable road edges because settlement placements land in water-majority routing cells, so every A* pair is dropped. PRE-EXISTING behavior (T-1038''s core had the same drop path) but now more visible with hub/spur semantics and on the Atlas road overlay. Candidate fixes per Dudley: coastal-cell routing relaxation (allow routing through coast-adjacent cells at a cost penalty) or a placement nudge (settlements snap out of water-majority cells at L3). Affects the Atlas planet-browsing experience directly: water-heavy bodies show settlements but no roads.
Merge verification note (2026-07-26): the planned before/after road-overlay eyeball was correctly ABORTED by the capture agent post-D-255 there is NO client roads rendering on either side (StepCanvasAnnotationLayer draws courses+settlements only; the old road overlay died with AtlasWindowViewer; roads are Wave 2 of T-1156''s overlay port, deferred by Jeroen''s 2026-07-22 nature-first ruling, now ticketed as T-1207 since the closed T-1156 carried the deferral only in prose). A capture would have shown two identical frames and misrepresented the fix. Verification therefore stands on the failing-first real-body tests through the real cascade entry point (GJ251c 0->2 edges, GJ380c 0->1, determinism pinned, goldens unaffected) the fix is data-layer-complete and becomes player-visible when T-1207 lands; GJ251c/GJ380c are its ready-made verification bodies. This ticket''s own ''Affects the Atlas planet-browsing experience directly'' line described the pre-D-255 world and is superseded by the above.', 'done', 'medium', 'dudley', 'server', NULL, '2026-07-16 14:23:57.874', '2026-07-26 11:39:59.051', NULL, '522f2e72a6a6f42507cf7a72c76434db', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FMZZ0184R5B8YMFJW5NWPNXW', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Interstitial fill — tile character between building footprints (setback-driven open space vs. built ops-surface) at chunk derive', 'Deferred slice of T-959 (Layer 5 fill), split out during /whats-next review 2026-07-08. T-988 landed BuildingExteriorTag.setback_tier + BlockSkeleton.interstitial_character (OpenSpace|OperationsSurface, D-233 bulk-driven), and FillChunk now reads materials onto Wall/Roof shell voxels. What remains: actually FILL the between-footprint tiles at chunk-derive time — resolve each non-footprint ground tile to its character (setback-driven interstitial type: void/court/garden/plaza/dock_slip/market_pad/open_lawn per D-235; or the block''s OperationsSurface tag for bulk industry per D-233/T-1097).\n\nWHY DEFERRED (Dudley''s rationale, PR review): FillChunk''s work item today carries only Vec<BuildingPropertyTag> (per-building) with zero block-level metadata; setback_tier is per-building on exterior, but ''the gap between buildings'' is block-shaped. And ''what is an interstitial tile inside a 64m chunk derive'' is a real geometry question (the BSP leaves that lost the coverage roll in subdivide_block_footprints? a separate ground-fill pass?) that needs a design pass, not a guess. Nothing consumes FillChunk in production until Phase 5, so this blocks nothing today.\n\nSCOPE: (1) thread block-level metadata (interstitial_character + setback/density) into the FillChunk work item; (2) decide + implement the ground-fill geometry (which chunk tiles are interstitial vs footprint-covered vs street); (3) resolve each to its D-235 interstitial type / D-233 ops-surface tag; (4) stays pure/cache-free (T-987). Write a short brief pinning the geometry model before implementing.', 'in_progress', 'medium', NULL, 'server', 'D-235', '2026-07-11 07:02:23.297', '2026-07-26 11:43:15.585', NULL, 'e831f4e106dfcfe612845bf6791fe923', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FSW30GPFFEB05M6EXD1WFANW', 'task', '06FBPPMZNNEV052DBYYY3A897C', 'Audit remaining 13 briefings for f4c72e148 citation slips', 'Follow-up to T-1199 (done): the 2026-03-13 commit f4c72e148 (''update all 18 briefings for v0.2 pivot'') is a CONFIRMED source of decision-id transcription errors — five briefings (gore, mellanie, ozzie, stig, nigel) carried eleven mis-citations from a consistent adjacent-id slip family: D-126<->D-134 swapped, D-136 written as D-131, D-137 written as D-136, D-130 written as D-131, D-120 written as D-137. All eleven fixed on main (T-1199). This ticket: audit the OTHER 13 briefings touched by that commit (git show f4c72e148 --stat lists them; araminta.md already rewritten clean by T-1053) for the same slip pattern — check every D-1xx citation in each against the record''s actual title/content, not just the ids from the known family (the family grew twice during the T-1199 fix pass: D-130 and D-120 were found only by verifying claims against record bodies). Method that worked: grep the briefing''s D-ids, read each record''s header, flag any citation whose prose describes different content. Note that several of these briefings are wholesale-stale (pre-cascade framing, like araminta.md was before T-1053) — this ticket fixes CITATIONS only; wholesale rewrites are separate per-briefing work (T-1053 is the model).', 'in_progress', 'medium', NULL, 'server', NULL, '2026-07-26 10:50:18.675', '2026-07-26 11:43:15.589', NULL, '6d70abfe8667690d8bb91fba6277b21b', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FMZZ0184R5B8YMFJW5NWPNXW', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Interstitial fill — tile character between building footprints (setback-driven open space vs. built ops-surface) at chunk derive', 'Deferred slice of T-959 (Layer 5 fill), split out during /whats-next review 2026-07-08. T-988 landed BuildingExteriorTag.setback_tier + BlockSkeleton.interstitial_character (OpenSpace|OperationsSurface, D-233 bulk-driven), and FillChunk now reads materials onto Wall/Roof shell voxels. What remains: actually FILL the between-footprint tiles at chunk-derive time — resolve each non-footprint ground tile to its character (setback-driven interstitial type: void/court/garden/plaza/dock_slip/market_pad/open_lawn per D-235; or the block''s OperationsSurface tag for bulk industry per D-233/T-1097).\n\nWHY DEFERRED (Dudley''s rationale, PR review): FillChunk''s work item today carries only Vec<BuildingPropertyTag> (per-building) with zero block-level metadata; setback_tier is per-building on exterior, but ''the gap between buildings'' is block-shaped. And ''what is an interstitial tile inside a 64m chunk derive'' is a real geometry question (the BSP leaves that lost the coverage roll in subdivide_block_footprints? a separate ground-fill pass?) that needs a design pass, not a guess. Nothing consumes FillChunk in production until Phase 5, so this blocks nothing today.\n\nSCOPE: (1) thread block-level metadata (interstitial_character + setback/density) into the FillChunk work item; (2) decide + implement the ground-fill geometry (which chunk tiles are interstitial vs footprint-covered vs street); (3) resolve each to its D-235 interstitial type / D-233 ops-surface tag; (4) stays pure/cache-free (T-987). Write a short brief pinning the geometry model before implementing.', 'in_progress', 'medium', 'dudley', 'server', 'D-235', '2026-07-11 07:02:23.297', '2026-07-26 11:43:21.473', NULL, 'cb616c48b384be179c8d015e5ad0daa2', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FSW30GPFFEB05M6EXD1WFANW', 'task', '06FBPPMZNNEV052DBYYY3A897C', 'Audit remaining 13 briefings for f4c72e148 citation slips', 'Follow-up to T-1199 (done): the 2026-03-13 commit f4c72e148 (''update all 18 briefings for v0.2 pivot'') is a CONFIRMED source of decision-id transcription errors — five briefings (gore, mellanie, ozzie, stig, nigel) carried eleven mis-citations from a consistent adjacent-id slip family: D-126<->D-134 swapped, D-136 written as D-131, D-137 written as D-136, D-130 written as D-131, D-120 written as D-137. All eleven fixed on main (T-1199). This ticket: audit the OTHER 13 briefings touched by that commit (git show f4c72e148 --stat lists them; araminta.md already rewritten clean by T-1053) for the same slip pattern — check every D-1xx citation in each against the record''s actual title/content, not just the ids from the known family (the family grew twice during the T-1199 fix pass: D-130 and D-120 were found only by verifying claims against record bodies). Method that worked: grep the briefing''s D-ids, read each record''s header, flag any citation whose prose describes different content. Note that several of these briefings are wholesale-stale (pre-cascade framing, like araminta.md was before T-1053) — this ticket fixes CITATIONS only; wholesale rewrites are separate per-briefing work (T-1053 is the model).', 'in_progress', 'medium', 'clerk', 'server', NULL, '2026-07-26 10:50:18.675', '2026-07-26 11:43:22.067', NULL, '59de0fd08579912724fc7e53466840ea', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);