chore(meta): T-1149/T-1150/T-1151 to review — PR #191 up (zoom-ladder foundations)
This commit is contained in:
@@ -1659,3 +1659,6 @@ 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 ('06FRCET0RKD7ED9D9RY5Q99RQG', 'status', 'backlog', 'in_progress', NULL, '2026-07-21 21:50:03', '2026-07-21 21:50:03.771', '2026-07-21 21:50:03.771', NULL, '89f8a1771109ee95f9abde50d1cbb52e', 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 ('06FRCEV8Q32C2FW9Y6733419DG', 'status', 'backlog', 'in_progress', NULL, '2026-07-21 21:50:03', '2026-07-21 21:50:03.778', '2026-07-21 21:50:03.778', NULL, '82d421b440a60a51671401b7d443af78', 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 ('06FRCEWBS5RC5YET0SMSPZ1E9W', 'status', 'backlog', 'in_progress', NULL, '2026-07-21 21:50:03', '2026-07-21 21:50:03.779', '2026-07-21 21:50:03.779', NULL, 'b3fcdcbb65bdb39523bd09ed1a2252e8', 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 ('06FRCET0RKD7ED9D9RY5Q99RQG', 'status', 'in_progress', 'review', NULL, '2026-07-21 22:28:45', '2026-07-21 22:28:45.442', '2026-07-21 22:28:45.442', NULL, '3aa3ea7868511c67552c4290fbfba1c5', 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 ('06FRCEV8Q32C2FW9Y6733419DG', 'status', 'in_progress', 'review', NULL, '2026-07-21 22:28:45', '2026-07-21 22:28:45.449', '2026-07-21 22:28:45.449', NULL, 'e452314267c88b737d3de199b44b8757', 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 ('06FRCEWBS5RC5YET0SMSPZ1E9W', 'status', 'in_progress', 'review', NULL, '2026-07-21 22:28:45', '2026-07-21 22:28:45.450', '2026-07-21 22:28:45.450', NULL, '44c750b1ef79e5b5cf1994b61160a28e', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
|
||||
@@ -2435,3 +2435,6 @@ DESIGN PASS DELIVERED (2026-07-21): docs/architecture/atlas-zoom-ladder-t1143.md
|
||||
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 ('06FRCET0RKD7ED9D9RY5Q99RQG', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'derive_at_metres extraction + min_wavelength octave cutoff in enveloped_fbm', 'Zoom-ladder migration step 1 (docs/architecture/atlas-zoom-ladder-t1143.md SS8; keystone for every rung). Extract derive_district''s fractional-metres interior (district_profile.rs:1426+ already computes px/py/world_x_m/world_y_m/lat_deg from the integer DistrictPos) into derive_at_metres(seed, body, wx, wy, min_wl); derive_district becomes a thin integer-quantizing wrapper — bit-identical output for existing callers is the acceptance test (golden harness must not move). Add min_wavelength_m: f64 to enveloped_fbm (detail_scatter.rs:137-176) and the terrain_detail/voxel_relief const-octave paths: truncate octaves below the cutoff; evaluate Dudley''s amplitude-fade-near-cutoff refinement vs hard truncate (pop risk as sampling density crosses an octave boundary) and pick with a visual A/B. Re-benchmark derive cost with the cutoff active at district and quarter spacings — the design doc''s numbers are for the UNMODIFIED pipeline and are marked contested (SS2 status note + Troblum R-findings).', 'in_progress', 'high', NULL, 'server', 'D-226', '2026-07-21 19:50:57.988', '2026-07-21 21:50:03.771', NULL, '5dc17566fd018673e86de991a69a46a8', 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 ('06FRCEV8Q32C2FW9Y6733419DG', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'window_granularity + window_min_wl_m on the district_window carrier (five touch points + aliasing test)', 'Zoom-ladder migration step 3 (docs/architecture/atlas-zoom-ladder-t1143.md SS3). serde-default window_granularity: u32 (1=district, 4=quarter) and window_min_wl_m: u32 (0=off) on AtlasLayerRequest — the T-1124 SS1 additive pattern, no sixth demux shape. The design pass flags this as a five-touch-point coordinated change and mandates the test: server DistrictWindowLayer echo tuple (center, n, granularity), server FIFO-256 window cache key (layer_proxy.rs:308), server per-connection coalescing key (gen_queue.rs:221-224), client request struct, client 24-entry LRU key (atlas_window_cache.gd:33-38). MANDATORY regression test: granularity-4 and granularity-1 requests at identical (center, n) must produce DISTINCT cache entries on BOTH ends — a missed key (worst: client) silently aliases quarter data onto district slots with no error. Quarter derivation mode = Option B full reclassification at 512m spacing (design SS2), served through the same queue; per-request cell cap per the capped-density rule.', 'in_progress', 'high', NULL, 'server', 'D-226', '2026-07-21 19:51:08.216', '2026-07-21 21:50:03.778', NULL, '4aea6c43010a1cf6582e5e2e9d80b109', 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 ('06FRCEWBS5RC5YET0SMSPZ1E9W', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Chunked par_iter for build_district_window_layer', 'Zoom-ladder migration step 2 (docs/architecture/atlas-zoom-ladder-t1143.md SS8). build_district_window_layer''s cell loop (layer_proxy.rs:388) is serial today; parallelize with row/column chunked par_iter on the existing Rayon pool (the GenerationQueue already runs windows on Rayon — this parallelizes WITHIN a window). Needed before quarter windows: n=32-extent at quarter granularity is 16,384 cells (~20-23ms serial uncapped, design SS2 table). Determinism: chunk boundaries must not change output — cells are independent by construction (derive_at_metres is pure), assert with a serial-vs-parallel golden comparison.', 'in_progress', 'medium', NULL, 'server', 'D-226', '2026-07-21 19:51:17.193', '2026-07-21 21:50:03.779', NULL, '83dd5b89f5243a55ee7db80084b600a1', 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 ('06FRCET0RKD7ED9D9RY5Q99RQG', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'derive_at_metres extraction + min_wavelength octave cutoff in enveloped_fbm', 'Zoom-ladder migration step 1 (docs/architecture/atlas-zoom-ladder-t1143.md SS8; keystone for every rung). Extract derive_district''s fractional-metres interior (district_profile.rs:1426+ already computes px/py/world_x_m/world_y_m/lat_deg from the integer DistrictPos) into derive_at_metres(seed, body, wx, wy, min_wl); derive_district becomes a thin integer-quantizing wrapper — bit-identical output for existing callers is the acceptance test (golden harness must not move). Add min_wavelength_m: f64 to enveloped_fbm (detail_scatter.rs:137-176) and the terrain_detail/voxel_relief const-octave paths: truncate octaves below the cutoff; evaluate Dudley''s amplitude-fade-near-cutoff refinement vs hard truncate (pop risk as sampling density crosses an octave boundary) and pick with a visual A/B. Re-benchmark derive cost with the cutoff active at district and quarter spacings — the design doc''s numbers are for the UNMODIFIED pipeline and are marked contested (SS2 status note + Troblum R-findings).', 'review', 'high', NULL, 'server', 'D-226', '2026-07-21 19:50:57.988', '2026-07-21 22:28:45.442', NULL, '7957a3bbe9d925acf2712b7abee454c9', 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 ('06FRCEV8Q32C2FW9Y6733419DG', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'window_granularity + window_min_wl_m on the district_window carrier (five touch points + aliasing test)', 'Zoom-ladder migration step 3 (docs/architecture/atlas-zoom-ladder-t1143.md SS3). serde-default window_granularity: u32 (1=district, 4=quarter) and window_min_wl_m: u32 (0=off) on AtlasLayerRequest — the T-1124 SS1 additive pattern, no sixth demux shape. The design pass flags this as a five-touch-point coordinated change and mandates the test: server DistrictWindowLayer echo tuple (center, n, granularity), server FIFO-256 window cache key (layer_proxy.rs:308), server per-connection coalescing key (gen_queue.rs:221-224), client request struct, client 24-entry LRU key (atlas_window_cache.gd:33-38). MANDATORY regression test: granularity-4 and granularity-1 requests at identical (center, n) must produce DISTINCT cache entries on BOTH ends — a missed key (worst: client) silently aliases quarter data onto district slots with no error. Quarter derivation mode = Option B full reclassification at 512m spacing (design SS2), served through the same queue; per-request cell cap per the capped-density rule.', 'review', 'high', NULL, 'server', 'D-226', '2026-07-21 19:51:08.216', '2026-07-21 22:28:45.449', NULL, 'cb129733c2898a543d78bbc128502406', 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 ('06FRCEWBS5RC5YET0SMSPZ1E9W', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Chunked par_iter for build_district_window_layer', 'Zoom-ladder migration step 2 (docs/architecture/atlas-zoom-ladder-t1143.md SS8). build_district_window_layer''s cell loop (layer_proxy.rs:388) is serial today; parallelize with row/column chunked par_iter on the existing Rayon pool (the GenerationQueue already runs windows on Rayon — this parallelizes WITHIN a window). Needed before quarter windows: n=32-extent at quarter granularity is 16,384 cells (~20-23ms serial uncapped, design SS2 table). Determinism: chunk boundaries must not change output — cells are independent by construction (derive_at_metres is pure), assert with a serial-vs-parallel golden comparison.', 'review', 'medium', NULL, 'server', 'D-226', '2026-07-21 19:51:17.193', '2026-07-21 22:28:45.450', NULL, '22ca4bb2fcdce1e1bf6b53e33d3069f8', 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);
|
||||
|
||||
Reference in New Issue
Block a user