docs(@projects/@magic-civilization): 📋 p3-25 — record e2e proof + no-regression verification (canonical GUT 607/0)

p3-25 steps 1-5 verification recorded in the objective:
- End-to-end: process_trade_phase forms+persists a real StrategicSwap → projected into
  view_json (steps 2-5 chain proven).
- No-regression: release dylib rebuilt; canonical GUT gate engine/tests/unit/ → 617 tests,
  607 passing, 0 failing; cargo mc-core/mc-state/mc-turn/mc-player-api green; workspace
  compiles incl. api-gdext dylib.
- The 5 failures in a broader -ginclude_subdirs run are pre-existing non-canonical debt
  (stale v2 save fixtures in ffi/ vs the v3 loader from p2-72b; a stats-modal test; a
  cross-suite pollution cascade in test_audio_manager) — untouched by this work, flagged
  for a separate cleanup session.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Natalie 2026-06-26 02:26:53 -04:00
parent 7e93dcef42
commit 91c0b79ad1
2 changed files with 23 additions and 6 deletions

View file

@ -100,6 +100,23 @@ to `state.trade_ledger`, (d) projecting it all.
## Notes
**End-to-end proof (2026-06-26):** `process_trade_phase_forms_and_persists_strategic_swap`
(mc-turn) crafts two players with complementary owned-tile strategics → the full headless
chain forms a `StrategicSwap`, persists it to `state.trade_ledger`, and fans it onto both
players' `traded_strategics`; `projection_surfaces_trade_deals_from_ledger` then shows it
in `view_json`. So a headless player-adapter now sees territory + real trades entirely
from the simulator — steps 1-5 deliver the headless view-completeness goal. Step 6 (live
game adopting the unified `PlayerView`) remains a large separate follow-on.
**No-regression verified (2026-06-26):** release dylib rebuilt (cargo clean reclaimed disk
mid-session) + canonical GUT gate `engine/tests/unit/` → **617 tests, 607 passing, 0
failing** (10 pending). cargo across mc-core/mc-state/mc-turn/mc-player-api green;
workspace compiles incl. the api-gdext dylib crate. (A broader `-ginclude_subdirs` run
shows 5 failures in non-canonical `ffi/` + `integration/` dirs — stale **v2** save
fixtures vs the v3 loader from p2-72b, a stats-modal test, and a cross-suite pollution
cascade in `test_audio_manager` — all pre-existing and untouched by this work; flagged
separately.)
Created 2026-06-26 from the p3-23 follow-up thread. This is the keystone Rail-1 debt —
it underlies "simulator provides everything" for the whole headless/view path, not just
trades. Large + central (touches `GameState`, projection, `mc-turn`, the `GdGameState`

View file

@ -1,12 +1,12 @@
{
"generated_at": "2026-06-26T06:04:57Z",
"generated_at": "2026-06-26T06:26:53Z",
"totals": {
"done": 296,
"stub": 0,
"missing": 0,
"in_progress": 0,
"oos": 31,
"partial": 2,
"done": 296,
"missing": 0,
"oos": 31,
"stub": 0,
"in_progress": 0,
"total": 329
},
"objectives": [