Reconcile the architecture, roadmap, milestones, issue ledger, session instructions, and durable memory with the 1,622-line native shell, canonical soak evidence, connected framebuffer comparison, and sole remaining user visual gate. Co-authored-by: Codex <codex@openai.com>
160 lines
8.3 KiB
Markdown
160 lines
8.3 KiB
Markdown
# GameWindow Slice 8 Checkpoint L — campaign closeout
|
||
|
||
**Status:** Automated closeout complete 2026-07-22; final user visual matrix
|
||
pending.
|
||
**Parent:**
|
||
[`2026-07-22-gamewindow-slice-8-composition-lifecycle.md`](2026-07-22-gamewindow-slice-8-composition-lifecycle.md),
|
||
Checkpoint L.
|
||
**Integrated baseline:** `6c5e0604`; Checkpoints A–K are implemented.
|
||
`GameWindow.cs` is 1,622 raw lines, App Release passes 3,451 tests / 3
|
||
intentional skips, and the complete Release suite passes 7,823 tests / 5
|
||
intentional skips. Two fresh-process canonical nine-stop soaks pass with
|
||
graceful exits and the unchanged residency/performance limits.
|
||
**Behavior rule:** L proves and records the shipped ownership state. It may
|
||
correct documentation, test/gate coverage, or a defect demonstrated by the
|
||
audit, but it does not add gameplay, alter retail behavior, loosen a gate, or
|
||
perform the separately deferred `GameEntity` aggregation.
|
||
|
||
## 1. Outcome
|
||
|
||
Close the eight-slice thin-`GameWindow` campaign only after every exit
|
||
criterion has current evidence:
|
||
|
||
- the host is a native construction/callback shell with no AC gameplay
|
||
algorithm, entity scan, packet builder, DAT landblock builder,
|
||
animation-part composer, or draw-graph body;
|
||
- update, render, input, session, framebuffer, and shutdown callbacks are
|
||
narrow typed handoffs;
|
||
- startup and shutdown have one ordered, transactional, retryable ownership
|
||
graph without a service locator or callback facade into the host;
|
||
- extracted owners have focused tests and symmetric teardown;
|
||
- the Release build/test, connected lifecycle/reconnect, canonical soak, and
|
||
framebuffer gates preserve the accepted behavior;
|
||
- architecture, roadmap, milestones, issues, divergence bookkeeping, durable
|
||
memory, and both session instruction files agree with the code.
|
||
|
||
Line count is reported as a structural signal, not substituted for those
|
||
ownership requirements.
|
||
|
||
## 2. Completion audit
|
||
|
||
### 2.1 Host boundary and dependency direction
|
||
|
||
Measure raw lines, fields, methods, and the remaining callback bodies from the
|
||
actual source. Run the Slice 8 boundary/source-shape suites and inspect every
|
||
remaining `GameWindow` method. Search for prohibited network packet assembly,
|
||
entity/world scans, DAT build loops, part-transform composition, render graph
|
||
bodies, direct environment reads, and anonymous device subscriptions. Any
|
||
substantial body or callback into the host reopens the responsible checkpoint;
|
||
it is not waived because the file is below the target size.
|
||
|
||
Verify the composed owners and their tests cover:
|
||
|
||
- ordered partial-load rollback and terminal session start;
|
||
- exact frame-pair publication and one update/render handoff;
|
||
- logical callback cutoff before session retirement and physical detach;
|
||
- hard session/GPU shutdown barriers, soft physical-cleanup reporting,
|
||
retry/no-replay progress, and native-window-last release;
|
||
- deferred checkpoint acknowledgement, same-frame post-diagnostics capture,
|
||
FIFO order, cancellation, and shutdown.
|
||
|
||
### 2.2 Three corrected-diff review passes
|
||
|
||
Review the complete Slice 8 diff and final source in three independent passes:
|
||
|
||
1. **Behavior/retail boundary:** no input, session, update/render, UI, camera,
|
||
settings, teleport, or gameplay behavior was silently redesigned; every
|
||
retained adaptation remains registered.
|
||
2. **Architecture/ownership:** no duplicate canonical state, broad runtime bag,
|
||
window back-reference, leaked subscription, conflicting disposer, or layer
|
||
inversion; all ownership transfer and teardown paths are symmetric.
|
||
3. **Adversarial failure:** partial acquisition at every phase, callback
|
||
concurrency, repeated/reentrant close, failed detach, session/GPU barrier
|
||
failure, deferred render failure, checkpoint cancellation, and process/GUID
|
||
reuse cannot strand or replay work.
|
||
|
||
Confirmed findings are fixed at their owner and all affected gates are rerun.
|
||
|
||
## 3. Automated and connected gates
|
||
|
||
Run, in order:
|
||
|
||
1. focused Slice 8 composition, callback, settings, frame, lifetime,
|
||
automation, and source-boundary tests;
|
||
2. App Release;
|
||
3. `dotnet build AcDream.slnx -c Release --no-restore`;
|
||
4. the complete Release suite;
|
||
5. `tools/run-connected-world-lifecycle-gate.ps1 -SkipBuild`, requiring the
|
||
capped six-stop lifecycle, exact semantic checkpoints, five capped PNGs,
|
||
code-zero authoritative graceful close, and immediate uncapped fresh-process
|
||
reconnect with its sixth PNG;
|
||
6. consume the two Checkpoint-K fresh-process nine-stop reports, requiring
|
||
exact nine-name/sequence/process identity, zero pending teardown/retirement,
|
||
staging and warmup work, no unconfounded canonical owner growth, unchanged
|
||
process/update/allocation limits, and graceful exit;
|
||
7. compare the six current lifecycle/reconnect PNGs with the accepted Slice 7
|
||
`9d7df1bf` baseline. If the old generated artifacts are absent, reconstruct
|
||
them from that exact commit in an isolated disposable worktree rather than
|
||
inventing a new baseline. Accept only live weather/particle timing,
|
||
authoritative vitals, and sub-frame camera-settling differences; geometry,
|
||
UI/paperdoll layering, private viewports, alpha/depth, and world reveal must
|
||
remain equivalent.
|
||
|
||
Generated logs and the isolated baseline worktree are evidence only and remain
|
||
untracked. The user's unrelated `TransitionTypes.cs` edit remains untouched.
|
||
|
||
## 4. Reconciliation and handoff
|
||
|
||
After all nonvisual evidence is green:
|
||
|
||
- mark K and the automated portion of L in the parent ledger;
|
||
- close #232 with both canonical soak reports and preserve #225, #153, #116,
|
||
#228, TS-50/TS-51/TS-53, and other carried work at their true scope;
|
||
- update `code-structure.md`, the architecture, roadmap, milestones,
|
||
`AGENTS.md`, `CLAUDE.md`, and `memory/project_gamewindow_decomposition.md`
|
||
with the same counts, commits, gates, next-work boundary, and do-not-retry
|
||
lessons;
|
||
- audit the retail divergence register and add/remove no row unless runtime
|
||
behavior actually changed;
|
||
- commit the evidence/doc closeout as a bisectable unit and rerun final
|
||
source/status checks.
|
||
|
||
The sole remaining pause is the user's connected visual matrix: first login
|
||
and radar; movement/mouse/resize/focus/combat; the shared inventory/skills/
|
||
spellbook panel; outdoor/building/dungeon/portal/paperdoll/particle/alpha
|
||
presentation; graceful close and fresh reconnect. Only that confirmation marks
|
||
L and the overall structural campaign complete.
|
||
|
||
## 5. Automated closeout evidence
|
||
|
||
- The final host is 1,622 raw lines. Source-boundary inspection finds no AC
|
||
algorithm, packet builder, entity scan, render graph, animation-part
|
||
composer, or stored `GameWindow` back-reference in an extracted owner.
|
||
- All 293 focused Slice 8 ownership, composition, callback, frame, lifetime,
|
||
automation, and source-boundary tests pass. App Release passes 3,451 tests / 3
|
||
intentional skips; the complete Release suite passes 7,823 / 5. The build's
|
||
17 test-project warnings are the unchanged #228 set.
|
||
- The connected lifecycle/reconnect gate passed in 314.4 seconds with graceful
|
||
capped and uncapped exits. Its uncapped reconnect reached 174.74 FPS / 5.72
|
||
ms at the final checkpoint. All six PNG artifacts are valid; the only route
|
||
warning is the expected 25 world-edge empty-landblock misses.
|
||
- Both Checkpoint-K nine-stop reports passed in about 403 seconds, produced the
|
||
exact names/sequences/process identity, and found no unconfounded canonical
|
||
owner growth under the unchanged residency/performance limits.
|
||
- The six current lifecycle PNGs were compared against artifacts rebuilt from
|
||
exact accepted Slice 7 commit `9d7df1bf` in an isolated worktree. The five
|
||
deterministic destinations preserve geometry, UI/paperdoll layering,
|
||
private viewports, depth/alpha, and world reveal. Facility Hub was nearly
|
||
pixel-identical (mean absolute RGB delta 0.91/255); the Aerlinthe captures
|
||
were 3.42 and 3.87/255. Holtburg and reconnect differences are live
|
||
entities, particles, vitals, and sub-frame camera timing. Capped login used a
|
||
different server-saved location and was checked only for complete rendering
|
||
and presentation layering.
|
||
- Three corrected-diff reviews are clean: behavior/retail boundary,
|
||
architecture/ownership, and adversarial lifecycle/failure handling. The
|
||
divergence audit found no new runtime behavior in K or L and requires no
|
||
register change.
|
||
|
||
The generated reports, screenshots, and disposable baseline worktree are
|
||
untracked evidence. The user's unrelated `TransitionTypes.cs` edit was not
|
||
modified or staged.
|