PHASE 6 COMPLETE: Reconciliation (Rollback-Resimulation)#5
Merged
Conversation
added 3 commits
January 9, 2026 21:01
… helper Step 6.1: Implemented client reconciliation (buffered server state, PerformReconciliationIfNeeded, guards, and event). Step 6.2: Added Phase 6 tests: Reconciliation_SmallCorrection_AppliesAndResimulates, Reconciliation_HardSnap, Reconciliation_ServerEmitCorrection_Applies. Step 6.3: Added negative tests and TEST_REGISTRY updates. Testing & Validation: Compiles clean; run EditMode tests locally next.
Step 6.1: Update tests to use GameObject.AddComponent<ServerEntity> (avoid MonoBehaviour 'new' error), ensure FakeNetworkPipe delivery is processed while client is subscribed, and increase HardSnap test simulation ticks to exceed MAX_RESIM_STEPS. Testing & Validation: Tests compile; runs will be executed locally/CI.
Step 6.1: Client reconciliation implemented - Implemented PerformReconciliationIfNeeded with batching, history/spiral/catastrophic guards, resimulation loop, and defensive authoritative writes; added DebugInjectServerState test helper. Step 6.2: Server support & tests - Added ServerEntity.EmitStateCorrection helper; added Phase6 EditMode tests: Reconciliation_SmallCorrection_AppliesAndResimulates, Reconciliation_HardSnap, Reconciliation_ServerEmitCorrection_Applies and negative tests: Reconciliation_BufferWrap_Safe, Reconciliation_NonApplicableCorrection_Ignored. Step 6.3: ADR & Registry - Added ADR-013 (Reconciliation Strategy) and updated TEST_REGISTRY.md. Testing & Validation - Local EditMode tests: all Phase 6 tests passing; CI: Unity Tests succeeded on self-hosted runner for feature/phase-6. Performance - Spiral guard (MAX_RESIM_STEPS) prevents frame budget blowouts; no allocations added to hot paths; further profiling pending. CHECKPOINT 6: Phase 6 implemented, verified, and ready for merge after review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step 6.1: Client reconciliation implemented; Step 6.2: server helper + tests added; Step 6.3: ADR-013 recorded. All Phase 6 EditMode tests passing locally and CI (Unity Tests) green on self-hosted runner. Requesting review and merge.