docs(rendering): close retained classification gate

Record exact capped, uncapped, and dense parity evidence for 6a026c5a, including warm reuse, hidden-frame synchronization, full Release results, and the unchanged pre-cutover rollback anchor. Advance the execution ledger to G4.
This commit is contained in:
Erik 2026-07-25 03:37:37 +02:00
parent 6a026c5ab0
commit c7d7848dd2
2 changed files with 104 additions and 2 deletions

View file

@ -26,8 +26,9 @@ retail-faithful gameplay
| G0 — borrowed frame product | complete | Two reusable arenas publish exact generation/frame-stamped borrowed views for scene candidates, cell ranges, transforms, classification, light sets, selection, PView/clip references, counts, and source digest. Release/reuse invalidates every copied view; abort never publishes; frame N may build while N-1 is borrowed; the warm path allocates zero bytes. Eight focused tests pass inside the 3,743-App / 8,227-solution Release gate. |
| G1 — scene-query replacement | complete | Exact `e346f8bb` passed capped and uncapped nine-stop routes plus uncapped dense Arwic: 29,392 + 29,025 + 1,522 same-frame candidate comparisons, zero mismatches, equal counts/digests at every checkpoint, exact binary/source identity, and graceful shutdown. Evidence: `docs/research/2026-07-25-slice-g1-scene-query-candidate-gate.md`. |
| G2 — packed dispatcher input | complete | Exact `f9829d5f` passed capped and uncapped nine-stop routes plus dense Arwic. Candidate order, packed input, classified output, and selection each completed 16,879 + 17,282 + 770 comparisons with zero mismatch; journal/rejection counts were zero and shutdown graceful. Evidence: `docs/research/2026-07-25-slice-g2-packed-dispatcher-gate.md`. |
| G3 — retained classification/storage | active | Restore the isolated retained-classification cache after G2's exact-order correction, then prove dirty-only rebuild and zero-allocation warm reuse before any draw-source switch. |
| G4G5 | pending | No production consumer has switched. |
| G3 — retained classification/storage | complete | Exact `6a026c5a` passed capped and uncapped nine-stop routes plus dense Arwic with 17,069 + 16,827 + 757 exact comparisons in every channel, zero mismatch, warm cross-frame reuse, and graceful shutdown. Evidence: `docs/research/2026-07-25-slice-g3-retained-classification-gate.md`. |
| G4 — production cutover | active | Switch one production draw consumer to the exact retained frame product, record the exact cutover hash before the visual gate, then remove no oracle evidence until parity and fixed-camera image checks pass. |
| G5 | pending | Physical performance/lifecycle closeout follows the user visual gate. |
The exact pre-F/G runtime rollback anchor remains `e7d9d6fa`. F0 is
non-drawing diagnostic infrastructure and therefore is not a visual-cutover
@ -602,6 +603,23 @@ clip slots, light sets, selection parts, alpha records, and draw counts.
**Commit gate:** warm unchanged frames rebuild no static classification and
allocate no core scene/dispatcher memory.
**Completed 2026-07-25.** Exact `6a026c5a` passed capped and uncapped
nine-stop routes plus uncapped dense Arwic. Candidate order, packed input,
classified output, and selection completed 17,069 + 16,827 + 757 continuous
comparisons with zero mismatch. Dense Arwic's final warm frame reused all
3,828 unchanged visible classifications, rebuilt zero static projections, and
kept 410 active animated classifications on the live path.
The first development pass exposed a reveal-edge ownership gap: inbound state
continues while portal reveal blocks ordinary simulation, but the derived
render projection had also been blocked. A narrow hidden-frame projection sync
now follows inbound network/command mutation without advancing effects,
particles, attachments, lights, animation, or physics. Dirty state is
acknowledged only after every packed comparison succeeds. Deterministic tests
also pin generation/incarnation replacement, incomplete resources, retirement,
and 1,000 warm reuse frames with zero thread allocation. Evidence:
`docs/research/2026-07-25-slice-g3-retained-classification-gate.md`.
### G4 — Cutover
1. Run old and new input construction in compare-only mode; draw only the old