Collapse stale post-review handoff state

This commit is contained in:
axiomlogicnexus 2026-05-06 19:59:38 +02:00
parent 9cb2e41c04
commit 2dda2ecd87
2 changed files with 122 additions and 0 deletions

View file

@ -2142,6 +2142,33 @@ FHyperTwistTrainingCoachPanelState UHyperTwistTrainingSubsystem::GetActiveCoachP
);
}
PanelState.bCanStartQueuedRun = NextRunnableEntry != nullptr && QueueLaunchDeck.IsStructurallyValid();
const bool bShouldPresentPostReviewIdleClosure =
!HasActiveRun()
&& !RetainedRepositoryViewUserId.IsEmpty()
&& !ActiveReviewProgramSummary.LastCompletedPlanId.IsEmpty()
&& ActiveReviewProgramSummary.PendingPlanCount == 0
&& !ActiveReviewProgramSummary.bHasCarryover
&& !ActiveReviewPlanState.IsStructurallyValid()
&& !ActiveCoachSessionQueueSummary.IsStructurallyValid()
&& !ActiveCoachSessionQueueState.IsStructurallyValid();
if (bShouldPresentPostReviewIdleClosure)
{
PanelState.bHasCoachGuidance = false;
PanelState.bHasFollowUpGuidance = false;
PanelState.bHasRunnableQueueEntry = false;
PanelState.bHasQueueWork = false;
PanelState.bHasDeferredQueueWork = false;
PanelState.TotalQueueEntryCount = 0;
PanelState.ReadyQueueEntryCount = 0;
PanelState.DeferredQueueEntryCount = 0;
PanelState.FollowUpQueueEntryCount = 0;
PanelState.bCanStartQueuedRun = false;
PanelState.bCanStartCoachFollowUpRun = false;
PanelState.bCanStartCoachRecommendedRun = false;
PanelState.NextQueueSourceLabel.Reset();
PanelState.ActiveQueueEntryId.Reset();
PanelState.FocusCaseCount = 0;
}
const bool bPreferFollowUpGuidance =
PanelState.bHasFollowUpGuidance

View file

@ -0,0 +1,95 @@
# HyperTwist Phase 4 post-review dashboard idle-closure packet
Created on `2026-05-06`
Status:
- first-party HyperTwist packet
- bounded Phase `4` coach-to-review validation slice
## Purpose
This packet closes the remaining stale handoff surface after the recognition-assisted review loop is genuinely exhausted.
The open tasks are:
- stop presenting coach handoff actions from retained repository context once the completed review program has no pending successor and no active queue
- preserve retained repository context for inspection/history while collapsing the actionable dashboard handoff surface back to true idle
It is not:
- a repository-context reset packet
- a broader coach-guidance redesign
- a queue-priority packet
- a dashboard layout redesign
## Scope
Bounded lane:
- detect the post-clear retained-context state where a review program is completed, has no pending plan, has no carryover, and has no active queue
- suppress queued, follow-up, and recommended coach handoff actionability in that state
- let the panel fall back to the stable idle headline and queue status while leaving the retained repository summaries intact
Out of scope:
- clearing retained repository context entirely
- rewriting coach brief derivation
- changing review-policy heuristics
- new queue-memory logic
## Why this was the right next packet
Before this slice:
- clear-run repository-view continuity was landed
- post-clear queue idle continuity was landed
- idle review-plan continuity was landed
- completed-review idle-closure was landed for review inspection itself
But one stale surface still remained:
- retained repository context could still let the coach panel present actionable handoff guidance after the review program was already exhausted, even though review pressure and active queue work were both gone
That meant:
- queue/review state could be truthful underneath
- while the dashboard handoff surface still looked like there was immediate continuation work to launch
So the next honest move was:
- keep the retained inspection context, but collapse the handoff surface to true idle once the finished review program has no pending successor and no queue work left
## What landed
Primary code changes:
- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSubsystem.cpp`
- `GetActiveCoachPanelState()` now detects the retained post-review closure state
- queued, follow-up, and recommended handoff actionability is suppressed in that state
- queue counts and handoff entry ids are cleared so the panel returns to stable idle wording
## Product effect
The final handoff boundary is now more truthful:
- completed review programs no longer leave actionable handoff guidance behind just because retained repository context is still available
- queue/review closure can now read as a stable idle dashboard state instead of a ghost continuation state
- retained repository inspection context still survives, so closure history and learner state remain visible
## Acceptance criteria
- when there is no active run, no pending review plan, no carryover, and no active queue, the coach panel does not present queued/follow-up/recommended handoff actions from retained review context
- the panel falls back to stable idle queue/handoff wording in that state
- retained repository inspection context remains available
- full product build succeeds
## Validation checklist
1. build `UnrealHyperTwist.sln` / `UnrealHyperTwistEditor`
2. confirm exhausted post-review retained context no longer exposes queued/follow-up/recommended handoff actions
3. confirm stable idle queue wording is shown instead
4. confirm retained repository inspection context still exists underneath
5. confirm no broader coach or queue redesign was reopened
That is the packet.