From 3d73a4d22149c6f6c6336d9ba305642d0c0d7c95 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Thu, 16 Jul 2026 22:37:02 +0200 Subject: [PATCH] =?UTF-8?q?chore(meta):=20close=20district-window=20batch?= =?UTF-8?q?=20=E2=80=94=20T-1123=20done=20(PR=20#181=20merged);=20T-1125?= =?UTF-8?q?=20seam=20story=20is=20the=20recommended=20next=20batch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pql/changelog/ticket_history/2026-07.sql | 1 + .pql/changelog/tickets/2026-07.sql | 1 + 2 files changed, 2 insertions(+) diff --git a/.pql/changelog/ticket_history/2026-07.sql b/.pql/changelog/ticket_history/2026-07.sql index 1dfe5439b..ad3bdc72d 100644 --- a/.pql/changelog/ticket_history/2026-07.sql +++ b/.pql/changelog/ticket_history/2026-07.sql @@ -1414,3 +1414,4 @@ INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, chang 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 ('06FPRZX1PJ55V7462N56ME2QZ0', 'status', 'backlog', 'in_progress', NULL, '2026-07-16 19:55:54', '2026-07-16 19:55:54.663', '2026-07-16 19:55:54.663', NULL, '326347510db12702d6ec7bea396a3df5', 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 ('06FPRZX1PJ55V7462N56ME2QZ0', 'assigned_to', NULL, 'dudley', NULL, '2026-07-16 19:56:02', '2026-07-16 19:56:02.144', '2026-07-16 19:56:02.144', NULL, 'e1f4abe4a51a17463c14dbe68e85f24f', 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 ('06FPRZX1PJ55V7462N56ME2QZ0', 'status', 'in_progress', 'review', NULL, '2026-07-16 20:31:20', '2026-07-16 20:31:20.627', '2026-07-16 20:31:20.627', NULL, '6d6a4755a90f4c6e87cd1f33d03ce397', 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 ('06FPRZX1PJ55V7462N56ME2QZ0', 'status', 'review', 'done', NULL, '2026-07-16 20:36:46', '2026-07-16 20:36:46.488', '2026-07-16 20:36:46.488', NULL, 'e3c840b23066917cd35f62ef3e0e1492', 2) ON CONFLICT(hash) DO NOTHING; diff --git a/.pql/changelog/tickets/2026-07.sql b/.pql/changelog/tickets/2026-07.sql index 9d8ed254c..a50a88c1f 100644 --- a/.pql/changelog/tickets/2026-07.sql +++ b/.pql/changelog/tickets/2026-07.sql @@ -1956,3 +1956,4 @@ INSERT INTO tickets (record_id, type, parent_record_id, title, description, stat 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 ('06FPS6RRBF9HHAED5QKTKQCY1G', 'bug', '06FGSJNP8YM537DJCC82ZD6544', 'derive_vegetation is ocean-blind — district maps paint Forest across open ocean', 'T-1123 zoom-ladder finding: derive_vegetation(temp, moisture, elev, near_water) has no ocean/water-mask input — GJ380c w256 renders solid Forest across ~250km of OpenOcean districts (see .cache/screenshots/district-windows gj380c_w256_veg.png vs _morphology.png). Voxel-level water generators mask this in-world, but any district-resolution Atlas view (T-1124) will show forested oceans. Fix: vegetation classification should return a None/Marine class when the district''s morphology/ocean_fraction says water (reuse ocean_fraction_q already computed in derive_district).', 'backlog', 'medium', NULL, 'server', NULL, '2026-07-16 20:25:31.484', '2026-07-16 20:25:31.484', NULL, 'cc2649149c561804e790193ff77a5d08', 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 ('06FPS6TF9XDZPKZY8DHG1T0E2R', 'task', '06FGSJNP8YM537DJCC82ZD6544', 'Frozen bodies read temperate-green on district morphology maps — render glaciation_grade', 'T-1123 zoom-ladder finding: GJ244Ad (frozen planet_class, temp panel pegged at the -60C clamp floor, vegetation solid Barren) still renders temperate-green morphology — the 17-zone MorphologyZone vocabulary (T-1027, FROZEN per its own contract) has no ice/glacial zone, and glaciation_grade is a separate DistrictProfile field nothing renders. Do NOT reopen the frozen vocab by default: the likely fix is rendering glaciation_grade as a modifier/overlay on the morphology color (ice-tinting affected zones) in both the T-1123 probe renderer and the future T-1124 view — or, if the team decides an ice zone belongs in the vocabulary after all, that is a deliberate amendment to the freeze decision, not a drive-by. Images: .cache/screenshots/district-windows gj244ad_w256_morphology.png vs _temp.png.', 'backlog', 'medium', NULL, 'server', NULL, '2026-07-16 20:25:45.551', '2026-07-16 20:25:45.551', NULL, '9e0446592b8a98b0db2641cb4b03192b', 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 ('06FPRZX1PJ55V7462N56ME2QZ0', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'District-window map renderer — zoom-ladder PNGs from derive_district (aliveness_probe --render)', 'Jeroen (2026-07-16, reviewing the T-1120 screenshots): all Atlas captures are planetary-level; the orbit-to-jet-plane bridge (district-resolution deterministic biome maps) has never been SEEN. Recon verified the fast path: extend server/src/bin/aliveness_probe.rs with --render --window : after the existing cascade_for_body + anchor-district computation (lines 34-113), loop an NxN district window around the anchor calling derive_district(seed, body_id, params, ta, (dx,dy), climate) PER CELL (district_profile.rs:1256 — the pure on-demand 2km carrier; do NOT index bws.districts, that is the coarse gcpr=8 eager grid) and write PNGs via the png crate (pattern at heightmap.rs:184-193): morphology zones (transliterate the 17-entry MORPHOLOGY_COLORS palette from atlas_marker_overlay.gd:65-83 into a Rust [[u8;3];17]), plus elev_q / temperature_c / moisture_q / vegetation_class panels. Deliverable: zoom-ladder image sets (e.g. 256x256 and 64x64 district windows) for 2-3 bodies anchored on settlements, demonstrating the deterministic orbital->district bridge. Quarter/block rendering is OUT of scope (no windowable pure function at that tier).', 'review', 'high', 'dudley', 'server', 'D-243', '2026-07-16 19:55:31.636', '2026-07-16 20:31:20.622', NULL, '80d25588e64088d49f8e6dfac7dc380f', 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 ('06FPRZX1PJ55V7462N56ME2QZ0', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'District-window map renderer — zoom-ladder PNGs from derive_district (aliveness_probe --render)', 'Jeroen (2026-07-16, reviewing the T-1120 screenshots): all Atlas captures are planetary-level; the orbit-to-jet-plane bridge (district-resolution deterministic biome maps) has never been SEEN. Recon verified the fast path: extend server/src/bin/aliveness_probe.rs with --render --window : after the existing cascade_for_body + anchor-district computation (lines 34-113), loop an NxN district window around the anchor calling derive_district(seed, body_id, params, ta, (dx,dy), climate) PER CELL (district_profile.rs:1256 — the pure on-demand 2km carrier; do NOT index bws.districts, that is the coarse gcpr=8 eager grid) and write PNGs via the png crate (pattern at heightmap.rs:184-193): morphology zones (transliterate the 17-entry MORPHOLOGY_COLORS palette from atlas_marker_overlay.gd:65-83 into a Rust [[u8;3];17]), plus elev_q / temperature_c / moisture_q / vegetation_class panels. Deliverable: zoom-ladder image sets (e.g. 256x256 and 64x64 district windows) for 2-3 bodies anchored on settlements, demonstrating the deterministic orbital->district bridge. Quarter/block rendering is OUT of scope (no windowable pure function at that tier).', 'done', 'high', 'dudley', 'server', 'D-243', '2026-07-16 19:55:31.636', '2026-07-16 20:36:46.488', NULL, 'c2a534d0423666a0d0c965c3a4d4a1a7', 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);