# Slice K3 shared-content and isolation checkpoint **Date:** 2026-07-27 **Status:** Automated checkpoint complete; connected Windows/Linux gate remains **Commits:** `12b500d3`, `9569dadb`, `b6547ff3` ## Outcome The production headless process now opens DAT and `acdream.pak` content once, leases the exact owner to every configured session, and disposes the mapping only after the final lease. Sessions share immutable magic/catalog, terrain height, and bounded flat-collision payloads while retaining distinct `GameRuntime`, entity, object, action, movement, physics-engine, data-cache, scratch, and teardown owners. The direct inbound route now projects accepted local-player spawn/position and portal state into one per-session movement controller and a per-session collision neighborhood. Terrain, EnvCell topology, buildings, stabs, and retail-generated scenery use the same presentation-free content builder as the graphical streaming path. Headless hydration deliberately skips visual bounds, so it does not populate the graphical process-wide `GfxObjBounds` cache. The scheduler quarantines a throwing policy, detaches it before canonical teardown deltas, and continues healthy sessions. Headless startup rejects process-global physics probes whose mutable capture cursors cannot be attributed safely across sessions. ## Automated evidence - Runtime tests: 412 passed. - Headless tests: 42 passed. - App tests: 3,722 passed / 3 skipped. - Complete Release solution: 8,758 passed / 5 skipped. - Streaming/collision focused gate: 277 passed. - Parameterized 1/5/10-session gate: - identical server GUIDs remain isolated; - activity and portal completion remain per Runtime root; - reconnect replaces only that session's incarnation/generation; - every teardown ledger converges. - Policy-fault gate: one failing policy is quarantined while the healthy session continues ticking. - Shared-content gate: exact DAT, package, magic catalog, height-table backing array, and bounded collision source are shared; mutable physics/cache/ movement owners are not. ## Remaining K3 gate 1. Run the production Release executable against local ACE in a visible terminal with no window, renderer, audio, or UI assemblies. 2. Observe initial collision hydration, lifestone recall, reconnect, and exact final content-lease disposal. 3. Repeat the production gate on Linux/WSL. 4. Add the connected resource evidence and close K3 before deriving K4's numeric 1/5/10/30-session ceilings. ## Exact rollback Newest first: ```text git revert b6547ff38c375328417855200f41c8af6436f246 git revert 9569dadb578b299b24e30aec85eee86ec0c2b3fb git revert 12b500d38362e8aae0a23a4f9712b86367006f76 ```