From 5cd22dacdb40e9a455ba7c9f70bc0e5bd7f73bab Mon Sep 17 00:00:00 2001 From: axiomlogicnexus Date: Wed, 6 May 2026 18:28:11 +0200 Subject: [PATCH] Align review start with repository summary refresh --- .../HyperTwistTrainingSubsystem.cpp | 1 + ...RT_SUMMARY_CONTINUITY_PACKET_2026-05-06.md | 94 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 docs/arch/HYPERTWIST_PHASE4_REVIEW_START_SUMMARY_CONTINUITY_PACKET_2026-05-06.md diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSubsystem.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSubsystem.cpp index df12f71..648ac37 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSubsystem.cpp +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSubsystem.cpp @@ -3385,6 +3385,7 @@ FHyperTwistTrainingRunState UHyperTwistTrainingSubsystem::StartRecommendedReview ActiveReviewPlanState ); ActiveReviewFlowStatus = UHyperTwistTrainingRepositoryLibrary::DeriveReviewFlowStatus(ActiveReviewPlanState); + RefreshRepositoryViews(); } else { diff --git a/docs/arch/HYPERTWIST_PHASE4_REVIEW_START_SUMMARY_CONTINUITY_PACKET_2026-05-06.md b/docs/arch/HYPERTWIST_PHASE4_REVIEW_START_SUMMARY_CONTINUITY_PACKET_2026-05-06.md new file mode 100644 index 0000000..5f981c3 --- /dev/null +++ b/docs/arch/HYPERTWIST_PHASE4_REVIEW_START_SUMMARY_CONTINUITY_PACKET_2026-05-06.md @@ -0,0 +1,94 @@ +# HyperTwist Phase 4 review start summary continuity packet + +Created on `2026-05-06` + +Status: + +- first-party HyperTwist packet +- bounded Phase `4` coach-to-review validation slice + +## Purpose + +This packet closes the next same-pass continuity gap in the live recognition-assisted coach-to-review loop. + +The open task is: + +- keep review-program summary state and dashboard-adjacent coach state aligned the moment a review run is started + +It is not: + +- a new recognition transport packet +- a new review-policy heuristic packet +- a new queue packet +- a broad dashboard rewrite + +## Scope + +Bounded lane: + +- fix the review-run start seam where the new active review plan was created after the first repository refresh +- force the first same-pass repository-derived review summary and coach state refresh after the review plan is actually persisted +- keep the fix local to the review-start path without reopening review-attempt or review-finalization behavior + +Out of scope: + +- new replay scoring +- new review-plan heuristics +- new dashboard layout work +- broader coach-queue or action-plan changes + +## Why this was the right next packet + +Before this slice: + +- queue-backed brief continuity and queue-launch continuity were already landed +- review-policy continuity, review-policy inspection, and recognition-review intervention continuity were already landed +- review-attempt and review-finalization paths already refreshed repository-derived state after updating the active review plan + +But one review-start seam still lagged: + +- `StartTrainingRunFromDeck()` refreshed repository-derived state before the new review plan existed in repository state +- `StartRecommendedReviewRun()` then built and upserted the active review plan afterward +- active review flow status was corrected immediately, but `ActiveReviewProgramSummary` and the coach state derived from it stayed one pass behind until a later refresh + +That meant the start of a new review run could momentarily expose: + +- an active review plan that existed +- a review-program summary that still reflected the pre-review-run repository state +- coach/dashboard-derived state still shaped by that stale summary + +So the next honest move was: + +- add the missing same-pass repository refresh after the review plan is persisted at review-run start + +## What landed + +Primary code changes: + +- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSubsystem.cpp` + - `StartRecommendedReviewRun()` now calls `RefreshRepositoryViews()` after the newly built review plan is upserted and the active review flow status is derived + +## Product effect + +Review-run start is now same-pass aligned: + +- the active review plan and active review flow status still materialize immediately +- `ActiveReviewProgramSummary` now includes the just-started review plan in the same start-of-review pass +- coach-derived state that depends on review-program summary no longer lags until the first review attempt or later manual refresh +- dashboard-adjacent inspection now reads coach/runtime state that matches the newly started review lane + +## Acceptance criteria + +- starting a review run refreshes repository-derived review summary state after the new review plan is persisted +- start-of-review coach state no longer depends on a stale pre-review-run summary pass +- no broader queue or review-policy packet is reopened +- full product build succeeds + +## Validation checklist + +1. build `UnrealHyperTwist.sln` / `UnrealHyperTwistEditor` +2. confirm `StartRecommendedReviewRun()` refreshes repository views after `UpsertReviewPlan()` +3. confirm active review flow status and repository-derived review-program summary are now aligned in the same review-start pass +4. confirm no review-attempt or review-finalization path needed to change for this packet + +That is the packet.