Record the exact f46ddb5c rollback, 8,441-test Release gate, and seven-checkpoint connected lifecycle/reconnect pass. Update the canonical project state and pin J3.3's exact-key App projection-store execution plan.
Co-authored-by: Codex <codex@openai.com>
79 lines
2.8 KiB
Markdown
79 lines
2.8 KiB
Markdown
# Modern runtime J3.2 canonical entity directory closeout
|
|
|
|
## Result
|
|
|
|
J3.2 is complete at production commit
|
|
`f46ddb5cdb1e145752bea49aeb1d62bfe71284d3`.
|
|
|
|
`AcDream.Runtime.Entities.RuntimeEntityDirectory` now owns the only:
|
|
|
|
- active server-GUID to exact-incarnation map;
|
|
- exact-incarnation teardown tombstone map;
|
|
- Runtime local-ID allocation and reverse lookup;
|
|
- accepted inbound snapshot/timestamp owner;
|
|
- parent-relation owner;
|
|
- session lifetime epoch and per-GUID operation versions.
|
|
|
|
`RuntimeEntityRecord` owns the presentation-free canonical spawn, `INSTANCE_TS`,
|
|
cell/state authority, retail object clock, authority versions, and the
|
|
PhysicsBody/physics-host facts deliberately carried until J5.
|
|
|
|
App's `LiveEntityRecord` is now a graphical sidecar over that canonical record.
|
|
Its temporary dictionary-shaped `ActiveRecordView` stores no GUID map: it asks
|
|
Runtime for the current canonical record and resolves the sidecar by record
|
|
reference. J3.3 replaces that compatibility seam with an exact
|
|
`RuntimeEntityKey` projection store.
|
|
|
|
No renderer, UI, Silk.NET, ImGui, OpenAL, or App type entered Runtime. No
|
|
asynchronous queue or input-frame delay was added.
|
|
|
|
## Automated acceptance
|
|
|
|
At the production commit:
|
|
|
|
- Runtime tests: 110 passed;
|
|
- App tests: 3,758 passed / 3 skipped;
|
|
- complete Release solution: 8,441 passed / 5 skipped;
|
|
- Release solution build: pass.
|
|
|
|
Coverage includes active-incarnation uniqueness, exact old-generation
|
|
tombstones, local-ID wrap/reverse lookup, stale identity release, session epoch
|
|
replacement, accepted snapshot authority, separate delete/teardown edges,
|
|
resource registration rollback, reentrant clear/delete, GUID reuse, and source
|
|
guards that reject presentation/backend state on the canonical record.
|
|
|
|
## Connected lifecycle acceptance
|
|
|
|
Raw evidence:
|
|
`logs/connected-world-gate-20260725-200749/report.json`.
|
|
|
|
Result: PASS on the exact production commit.
|
|
|
|
- Capped process: login, Aerlinthe, Rynthid, Facility Hub, Holtburg after the
|
|
dungeon, and Aerlinthe revisit all completed.
|
|
- Fresh uncapped process: reconnect completed.
|
|
- Seven of seven checkpoints passed.
|
|
- Both processes exited gracefully with exit code zero.
|
|
- Every checkpoint reported zero render-shadow mismatches and zero pending
|
|
render deltas.
|
|
- No gate failure was recorded.
|
|
- The only warning was 25 expected world-edge landblock misses.
|
|
|
|
This proves that moving identity, incarnation, tombstone, accepted-wire, and
|
|
local-ID ownership into Runtime preserved connected object creation,
|
|
same-location revisit, dungeon/outdoor replacement, packet routing, rendering,
|
|
and graceful teardown on the exact binary.
|
|
|
|
## Exact rollback
|
|
|
|
```text
|
|
git revert f46ddb5cdb1e145752bea49aeb1d62bfe71284d3
|
|
```
|
|
|
|
J3.1 remains independently reversible with:
|
|
|
|
```text
|
|
git revert f7442d13e9ae7d5b077ffecb1f8a10899ad46edd
|
|
```
|
|
|
|
When reverting both, revert J3.2 before J3.1.
|