test: replace input and physics source freezes

This commit is contained in:
Erik 2026-08-18 15:31:57 +02:00
parent 0ad2ee1cdf
commit caa5eb8b2b
6 changed files with 313 additions and 238 deletions

View file

@ -1149,3 +1149,62 @@ Verification:
attributed methods, and reduces direct/total source readers from 63/98 to
57/92. The remaining 92 reconcile to 22 approved retained
policies/contracts and 70 staged replacements.
## Batch Y input, physics, and inbound-network source-freeze replacement
Batch Y converts the nine approved source-text readers in the input/physics/
network wiring group. Seven remain as compiled-metadata architecture checks;
two redundant source assertions are removed. No product source changes.
The exact decisions are:
- the ForcePosition generic-tail suite now inspects the built
`TryApplyGenericRemoteRenderPose` body for its one `WorldEntity.SetPosition`
edge and proves the committed/deferred local-position observer call is
immediately followed by a compiled return. The negative assertion that the
already-deleted `LocalForcePositionTransaction` class name was absent is
removed: the Runtime-owned transaction and its displaced-authority behavior
are already exercised by
`RuntimeAcceptedPositionDriveControllerTests`, while an absent identifier is
not behavior;
- the contact-versus-walkability source assertion is removed. The dedicated
`SteepContactBody_InterpolatesInsteadOfSnapping` and
`FreeFlightBodyWithNoContact_StillSnaps` behavioral tests exercise the one
discriminating state and the opposite boundary through the real routing
method, so retaining a string check would add brittleness rather than
coverage. The AP-140 retail rationale remains beside those behavioral tests;
- local inbound SetState routing now verifies the compiled controller graph has
exactly one `PlayerMovementController.ApplyServerPhysicsState` edge and no
direct `ApplyPhysicsState` edge;
- the #270 movement-stats contract reflects the single
`StaminaExhaustionEdgeTracker` owner and follows the compiled Observe,
ReportExhaustion, Reset, and two factory Apply edges. Existing tracker and
Runtime movement-state behavior suites remain the behavioral oracle;
- remote spawn settling now identifies both compiled call sites
(`DispatchRemoteInboundMotion` and `OnPosition`), verifies the repeated
inbound route checks `PhysicsBody.InContact` before reseeding, and verifies
the shared seed helper calls `SpawnPlacementSettler.TrySettle`;
- production auto-entry readiness now follows compiled calls to the published
controller, live-record lookup, and physics-host view and verifies the exact
`EntityPhysicsHost` type operand; and
- player presentation attachment now verifies compiled call order from the
animation sink assignment through matched animation drain to the unmatched
interpreter suffix drain.
`CompiledCallGraph` gained reusable instruction and type-reference readers.
They allow exact return and `isinst`/cast boundaries to be checked without
making comments, whitespace, local names, or source paths part of the oracle.
Verification:
- the directly affected and adjacent behavioral App suites pass 31/31, and
the two Runtime owner suites pass 52/52;
- the complete locked Release build covers all 44 projects with zero warnings
and zero errors;
- the no-retry complete hermetic Release gate passes 14,347/14,347 with zero
skips or failures across all 12 test assemblies. The exact two-case
reduction is the two redundant source assertions above; and
- the regenerated 1,254-file inventory parses every file, reports 11,415
attributed methods, and reduces total direct/helper source readers from 92
to 83 while direct readers remain 57. The remaining 83 reconcile to the 22
approved retained policies/contracts and 61 staged replacements.