diff --git a/.pql/changelog/ticket_history/2026-06.sql b/.pql/changelog/ticket_history/2026-06.sql index f3bc05e42..3c4b365a8 100644 --- a/.pql/changelog/ticket_history/2026-06.sql +++ b/.pql/changelog/ticket_history/2026-06.sql @@ -173,3 +173,7 @@ INSERT INTO ticket_history (ticket_id, field, old_value, new_value, changed_by, INSERT INTO ticket_history (ticket_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1027', 'status', 'review', 'done', NULL, '2026-06-08 11:27:11', '2026-06-08 11:27:11', '2026-06-08 11:27:11', NULL, '24811a0f493cb84c590b6457e03eb8d7', 1) ON CONFLICT(hash) DO NOTHING; INSERT INTO ticket_history (ticket_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1028', 'status', 'backlog', 'in_progress', NULL, '2026-06-08 11:36:04', '2026-06-08 11:36:04', '2026-06-08 11:36:04', NULL, '7c7c197e4043a0f72fae8790e0e58119', 1) ON CONFLICT(hash) DO NOTHING; INSERT INTO ticket_history (ticket_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1028', 'status', 'in_progress', 'review', NULL, '2026-06-08 12:38:12', '2026-06-08 12:38:12', '2026-06-08 12:38:12', NULL, '231419dad5fafc1ce9017d76a708468f', 1) ON CONFLICT(hash) DO NOTHING; +INSERT INTO ticket_history (ticket_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1031', 'description', 'D-239 sections 1,8,9. Golden-seed regression for the binding laws (drainage monotonicity, lithology->landform, glaciation->form with no glacial-U on GlaciationGrade 0, climate->vegetation no-skip + riparian band), per-family <5ms/chunk budget assertion, and the validation-case bodies: Kallast=alluvial plain/Soil, Velen=tidal-flat/dune coast (VERIFY it has a moon param for the tidal term first), Cygni B=volcanic immature drainage, Ross 128=ocean island terrain, Gruenfeld=marginal Gravel/Scrub. If a body reads wrong, fix its params — never patch the derivation (D-239 section 1). Blocked by the family generators.', 'D-239 sections 1,8,9. Golden-seed regression for the binding laws (drainage monotonicity, lithology->landform, glaciation->form with no glacial-U on GlaciationGrade 0, climate->vegetation no-skip + riparian band), per-family <5ms/chunk budget assertion, and the validation-case bodies: Kallast=alluvial plain/Soil, Velen=tidal-flat/dune coast (VERIFY it has a moon param for the tidal term first), Cygni B=volcanic immature drainage, Ross 128=ocean island terrain, Gruenfeld=marginal Gravel/Scrub. If a body reads wrong, fix its params — never patch the derivation (D-239 section 1). Blocked by the family generators. + +--- +Note from T-1028 review (Tyre, 2026-06-08): VoxelCache LRU eviction is an O(capacity) linear scan for the minimum access_gen (default cap 8192). Latent — at the D-239 §10 ~2.2-4.2 ms/chunk budget (4096 voxels) an 8k scan is measurable noise, not a blocker. If it shows up in this ticket''s profiling, the fix is a secondary BTreeMap<(access_gen, CacheKey), ()> eviction index (stays D-010-compliant). Scope before the budget test runs.', NULL, '2026-06-08 12:47:45', '2026-06-08 12:47:45', '2026-06-08 12:47:45', NULL, 'e4f6975499bfe978d11ef7331d8036a7', 1) ON CONFLICT(hash) DO NOTHING; diff --git a/.pql/changelog/tickets/2026-06.sql b/.pql/changelog/tickets/2026-06.sql index 83c07aaac..33b8690cf 100644 --- a/.pql/changelog/tickets/2026-06.sql +++ b/.pql/changelog/tickets/2026-06.sql @@ -541,3 +541,7 @@ INSERT INTO tickets (id, type, parent_id, title, description, status, priority, INSERT INTO tickets (id, type, parent_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1025', 'task', 'T-974', 'Climate-derived fields — precipitation, GlaciationGrade, vegetation/treeline', 'D-239 section 2. Everything climatic derives from temperature(+moisture): precipitation_class = f(temp,moisture); GlaciationGrade from long-term/seasonal-minimum temperature (consumed by morphology gating); vegetation/treeline = temperature bands x elevation (Forest->Scrub->Barren no-skip, riparian 1-3 tile band). All derived, none authored. Blocked by the temperature/moisture primitives.', 'done', 'high', NULL, 'server', 'D-239', '2026-06-07 10:33:47', '2026-06-08 11:27:11', NULL, 'e808d25d369c95655d358f9f29b63b4f', 1) ON CONFLICT(id) DO UPDATE SET type=excluded.type, parent_id=excluded.parent_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 (id, type, parent_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1028', 'task', 'T-974', 'VoxelColumn pipeline (walking skeleton) — ChunkContext + voxel derive/cache + AlluvialPlain', 'D-239 sections 1,7,10. Walking skeleton of the lower chain. ChunkContext (64m) carrier: one basin-direction + global meander-curve params (NO per-tile flow_direction[64x64] — D8 ~152m/cell is coarser than a chunk; features with wavelength >64m seed from Region-or-higher). VoxelColumn (1m) on-demand derive + cache, never persisted (D-227); compose into the D-228 tile axes (TerrainMaterial/FloorMaterial/Vegetation/Water/elevation). Wire the domain warp through chunk/voxel. End-to-end with ONLY the AlluvialPlain fallback generator to prove region->chunk->voxel->tile before specialized families. Blocked by warp + morphology classifier.', 'in_progress', 'high', NULL, 'server', 'D-239', '2026-06-07 10:34:11', '2026-06-08 11:36:04', NULL, 'e54dc76eb92ce8760fd3953a69781d24', 1) ON CONFLICT(id) DO UPDATE SET type=excluded.type, parent_id=excluded.parent_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 (id, type, parent_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1028', 'task', 'T-974', 'VoxelColumn pipeline (walking skeleton) — ChunkContext + voxel derive/cache + AlluvialPlain', 'D-239 sections 1,7,10. Walking skeleton of the lower chain. ChunkContext (64m) carrier: one basin-direction + global meander-curve params (NO per-tile flow_direction[64x64] — D8 ~152m/cell is coarser than a chunk; features with wavelength >64m seed from Region-or-higher). VoxelColumn (1m) on-demand derive + cache, never persisted (D-227); compose into the D-228 tile axes (TerrainMaterial/FloorMaterial/Vegetation/Water/elevation). Wire the domain warp through chunk/voxel. End-to-end with ONLY the AlluvialPlain fallback generator to prove region->chunk->voxel->tile before specialized families. Blocked by warp + morphology classifier.', 'review', 'high', NULL, 'server', 'D-239', '2026-06-07 10:34:11', '2026-06-08 12:38:12', NULL, '1938606f3d8a61000f16e819dba44841', 1) ON CONFLICT(id) DO UPDATE SET type=excluded.type, parent_id=excluded.parent_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 (id, type, parent_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('T-1031', 'task', 'T-974', 'Believability + determinism + <5ms budget verification harness', 'D-239 sections 1,8,9. Golden-seed regression for the binding laws (drainage monotonicity, lithology->landform, glaciation->form with no glacial-U on GlaciationGrade 0, climate->vegetation no-skip + riparian band), per-family <5ms/chunk budget assertion, and the validation-case bodies: Kallast=alluvial plain/Soil, Velen=tidal-flat/dune coast (VERIFY it has a moon param for the tidal term first), Cygni B=volcanic immature drainage, Ross 128=ocean island terrain, Gruenfeld=marginal Gravel/Scrub. If a body reads wrong, fix its params — never patch the derivation (D-239 section 1). Blocked by the family generators. + +--- +Note from T-1028 review (Tyre, 2026-06-08): VoxelCache LRU eviction is an O(capacity) linear scan for the minimum access_gen (default cap 8192). Latent — at the D-239 §10 ~2.2-4.2 ms/chunk budget (4096 voxels) an 8k scan is measurable noise, not a blocker. If it shows up in this ticket''s profiling, the fix is a secondary BTreeMap<(access_gen, CacheKey), ()> eviction index (stays D-010-compliant). Scope before the budget test runs.', 'backlog', 'high', NULL, 'server', 'D-239', '2026-06-07 10:34:11', '2026-06-08 12:47:45', NULL, '26965284346e5fc8877fff1ca7ccd1de', 1) ON CONFLICT(id) DO UPDATE SET type=excluded.type, parent_id=excluded.parent_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);