Restore retained idle dashboard presentation closure
This commit is contained in:
parent
dcaa849179
commit
4a9f5fd0ca
3 changed files with 152 additions and 28 deletions
|
|
@ -13832,7 +13832,7 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
TransitionStatusLine =
|
||||
TEXT("Transition: no run is active. Start recommended, follow-up, or queued coaching work from this screen.");
|
||||
}
|
||||
const FString ContinueRunLabel = bHasLiveAttemptTimer
|
||||
FString ContinueRunLabel = bHasLiveAttemptTimer
|
||||
? (bLiveInspectionPhase ? TEXT("Start Solve") : TEXT("Attempt Active"))
|
||||
: (bGeneratedModeLaunchDeck
|
||||
? (bCanExecuteGeneratedModeLaunch ? TEXT("Execute Generated Run") : TEXT("Resolve Selectors"))
|
||||
|
|
@ -16589,30 +16589,6 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
const bool bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanOutcomeHistory =
|
||||
CachedCoachPanelState.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-outcome");
|
||||
RecordCoachHandoffHistorySnapshot(
|
||||
HyperTwistCoachDashboardWidgetInternal::DescribeHandoffRecommendationKind(
|
||||
HandoffRecommendationKind),
|
||||
CoachHandoffRecommendationStatusLine,
|
||||
CoachHandoffRecommendationDetailLine,
|
||||
CachedCoachPanelState.NextQueueSourceLabel,
|
||||
HandoffClosureBias.ContinuationBias,
|
||||
HandoffClosureBias.SuppressionBias,
|
||||
bQueueReadyForHandoff,
|
||||
bFollowUpReadyForHandoff,
|
||||
bRecommendedReadyForHandoff,
|
||||
bHandoffRecommendationUsedDeferredFirstSuppressionSignal,
|
||||
bHandoffRecommendationUsedMethodDrillWeighting,
|
||||
bHandoffRecommendationUsedStrongRetainedMethodDrillRecoveryPosture,
|
||||
bHandoffRecommendationUsedWeakRetainedMethodDrillRecoveryPosture,
|
||||
bHandoffRecommendationUsedReliableTrustedTightPlanHistory,
|
||||
bHandoffRecommendationUsedReliableTrustedBroadPlanHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedTightPlanHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedTightPlanOutcomeHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanOutcomeHistory,
|
||||
bDisplayedCoachHandoffRecommendationUsedReliableAcceptedAlignedTightPacketOutcomeHistory,
|
||||
bDisplayedCoachHandoffRecommendationUsedReliableAcceptedAlignedBroadPacketOutcomeHistory
|
||||
);
|
||||
FString QueuedRunLabel = CachedCoachPanelState.NextQueueSourceLabel.IsEmpty()
|
||||
? TEXT("Start Queue")
|
||||
: FString::Printf(TEXT("Queue: %s"), *CachedCoachPanelState.NextQueueSourceLabel);
|
||||
|
|
@ -17385,6 +17361,12 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
}
|
||||
if (bShouldPresentClosedLoopIdleDashboard)
|
||||
{
|
||||
TransitionStatusLine =
|
||||
TEXT("Transition: the coach-to-review loop is closed and idle. No queued, follow-up, or recommended continuation remains.");
|
||||
ContinueRunLabel = TEXT("Loop Idle");
|
||||
QueuedRunLabel = TEXT("Queue Idle");
|
||||
FollowUpRunLabel = TEXT("Follow-Up Idle");
|
||||
RecommendedRunLabel = TEXT("Recommended Idle");
|
||||
QueueRecoveryStatusLine =
|
||||
TEXT("Recovery: closed and idle; no queue-memory recovery override is active.");
|
||||
QueueRecoveryDetailLine =
|
||||
|
|
@ -17410,11 +17392,49 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
bDisplayedCoachHandoffRecommendationUsedReliableAcceptedAlignedTightPacketExactOutcomeReliableHistory = false;
|
||||
bDisplayedCoachHandoffRecommendationUsedReliableAcceptedAlignedBroadPacketExactOutcomeReliableHistory = false;
|
||||
DisplayedCoachHandoffMethodDrillRecoveryMemoryStartActionSourceLabel.Reset();
|
||||
CoachHandoffStatusLine =
|
||||
TEXT("Coach handoff: closed and idle; no queued, follow-up, or recommended continuation is active.");
|
||||
CoachHandoffRecommendationStatusLine =
|
||||
TEXT("Handoff recommendation: none; the coach-to-review loop is idle.");
|
||||
CoachHandoffRecommendationDetailLine =
|
||||
TEXT("Handoff detail: retained closure history remains inspectable, but no queued, follow-up, or recommended continuation is active.");
|
||||
}
|
||||
RecordCoachHandoffHistorySnapshot(
|
||||
HyperTwistCoachDashboardWidgetInternal::DescribeHandoffRecommendationKind(
|
||||
HandoffRecommendationKind),
|
||||
CoachHandoffRecommendationStatusLine,
|
||||
CoachHandoffRecommendationDetailLine,
|
||||
CachedCoachPanelState.NextQueueSourceLabel,
|
||||
HandoffClosureBias.ContinuationBias,
|
||||
HandoffClosureBias.SuppressionBias,
|
||||
!bShouldPresentClosedLoopIdleDashboard && bQueueReadyForHandoff,
|
||||
!bShouldPresentClosedLoopIdleDashboard && bFollowUpReadyForHandoff,
|
||||
!bShouldPresentClosedLoopIdleDashboard && bRecommendedReadyForHandoff,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedDeferredFirstSuppressionSignal,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedMethodDrillWeighting,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedStrongRetainedMethodDrillRecoveryPosture,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedWeakRetainedMethodDrillRecoveryPosture,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedReliableTrustedTightPlanHistory,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedReliableTrustedBroadPlanHistory,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedReliableAlignedTrustedTightPlanHistory,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanHistory,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedReliableAlignedTrustedTightPlanOutcomeHistory,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanOutcomeHistory,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bDisplayedCoachHandoffRecommendationUsedReliableAcceptedAlignedTightPacketOutcomeHistory,
|
||||
!bShouldPresentClosedLoopIdleDashboard
|
||||
&& bDisplayedCoachHandoffRecommendationUsedReliableAcceptedAlignedBroadPacketOutcomeHistory
|
||||
);
|
||||
RecordMethodDrillRecoveryMemoryHistorySnapshot(
|
||||
QueueRecoveryWeighting,
|
||||
QueueRecoveryStatusLine,
|
||||
|
|
|
|||
|
|
@ -66,9 +66,9 @@ Current correction call from the source-exposed audit and current execution refr
|
|||
- retained benchmark-oracle and mirror-intake reservations
|
||||
- current code reality in which training/coaching/catalog integration is materially ahead of recognition and hypercube runtime implementation
|
||||
- the imported generated-mode gap is closed; request/config/selection plumbing and the bounded clean-room executor are already landed in first-party code
|
||||
- the latest landed bounded `Phase 4` packet closes the retained-idle actionability gap at the end of the already-live recognition-assisted coach-to-review continuity lane
|
||||
- retained post-review refresh now stops rebuilding follow-up and queue actionability once review carryover is exhausted and the coach sequence is already closed underneath
|
||||
- the current next bounded packet is to verify the retained idle dashboard/widget surface against that now-collapsed subsystem state and land only a presentation fix if stale follow-up, queue, or recommended narration still survives above it
|
||||
- the latest landed bounded `Phase 4` packet closes the retained-idle dashboard presentation gap at the end of the already-live recognition-assisted coach-to-review continuity lane
|
||||
- the retained idle widget surface now collapses next-step, handoff, and retained handoff-history presentation to the truthful closed-loop idle state instead of carrying pre-collapse queue/follow-up/recommended narration forward
|
||||
- the current next bounded packet is to run one final retained-surface sweep across preview/history panes and land only if stale launch labels, generated packet headlines, or handoff narration still survive after the closed-loop idle collapse
|
||||
- the current execution-discipline rule that broad refactor / monolith-splitting work should not interrupt the active bounded roadmap packet unless structure is actually blocking it
|
||||
|
||||
## Current execution-reality references
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
# HyperTwist Phase 4 retained idle dashboard presentation closure packet
|
||||
|
||||
Created on `2026-05-07`
|
||||
|
||||
Status:
|
||||
|
||||
- first-party HyperTwist packet
|
||||
- bounded Phase `4` coach-to-review validation slice
|
||||
|
||||
## Purpose
|
||||
|
||||
This packet closes the last retained-idle dashboard presentation seam after the subsystem already stops rebuilding queue and follow-up actionability underneath.
|
||||
|
||||
The open tasks are:
|
||||
|
||||
- stop the widget from continuing to present queued, follow-up, or recommended next-step narration after the retained coach-to-review loop is already closed and idle
|
||||
- stop the widget from retaining a fresh handoff-history snapshot built from that stale pre-collapse recommendation state
|
||||
|
||||
It is not:
|
||||
|
||||
- another subsystem closure packet
|
||||
- a new queue-recovery policy packet
|
||||
- a new coach-memory weighting packet
|
||||
- a broader dashboard redesign
|
||||
|
||||
## Scope
|
||||
|
||||
Bounded lane:
|
||||
|
||||
- make the retained closed-loop idle branch authoritative for the primary dashboard next-step and coach-handoff presentation
|
||||
- collapse retained idle button labels away from launch-oriented queue/follow-up/recommended narration
|
||||
- move the widget-side handoff snapshot to record the final closed-loop idle presentation state instead of the earlier pre-collapse recommendation state
|
||||
- preserve retained history inspection while making the current live surface truthful
|
||||
|
||||
Out of scope:
|
||||
|
||||
- changing review carryover mechanics
|
||||
- changing coach queue ordering or scoring
|
||||
- changing historical analytics selection
|
||||
- rewriting unrelated dashboard panels
|
||||
|
||||
## Why this was the right next packet
|
||||
|
||||
Before this slice:
|
||||
|
||||
- retained idle subsystem refresh already stopped rebuilding follow-up and queue actionability
|
||||
- queue state and queue execution lineage could already be fully consumed
|
||||
- the retained coach action sequence could already be closed without follow-up or escalation pressure
|
||||
|
||||
But one widget seam still remained:
|
||||
|
||||
- the dashboard could still derive launch-oriented transition and handoff narration before its retained idle collapse branch fired
|
||||
- the widget could also snapshot that stale recommendation state into retained handoff history before clearing the visible surface
|
||||
|
||||
That meant:
|
||||
|
||||
- the underlying subsystem state could already be truthful and idle
|
||||
- while the widget could still speak as if a queued, follow-up, or recommended continuation were the next live action
|
||||
|
||||
So the next honest move was:
|
||||
|
||||
- let the retained closed-loop idle branch become authoritative for the visible next-step and handoff surface
|
||||
- and only snapshot the already-collapsed idle presentation state into retained widget history
|
||||
|
||||
## What landed
|
||||
|
||||
Primary code changes:
|
||||
|
||||
- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistCoachDashboardWidget.cpp`
|
||||
- `UpdateDashboardPresentation()` now lets the retained closed-loop idle branch override transition text, coach-handoff status text, continue-run labeling, and queue/follow-up/recommended launch button labels
|
||||
- the retained handoff-history snapshot now records the final post-collapse idle handoff state instead of the earlier pre-collapse recommendation state
|
||||
- recommendation-source usage flags are suppressed for that idle-closed snapshot so retained handoff history does not imply live continuation pressure that is no longer present
|
||||
|
||||
## Product effect
|
||||
|
||||
The retained idle dashboard surface is now more truthful:
|
||||
|
||||
- the next-step panel no longer invites queue/follow-up/recommended launch once the coach-to-review loop is already closed and idle
|
||||
- the coach-handoff panel no longer narrates stale continuation lanes above an already-idle subsystem state
|
||||
- retained handoff history no longer captures a fresh stale recommendation snapshot at that same boundary
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- when the retained coach-to-review loop is closed and idle, the widget presents a closed-loop idle next-step and coach-handoff surface instead of launch-oriented continuation narration
|
||||
- queue/follow-up/recommended button labels no longer advertise stale continuation in that state
|
||||
- retained handoff history does not record a fresh stale recommendation snapshot from that state
|
||||
- full product build succeeds
|
||||
|
||||
## Validation checklist
|
||||
|
||||
1. build `UnrealHyperTwist.sln` / `UnrealHyperTwistEditor`
|
||||
2. confirm the retained closed-loop idle branch overrides next-step and coach-handoff presentation
|
||||
3. confirm queue/follow-up/recommended launch labels collapse to idle wording in that state
|
||||
4. confirm retained handoff history snapshots reflect the final idle-collapsed state instead of the earlier recommendation state
|
||||
5. confirm no broader subsystem or queue-policy behavior was reopened
|
||||
|
||||
## Validation result
|
||||
|
||||
- full `Development Editor|Win64` build succeeded on `2026-05-07`
|
||||
- the preexisting `UnrealMCP` / `PythonScriptPlugin` dependency warning remained unchanged
|
||||
|
||||
## Next bounded follow-on slice
|
||||
|
||||
- run one final retained-surface sweep across preview/history panes and land only if stale launch labels, generated packet headlines, or handoff narration still survive after the closed-loop idle collapse
|
||||
Loading…
Add table
Reference in a new issue