Restore retained idle dashboard presentation closure

This commit is contained in:
axiomlogicnexus 2026-05-07 21:22:02 +02:00
parent dcaa849179
commit 4a9f5fd0ca
3 changed files with 152 additions and 28 deletions

View file

@ -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,

View file

@ -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

View file

@ -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