Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
4.2 KiB
Natural opening and fresh-process continuation debug
Prepared tools/run_opening_restart_flow.py and tests/ui/fixtures/opening_restart_flow.gd as a continuation of the normal opening scenario. The original first-day flow uses default funds, construction/hiring/assignment UI handlers and natural arrivals; it does not insert guests or sales. The restart extension uses the actual dashboard Save button and load menu with a unique test-only slot.
Write phase: complete the existing opening flow through day2 08:00, save using the dashboard, load the same saved state, continue naturally through day4 00:00 (three closed days) and retain the expected gameplay digest and complete three-day financial reports. Read phase: a separate Godot process creates the normal main scene, loads the same slot via the menu, advances to the same third close and compares results. The digest excludes only the domain-event stream because SAVE_LOADED records measured wall time; ID counters, random streams and every other captured gameplay subsystem remain included. Both phases independently require three balanced closes, no Runtime failure latch and the latest close displayed in the ledger.
The fixture lives under fixtures and is invoked only by its two-process runner. It is intentionally not a standalone test*.gd in the source sweep, which would not provide a shared isolated slot or paired phase. Python compilation and Godot --check-only passed before execution. A rendered run additionally retains screenshots. Execution results must be read from the runner's result.json and logs; preparation alone does not establish a pass.
This covers the currently available simple inn over three days, not all original facilities, story routes, loans/defense or long-term balance. It is accelerated simulation with real UI handlers, not manual pointer validation or Windows acceptance. Production performance budgets remain independently unmet until measured otherwise.
First rendered run and visible defect
Initial rendered run completed both processes: write77 and read14 checks, total91 PASS, both exit0, and source-change.json empty. All three closes balanced; net profits were -64G, +346G, +346G. The full gameplay snapshot (excluding the timed domain-event stream) and all financial reports matched across process restart. Saved-second-morning and restarted-third-close screenshots were visually inspected.
Visual review of restarted-third-close.png revealed an additional UI defect: corridor/stair upkeep rows displayed raw facility_... IDs. OperatingLedgerPanel resolved names only through the service-instance registry, while transport/pass-through infrastructure is stored in completed construction. Added a construction-entity fallback that resolves the display name and coordinates without modifying accounting. The restart fixture now checks readable infrastructure names on both sides of the process boundary. Rerun output is isolated under artifacts/opening-restart-debug-2026-09-29/ledger-name-fix; retain the original screenshot as before evidence.
The127-suite source sweep predates this ledger display correction. The rerun provides targeted UI and three-day/restart coverage for this final change; it does not rewrite the earlier sweep's source scope.
Final corrected run
Rendered rerun completed: write80 and read17 checks, total97 PASS, both exit0. No tracked source changed during this run. Final validation.json records the result and screenshot hashes. Final uninterrupted-third-close.png shows guest corridor/stair names and coordinates instead of internal instance IDs. Full gameplay comparison (same explicit timed-event exclusion), all three financial reports, latest-report UI, natural advancement and ledger balances passed again after the correction. No manual pointer/Windows/full-original completion is implied.
Reverified after infrastructure and snapshot optimizations
After all128 source suites passed on frozen source, rendered writer80/reader17 passed again (97 total). Artifacts: artifacts/snapshot-opening-restart-2026-09-29. Both processes exit0, source-change.json empty; three balanced closes remain -64,+346,+346G. Full continuation comparison and ledger labels pass. Final screenshots reviewed on macOS; Windows/manual-input/complete-original scope remains outstanding.