chore(meta): changelog + pql — batch 8 closed (T-1098 done via PR #216)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -3147,3 +3147,4 @@ INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, chang
|
||||
AUDIT COMPLETE (2026-07-26). Set was 11 files, not 12-13 (tiger.md deleted in 0a9b0d00a, Tiger off the roster). 66 unique D-ids body-matched across all 11. THREE new slip-family members, all in gestalt.md, each verified by full body-match and lead-spot-checked: D-130 written where D-131 (broad life-verb vocabulary) was meant (x3: lines 20/48/62) and D-118 written where D-133 (skills affect outcome) was meant (x2: lines 22/43). All five fixed on main. The other 10 briefings are citation-clean. Context findings recorded on follow-ups: T-1208 (eight wholesale-stale briefings, rewrite backlog, qatux.md + tyre.md highest value; also the systemic superseded-cluster and D-123/D-138 notes). Final slip-family tally across T-1199+T-1205: 16 mis-citations in 6 of 18 briefings, all from the single f4c72e148 commit, all fixed.', NULL, '2026-07-26 11:49:36', '2026-07-26 11:49:36.546', '2026-07-26 11:49:36.546', NULL, '70a4e3f19049b91201e57b2f16e3bd6d', 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', 'in_progress', 'done', NULL, '2026-07-26 11:49:42', '2026-07-26 11:49:42.508', '2026-07-26 11:49:42.508', NULL, 'dced5473823b32b586d691d67cb0d726', 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', 'in_progress', 'review', NULL, '2026-07-26 12:13:13', '2026-07-26 12:13:13.762', '2026-07-26 12:13:13.762', NULL, '55eb94032833d9e19a7a60116bf300f5', 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', 'review', 'done', NULL, '2026-07-26 12:29:54', '2026-07-26 12:29:54.219', '2026-07-26 12:29:54.219', NULL, 'cd9fa62db8d8d1d359024df22c19d2e7', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
|
||||
@@ -5332,3 +5332,4 @@ INSERT INTO tickets (record_id, type, parent_record_id, title, description, stat
|
||||
|
||||
AUDIT COMPLETE (2026-07-26). Set was 11 files, not 12-13 (tiger.md deleted in 0a9b0d00a, Tiger off the roster). 66 unique D-ids body-matched across all 11. THREE new slip-family members, all in gestalt.md, each verified by full body-match and lead-spot-checked: D-130 written where D-131 (broad life-verb vocabulary) was meant (x3: lines 20/48/62) and D-118 written where D-133 (skills affect outcome) was meant (x2: lines 22/43). All five fixed on main. The other 10 briefings are citation-clean. Context findings recorded on follow-ups: T-1208 (eight wholesale-stale briefings, rewrite backlog, qatux.md + tyre.md highest value; also the systemic superseded-cluster and D-123/D-138 notes). Final slip-family tally across T-1199+T-1205: 16 mis-citations in 6 of 18 briefings, all from the single f4c72e148 commit, all fixed.', 'done', 'medium', 'clerk', 'server', NULL, '2026-07-26 10:50:18.675', '2026-07-26 11:49:42.508', NULL, '805203e281a681f4f5aee386d365941f', 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.', 'review', 'medium', 'dudley', 'server', 'D-235', '2026-07-11 07:02:23.297', '2026-07-26 12:13:13.762', NULL, 'a1cca37f45b6dd0644785bb2db398942', 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.', 'done', 'medium', 'dudley', 'server', 'D-235', '2026-07-11 07:02:23.297', '2026-07-26 12:29:54.214', NULL, 'af93331f15b043918cee4603267a41fe', 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);
|
||||
|
||||
@@ -19,6 +19,7 @@ Format based on [Keep a Changelog](https://keepachangelog.com/).
|
||||
- **Internal: legacy map-window field retired** (T-1159) — the obsolete duplicate zoom-granularity field was removed from the map wire protocol and caches; no player-visible change
|
||||
|
||||
### Fixed
|
||||
- **The ground between buildings now has a defined character** (T-1098) — every tile in a built block that isn't a building or a street-margin now resolves to a real ground type (court, garden, plaza, open lawn, industrial operations surface, or genuine void) driven by how densely the block is built — previously that space carried no data at all. A conflict rule is enforced in code (building footprints always win), and a latent bug where certain degenerate lots vanished from the world data entirely is fixed. Data-only until Phase 5 draws the world; this is the second of the two walkability gaps closed this weekend
|
||||
- **Road networks now form on water-heavy worlds** (T-1116, D-210 amendment) — island and coastal bodies were generating settlements but zero roads: a coastal town's map cell could count as majority-water at routing resolution, and the pathfinder refused to start there at all. Routes now anchor to the nearest passable land cell at a small, honestly-priced access cost — never crossing water — so island worlds get their road networks back in the world data. Not yet visible on the Atlas: road drawing belongs to the deferred civilizational overlay wave (nature layer first, T-1207), and the map will show these roads when that wave lands
|
||||
- **The Atlas golden-capture harness works again** (T-1157) — the curated map-screenshot suite, dead since the stepped-Atlas rework, is rebuilt on the real navigation path (the same code a player's click runs): 13 golden shots across 7 bodies now cover every zoom rung, captured live and proven stable — byte-identical across consecutive runs and regardless of map-cache temperature. Every capture logs its full view transform so a future pixel mismatch is diagnosable instead of mysterious
|
||||
- **Map viewer unit tests no longer flake against a warm map cache** (T-1193 first slice) — the viewer test suites rode the machine-shared on-disk atlas cache, so a live play or capture session visiting the same body could flip "nothing has arrived yet" tests in any later test run; viewers under test now pin an isolated cache root through a proper injection seam
|
||||
|
||||
Reference in New Issue
Block a user