magicciv/.project/objectives/p1-38-followup-shipwright-batch.md
Natalie 7093758d83 feat(@projects/@magic-civilization): update mcts and tech objectives with followups
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-14 20:16:32 -07:00

2.7 KiB

id title priority status scope owner updated_at
p1-38-followup-shipwright-batch p1-38 follow-up — Shipwright coupled-mode 10-seed regression batch + sign-off p2 stub game1 shipwright 2026-05-14

Summary

Carved out of p1-38-biome-economy-coupling.md (closed done 2026-05-14 on the basis that all Rust + GDScript implementation work has shipped and only the operational batch + JSON flip remain). This follow-up tracks the autoplay-batch sign-off that flips public/games/age-of-dwarves/data/balance/ecology_yields.json fallback_when_dormant: "static_terrain" → "coupled" in main.

This is owner-locked to Shipwright (see p1-38 Coordination notes and frontmatter): game-systems cannot self-sign-off, and the bullet is an operational gate rather than an implementation bullet.

Background

  • Rust math (mc-city::biome_yield::{ecology_food_modifier, carrying_capacity_modifier, effective_food_modifier}) shipped and unit-tested.
  • GDExtension bridge (GdCity::compute_tile_food_modifier) and GDScript consumer (city_buildable_helper.gd::build_tile_yields_json) shipped.
  • Coupling is gated only by the JSON value — flipping requires a 10-seed T300 batch on apricot demonstrating expected divergence vs the p016b baseline (p016b_20260417_024754, median pop_peak=69).
  • A 2026-05-04 closure attempt was blocked by the _process_culture_research turn-processor regression; that regression was fixed by commit 40f937394 (2026-05-04), so the evidence path is now unblocked.

Acceptance

  • Re-run the 2026-05-03 recipe (see p1-38 "Recommended next-picker recipe (Shipwright)" section) against a worktree off origin/main that includes commit 40f937394 or later.
  • Forest-heavy seeds (≥30% forest tiles in starting region) lift pop_peak by ≥+10% over the p016b baseline median 69; non-forest seeds remain within ±5%.
  • Append batch evidence dir + Shipwright sign-off line to this doc (or to p1-38 history), commit the ecology_yields.json flip to "coupled" in main.

Out of scope

  • Any further Rust or GDScript implementation work — the mc-city and bridge surfaces are complete. Re-opening implementation work belongs in a new objective, not here.
  • Phase D BiomeCapacityConfig.enabled flip — separate Shipwright gate not covered by this follow-up.

References

  • Parent: .project/objectives/p1-38-biome-economy-coupling.md (closed 2026-05-14; carve-out rationale in this stub's Summary).
  • Recipe: p1-38 § "Recommended next-picker recipe (Shipwright)".
  • Regression fix: commit 40f937394 ("fix: resolve turn-processor culture research regression").
  • Baseline: p016b_20260417_024754 median pop_peak=69.