diff --git a/coordination/claims/M03-RND-M2-PROTOTYPE-CACHE-001.md b/coordination/claims/M03-RND-M2-PROTOTYPE-CACHE-001.md index 7e686cb..ec7b8fe 100644 --- a/coordination/claims/M03-RND-M2-PROTOTYPE-CACHE-001.md +++ b/coordination/claims/M03-RND-M2-PROTOTYPE-CACHE-001.md @@ -78,9 +78,9 @@ shutdown-lifetime cache-state service. ## Status -- State: ready +- State: accepted - Done: cache state, loader/test adapters, lifecycle verifier and required documentation -- Next: integrate and run post-merge acceptance +- Next: continue M2 animation request/materialization extraction - Blocked by: ## Handoff @@ -99,3 +99,13 @@ shutdown-lifetime cache-state service. repository/world-renderer specs, module registry and `RENDER.md`. + +## Integration + +- Merge commit: `1de50f9` +- Post-merge results: prototype cache `cases=16 iterations=100 + elapsed_ms=37.978`; shutdown, raw repository, finalizer, extractor, Mesh cache, + pipeline, materials, facade, internal-access `31`, manifest `7/7`, + documentation and coordination gates passed. + + diff --git a/targets/03-renderer-facade.md b/targets/03-renderer-facade.md index 304725c..1ccfa78 100644 --- a/targets/03-renderer-facade.md +++ b/targets/03-renderer-facade.md @@ -27,7 +27,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру ## Evidence - Date: 2026-07-17 -- Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`, `2342430`, `396be5e`, `f88bf97`, `3f84717`, `d2cb52f`, `f9e5a4f`, `c06aed5`, `a878e7c`, `60603e1`, `b4955d6`, `ada0fd9`, `f470775`, `874fd0f`, `38f831e`, `83b3618`, `3094561`, `fa85985`, `1fafdde`, `7cd07dd`; +- Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`, `2342430`, `396be5e`, `f88bf97`, `3f84717`, `d2cb52f`, `f9e5a4f`, `c06aed5`, `a878e7c`, `60603e1`, `b4955d6`, `ada0fd9`, `f470775`, `874fd0f`, `38f831e`, `83b3618`, `3094561`, `fa85985`, `1fafdde`, `7cd07dd`, `1de50f9`; packages `M03-RND-SCHEDULER-001`, `M03-RND-INTERNAL-ACCESS-GATE-001`, `M03-RND-FACADE-GROUND-QUERY-001`, `M03-RND-FACADE-ENVIRONMENT-001`, `M03-RND-FACADE-ENTITY-001`, `M03-RND-TERRAIN-CACHE-SERVICE-001`, @@ -49,7 +49,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру `M03-RND-M2-MESH-RESOURCE-CACHE-001`, `M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001`, `M03-RND-M2-RUNTIME-MESH-FINALIZER-001`, - `M03-RND-M2-RAW-MODEL-REPOSITORY-001` + `M03-RND-M2-RAW-MODEL-REPOSITORY-001`, + `M03-RND-M2-PROTOTYPE-CACHE-001` - Commands: dedicated scheduler/planner/facade/focus/coordinate/manifest/shutdown headless verifiers; Godot cold editor parse; coordination, documentation and diff gates. - Results: scheduler `cases=6 iterations=20000 elapsed_ms=10.216`; planner @@ -178,6 +179,15 @@ Runtime и Editor используют facade; planner/scheduler тестиру (`3.200ms`), finalizer, extractor, cache, pipeline, shutdown, facade, internal-access `34`, `7/7` manifest, documentation and coordination gates remained green. + M2 prototype cache state passed `cases=16 iterations=100 + elapsed_ms=50.266` with invalid admission, exact static/animated identity, + independent positive/negative outcomes, first-wins duplicate release, + detached/in-tree shutdown ownership and idempotent clear contracts. Forty-six + autonomous headless regressions and checkpoint dry-run `7/7` passed; the + proprietary ADT probe remained unavailable. Post-merge cache (`37.978ms`), + shutdown, raw repository, finalizer, extractor, Mesh cache, pipeline, + materials, facade, internal-access `31`, `7/7` manifest, documentation and + coordination gates remained green. M02 terrain-query regression remained green (13 pre-existing expired M00 claim warnings). - Fidelity comparison: all 16 historical operation limits and drain sites were @@ -247,11 +257,12 @@ Runtime и Editor используют facade; planner/scheduler тестиру insertion polling order; loaded/failed transitions preserve completion-order finalization FIFO and opaque statuses. All three pending-plus-finalize metrics, both clear sites and shutdown ResourceLoader drain order are unchanged; cache - path selection, I/O, permits, shared missing state and adoption remain loader-owned. + path selection, I/O, permits and adoption decisions remain loader-owned; + missing outcomes now belong to the prototype cache state. Prepared static M2 Mesh lookups retain exact Resource identity, same-path replacement and map-refresh lifetime; the only clear remains final shutdown - after asynchronous drain. Shared missing/prototype/animated caches and - materialization remain loader-owned. + after asynchronous drain. Shared missing/static/animated prototype state now + belongs to `M2PrototypeCacheState`; materialization remains loader-owned. Direct Mesh Resources, temporary PackedScene instances and prototype/rebuild subtrees retain the same depth-first first-Mesh rule. PackedScene still instantiates once and frees its temporary root synchronously before return; @@ -261,8 +272,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру attempts the same M2Builder rebuild, and failure marks/reuses the original. Raw FileAccess/ClassDB M2Loader I/O now belongs to the stateless repository; exact path resolution and `load_m2`/`load_m2_animated` names are unchanged. - Loader-owned normalization, fallback order, missing/prototype caches, builders - and result adoption remain unchanged. + Loader-owned normalization, fallback order, builders and result adoption remain + unchanged; the same prototype/negative transitions now use cache-state methods. No new build-12340 parity claim is made; asset-backed visual/p95/p99 comparison remains pending. - Changed files: scene-free scheduler and verifier; streamer budget composition/ permit delegation; scheduler module spec; world renderer/module registry/RENDER notes; @@ -293,6 +304,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру stateless M2 Mesh resource extractor and three loader traversal adapters, M2 runtime Mesh finalizer and loader raw-data/finalize/clear adapters, stateless M2 raw model repository and three native-load adapters, + shutdown-lifetime M2 prototype cache state and all positive/negative adapters, expanded facade/internal-access/coordinate verifiers; work-package claims and this evidence. - Remaining risks: worker concurrency and stale-result validation remain streamer-owned; cancellation stops new permits but does not interrupt @@ -308,9 +320,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру and boundary traversal p95/p99 remain pending; path grouping is not yet culling-driven spatial-cell grouping; M2 rebuild classification and static request/finalize bookkeeping, prepared Mesh cache ownership and first-Mesh - traversal plus refresh/rebuild/fallback and raw native M2 I/O are separated, - but synchronous parsing, ResourceLoader, shared missing state and Mesh adoption - remain in the loader or its direct call path; raw + traversal plus refresh/rebuild/fallback, raw native M2 I/O and prototype/ + negative cache state are separated, but synchronous parsing, ResourceLoader, + animation request state and Mesh adoption remain in the loader call path; raw WMO ResourceLoader/FileAccess I/O, live fallback and group materialization remain in the loader; asset-backed WMO placement/portal/material/leak/p95/p99 evidence remains pending;