refactor(simulation): remove superseded skeleton String stubs (T-984) #156

Closed
jpmschweitzer wants to merge 0 commits from t984-skeleton-stub-cleanup into main
Owner

Summary

Finishes T-984. Per D-229, BuildingPropertyTag is the typed step-3 output that replaces the era/society_profile/zone_palette String stubs on the skeleton. The tag + its derivation (zone_type_id, flavor_ref, era/ConstructionEra, FloorExtent) all landed under T-957/T-1006; this removes the now-dead stub fields they superseded.

Found via /whats-next + Si refinement, which also surfaced that T-985/T-986 were already implemented (drift) — those were reconciled to done on main separately.

Removed (dead, unread)

  • BlockSkeleton.era_modifications: Vec<EraModification> — era is per-footprint on BuildingPropertyTag.era now; era_cause retained as the block-level cause
  • QuarterSkeleton.society_profile: SocietyProfileRef — culture → tag.flavor_ref (D-232)
  • QuarterSkeleton.zone_palette: Vec<ZoneDefinition> — zoning → tag.zone_type_id (D-142)
  • the now-orphaned EraModification and SocietyProfileRef String aliases

Kept (real, consumed — NOT stubs)

  • chunk_layout: ChunkLayout (D-234 street network)
  • FloorZone.zone_palette: ZonePalette (D-101 palette — distinct from the removed Vec stub)
  • z_band_zones (still uses the ZoneDefinition alias)
  • boundaries: QuarterBoundaries (separate stub, not in D-229 scope)

Verification

  • cargo check + cargo clippy --all-targets -D warnings clean
  • full server lib suite: 1325 passed / 0 failed
  • Net: 8 insertions, 13 deletions across generator.rs + skeleton_gen.rs

🤖 Generated with Claude Code

## Summary Finishes **T-984**. Per **D-229**, `BuildingPropertyTag` is the typed step-3 output that replaces the era/society_profile/zone_palette String stubs on the skeleton. The tag + its derivation (`zone_type_id`, `flavor_ref`, `era`/`ConstructionEra`, `FloorExtent`) all landed under T-957/T-1006; this removes the now-dead stub fields they superseded. Found via `/whats-next` + Si refinement, which also surfaced that **T-985/T-986 were already implemented** (drift) — those were reconciled to `done` on main separately. ## Removed (dead, unread) - `BlockSkeleton.era_modifications: Vec<EraModification>` — era is per-footprint on `BuildingPropertyTag.era` now; `era_cause` retained as the block-level cause - `QuarterSkeleton.society_profile: SocietyProfileRef` — culture → `tag.flavor_ref` (D-232) - `QuarterSkeleton.zone_palette: Vec<ZoneDefinition>` — zoning → `tag.zone_type_id` (D-142) - the now-orphaned `EraModification` and `SocietyProfileRef` String aliases ## Kept (real, consumed — NOT stubs) - `chunk_layout: ChunkLayout` (D-234 street network) - `FloorZone.zone_palette: ZonePalette` (D-101 palette — distinct from the removed Vec stub) - `z_band_zones` (still uses the `ZoneDefinition` alias) - `boundaries: QuarterBoundaries` (separate stub, not in D-229 scope) ## Verification - `cargo check` + `cargo clippy --all-targets -D warnings` clean - full server lib suite: **1325 passed / 0 failed** - Net: 8 insertions, 13 deletions across generator.rs + skeleton_gen.rs 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jpmschweitzer added 1 commit 2026-06-06 23:43:40 +02:00
D-229 makes BuildingPropertyTag the typed step-3 output that replaces the era/
society_profile/zone_palette String stubs on the skeleton. The tag + its derivation
(zone_type_id, flavor_ref, era/ConstructionEra, FloorExtent) all landed under T-957/
T-1006; this removes the now-dead stub fields they superseded:

- BlockSkeleton.era_modifications: Vec<EraModification> (era is per-footprint on
  BuildingPropertyTag.era now; era_cause retained as the block-level cause)
- QuarterSkeleton.society_profile: SocietyProfileRef (culture → tag.flavor_ref)
- QuarterSkeleton.zone_palette: Vec<ZoneDefinition> (zoning → tag.zone_type_id;
  distinct from FloorZone.zone_palette: ZonePalette, the real D-101 palette, kept)
- the now-orphaned `EraModification` and `SocietyProfileRef` String aliases

Kept: chunk_layout (real ChunkLayout / D-234 street network), z_band_zones (still
uses the ZoneDefinition alias), boundaries (separate stub, not D-229 scope).

cargo check + clippy -D warnings --all-targets clean; full server lib suite
1325 passed / 0 failed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jpmschweitzer added 1 commit 2026-06-06 23:43:53 +02:00
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author
Owner

Review: t984-skeleton-stub-cleanup → main (type: code) — APPROVED

Tyre (architecture) + Hoshe (QA), clean first pass, no change requests.

Tyre (Architecture): APPROVE

D-229 names exactly era/society_profile/zone_palette/chunk_layout as the stubs BuildingPropertyTag replaces, with exact substitutions (era→ConstructionEra, culture→flavor_ref, zoning→zone_type_id). Kept fields correctly distinguished — chunk_layout (D-234), FloorZone.zone_palette: ZonePalette (D-101, distinct from the removed Vec stub), z_band_zones + the retained ZoneDefinition alias, boundaries (out of D-229 scope); era_cause rightly retained as the block-level cause. No serialization-format risk (D-85 saves are Phase 5+).

Hoshe (QA): APPROVE

Removal complete across struct defs, construction sites, and the whole codebase (remaining grep hits are explanatory comment tombstones). ZoneDefinition alias retained + still used by z_band_zones. cargo check + clippy -D warnings + cargo test --lib all clean: 1325 passed / 0 failed. No comments.

Verdict: APPROVED

## Review: t984-skeleton-stub-cleanup → main (type: code) — APPROVED ✅ Tyre (architecture) + Hoshe (QA), clean first pass, no change requests. ### Tyre (Architecture): APPROVE D-229 names exactly `era`/`society_profile`/`zone_palette`/`chunk_layout` as the stubs `BuildingPropertyTag` replaces, with exact substitutions (era→ConstructionEra, culture→flavor_ref, zoning→zone_type_id). Kept fields correctly distinguished — `chunk_layout` (D-234), `FloorZone.zone_palette: ZonePalette` (D-101, distinct from the removed Vec stub), `z_band_zones` + the retained `ZoneDefinition` alias, `boundaries` (out of D-229 scope); `era_cause` rightly retained as the block-level cause. No serialization-format risk (D-85 saves are Phase 5+). ### Hoshe (QA): APPROVE Removal complete across struct defs, construction sites, and the whole codebase (remaining grep hits are explanatory comment tombstones). `ZoneDefinition` alias retained + still used by `z_band_zones`. cargo check + clippy -D warnings + cargo test --lib all clean: **1325 passed / 0 failed**. No comments. ### Verdict: APPROVED
jpmschweitzer closed this pull request 2026-06-06 23:48:15 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jpmschweitzer/settled-reach#156