chore(meta): T-1174 filed — batch/window sampling-position divergence (Dudley's T-1168 finding)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 13:36:44 +02:00
co-authored by Claude Fable 5
parent da4d8073e7
commit 5b5f972f52
2 changed files with 2 additions and 0 deletions
+1
View File
@@ -87,3 +87,4 @@ INSERT INTO ticket_idmap (record_id, ticket_id, created_at, updated_at, deleted_
INSERT INTO ticket_idmap (record_id, ticket_id, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRVMZYG7Z5YCKHCBS7XWJPM4', 'T-1171', '2026-07-23 07:15:08.547', '2026-07-23 07:15:08.547', NULL, '366512fc00e11bb1bb099f9aa045dc46', 2) ON CONFLICT(record_id) DO UPDATE SET ticket_id=excluded.ticket_id, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > ticket_idmap.updated_at OR (excluded.updated_at = ticket_idmap.updated_at AND excluded.hash > ticket_idmap.hash);
INSERT INTO ticket_idmap (record_id, ticket_id, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRW2ABEG6HQHVKQ9F7NQ1K8R', 'T-1172', '2026-07-23 08:13:21.658', '2026-07-23 08:13:21.658', NULL, 'da277cbf13d660a4e06d63adb58f2c47', 2) ON CONFLICT(record_id) DO UPDATE SET ticket_id=excluded.ticket_id, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > ticket_idmap.updated_at OR (excluded.updated_at = ticket_idmap.updated_at AND excluded.hash > ticket_idmap.hash);
INSERT INTO ticket_idmap (record_id, ticket_id, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRWP5YN5M4687E0F9PSFWG1M', 'T-1173', '2026-07-23 09:40:08.490', '2026-07-23 09:40:08.490', NULL, 'b5f629f20e2de4352c4e9ba94cf47b0c', 2) ON CONFLICT(record_id) DO UPDATE SET ticket_id=excluded.ticket_id, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > ticket_idmap.updated_at OR (excluded.updated_at = ticket_idmap.updated_at AND excluded.hash > ticket_idmap.hash);
INSERT INTO ticket_idmap (record_id, ticket_id, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRXGSXBZKXTHR7MR5K9H2HRG', 'T-1174', '2026-07-23 11:36:27.744', '2026-07-23 11:36:27.744', NULL, 'd298c2db5e4717fb91fcd197ed085949', 2) ON CONFLICT(record_id) DO UPDATE SET ticket_id=excluded.ticket_id, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > ticket_idmap.updated_at OR (excluded.updated_at = ticket_idmap.updated_at AND excluded.hash > ticket_idmap.hash);
+1
View File
@@ -2553,3 +2553,4 @@ T-1172 retirement dependency (Tyre''s clip ruling): when this ticket''s course i
Mouth semantics follow-up (Jeroen''s capture question, 2026-07-23): two mouth-placement oddities to resolve when courses/termini become real geometry here (1) inland-reading mouths: the raw-coast mouth cell can sit landward of the drawn coastline (the mirror of T-1172''s offshore case; not clipped since it''s on drawn land) mouths should move to the course''s actual invented-coast terminus; (2) pole-edge drains: drainage.rs counts rivers draining off the grid''s top/bottom edge as ''mouths'', rendering double-rings in polar ice with no sea adjacent revisit whether these render as mouths at all (probably not; they are grid artifacts, not river-meets-sea events).', 'in_progress', 'medium', NULL, 'server', 'D-227', '2026-07-23 05:54:25.931', '2026-07-23 10:16:37.340', NULL, '59af2c27ebbc4dc29c857ebe7486fb70', 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 ('06FRV224PD3NMWKR1AAC0J0D58', 'story', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Thread drainage skeleton into derive_at_metres as per-cell riparian signal (near_perennial_water)', 'derive_at_metres (district_profile.rs:1461-1469) hardcodes near_perennial_water = false into derive_vegetation, so district/quarter windows cannot render riparian bands (RiparianScrub/RiparianThicket) or the hyper-arid micro-oasis (:421) even where a trunk river crosses the cell. After T-1156 puts rivers on the ladder, this surfaces as a visible mismatch: a drawn river over vegetation painted barren. Fix: thread the Layer-1 river-cell set into the window derive and compute per-cell near_perennial_water as a ''within riparian-band distance of a river cell'' test. Rivers sample the drainage GEOGRAPHY; vegetation''s moisture influence rides T-1162''s perturbed moisture_q — never a re-derivation of base moisture (forward contract from T-1156 wave-1 ruling 3, Tyre 2026-07-23). Re-pin the believability/derivation golden harnesses. Gated: not wave 1.', 'in_progress', 'medium', NULL, 'server', 'D-226', '2026-07-23 05:52:25.779', '2026-07-23 10:16:37.347', NULL, 'c10756f4af995db8039bf94bf5f27423', 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 ('06FRXGSXBZKXTHR7MR5K9H2HRG', 'task', '06FBPPMZNNEV052DBYYY3A897C', 'Batch vs window derive paths sample different world positions for the same DistrictPos', 'Pre-existing architectural quirk found by Dudley during T-1168 integration testing (2026-07-23, not introduced by that batch): derive_district_profile''s cell-aggregate-centre sampling and the window path''s district-origin sampling resolve to genuinely different world positions for ''the same DistrictPos'' — full DistrictProfile output legitimately differs between paths (morphology/elev/moisture) at the same nominal district. His integration test was redesigned to compare the riparian signal at a shared exact world position instead (the right test). Investigate whether any existing batch/window consumer pair assumes positional agreement (city placement vs window rendering?), decide the canonical sampling convention, and either unify or document the divergence as intentional with the reasoning.', 'backlog', 'low', NULL, 'server', NULL, '2026-07-23 11:36:27.743', '2026-07-23 11:36:27.743', NULL, 'c7e03d0b07f506447f291c5f0024c83e', 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);