Persist reliable drill recovery plan sources upstream

This commit is contained in:
axiomlogicnexus 2026-04-29 20:02:58 +02:00
parent 6a3f8be08b
commit bb13fa4afa
4 changed files with 399 additions and 27 deletions

View file

@ -510,6 +510,10 @@ namespace HyperTwistCoachDashboardWidgetInternal
{
return TEXT("accepted tight drill-recovery-plan queued dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued"))
{
return TEXT("accepted reliable trusted tight drill-recovery-plan queued dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued"))
{
return TEXT("accepted trusted tight drill-recovery-plan queued dashboard handoff");
@ -534,6 +538,10 @@ namespace HyperTwistCoachDashboardWidgetInternal
{
return TEXT("accepted tight drill-recovery-plan follow-up dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up"))
{
return TEXT("accepted reliable trusted tight drill-recovery-plan follow-up dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up"))
{
return TEXT("accepted trusted tight drill-recovery-plan follow-up dashboard handoff");
@ -558,6 +566,10 @@ namespace HyperTwistCoachDashboardWidgetInternal
{
return TEXT("accepted tight drill-recovery-plan recommended dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended"))
{
return TEXT("accepted reliable trusted tight drill-recovery-plan recommended dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended"))
{
return TEXT("accepted trusted tight drill-recovery-plan recommended dashboard handoff");
@ -582,6 +594,10 @@ namespace HyperTwistCoachDashboardWidgetInternal
{
return TEXT("accepted broad drill-recovery-plan queued dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued"))
{
return TEXT("accepted reliable trusted broad drill-recovery-plan queued dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued"))
{
return TEXT("accepted trusted broad drill-recovery-plan queued dashboard handoff");
@ -606,6 +622,10 @@ namespace HyperTwistCoachDashboardWidgetInternal
{
return TEXT("accepted broad drill-recovery-plan follow-up dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up"))
{
return TEXT("accepted reliable trusted broad drill-recovery-plan follow-up dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up"))
{
return TEXT("accepted trusted broad drill-recovery-plan follow-up dashboard handoff");
@ -630,6 +650,10 @@ namespace HyperTwistCoachDashboardWidgetInternal
{
return TEXT("accepted broad drill-recovery-plan recommended dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended"))
{
return TEXT("accepted reliable trusted broad drill-recovery-plan recommended dashboard handoff");
}
if (SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended"))
{
return TEXT("accepted trusted broad drill-recovery-plan recommended dashboard handoff");
@ -860,7 +884,8 @@ namespace HyperTwistCoachDashboardWidgetInternal
const bool bBroadMethodDrillRecoveryStructureDriven = false,
const bool bTightMethodDrillRecoveryStructurePlanDriven = false,
const bool bBroadMethodDrillRecoveryStructurePlanDriven = false,
const bool bTrustedMethodDrillRecoveryStructurePlanDriven = false)
const bool bTrustedMethodDrillRecoveryStructurePlanDriven = false,
const bool bReliableTrustedMethodDrillRecoveryStructurePlanDriven = false)
{
if (MethodDrillRecoveryMemoryBias == EMethodDrillRecoveryMemoryBias::Strong)
{
@ -870,7 +895,9 @@ namespace HyperTwistCoachDashboardWidgetInternal
if (bTightMethodDrillRecoveryStructurePlanDriven)
{
return bTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued")
? (bReliableTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued"))
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-queued");
}
if (bNarrowMethodDrillRecoveryStructureDriven)
@ -888,7 +915,9 @@ namespace HyperTwistCoachDashboardWidgetInternal
if (bTightMethodDrillRecoveryStructurePlanDriven)
{
return bTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up")
? (bReliableTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up"))
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-follow-up");
}
if (bNarrowMethodDrillRecoveryStructureDriven)
@ -906,7 +935,9 @@ namespace HyperTwistCoachDashboardWidgetInternal
if (bTightMethodDrillRecoveryStructurePlanDriven)
{
return bTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended")
? (bReliableTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended")
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended"))
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-recommended");
}
if (bNarrowMethodDrillRecoveryStructureDriven)
@ -932,7 +963,9 @@ namespace HyperTwistCoachDashboardWidgetInternal
if (bBroadMethodDrillRecoveryStructurePlanDriven)
{
return bTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued")
? (bReliableTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued"))
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-queued");
}
if (bBroadMethodDrillRecoveryStructureDriven)
@ -950,7 +983,9 @@ namespace HyperTwistCoachDashboardWidgetInternal
if (bBroadMethodDrillRecoveryStructurePlanDriven)
{
return bTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up")
? (bReliableTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up"))
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-follow-up");
}
if (bBroadMethodDrillRecoveryStructureDriven)
@ -968,7 +1003,9 @@ namespace HyperTwistCoachDashboardWidgetInternal
if (bBroadMethodDrillRecoveryStructurePlanDriven)
{
return bTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended")
? (bReliableTrustedMethodDrillRecoveryStructurePlanDriven
? TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended"))
: TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-recommended");
}
if (bBroadMethodDrillRecoveryStructureDriven)
@ -2437,7 +2474,9 @@ bool UHyperTwistCoachDashboardWidget::ApplyQueueRecoveryPosture()
bUseTightMethodDrillRecoveryStructurePlan,
bUseBroadMethodDrillRecoveryStructurePlan,
bUseTrustedTightMethodDrillRecoveryStructurePlan,
bUseTrustedBroadMethodDrillRecoveryStructurePlan
bUseTrustedBroadMethodDrillRecoveryStructurePlan,
bUseReliableTrustedTightMethodDrillRecoveryStructurePlan,
bUseReliableTrustedBroadMethodDrillRecoveryStructurePlan
](
const EHyperTwistTrainingCoachHandoffKind HandoffKind)
{
@ -2461,7 +2500,8 @@ bool UHyperTwistCoachDashboardWidget::ApplyQueueRecoveryPosture()
false,
bUseTightMethodDrillRecoveryStructurePlan,
false,
bUseTrustedTightMethodDrillRecoveryStructurePlan
bUseTrustedTightMethodDrillRecoveryStructurePlan,
bUseReliableTrustedTightMethodDrillRecoveryStructurePlan
);
}
if (bUseMethodDrillRecoveryPacketSignal)
@ -2478,7 +2518,9 @@ bool UHyperTwistCoachDashboardWidget::ApplyQueueRecoveryPosture()
bUseTightMethodDrillRecoveryStructurePlan,
bUseBroadMethodDrillRecoveryStructurePlan,
bUseTrustedTightMethodDrillRecoveryStructurePlan
|| bUseTrustedBroadMethodDrillRecoveryStructurePlan
|| bUseTrustedBroadMethodDrillRecoveryStructurePlan,
bUseReliableTrustedTightMethodDrillRecoveryStructurePlan
|| bUseReliableTrustedBroadMethodDrillRecoveryStructurePlan
);
}
if (bUseMethodDrillRecoverySignal)
@ -2502,7 +2544,9 @@ bool UHyperTwistCoachDashboardWidget::ApplyQueueRecoveryPosture()
bUseTightMethodDrillRecoveryStructurePlan,
bUseBroadMethodDrillRecoveryStructurePlan,
bUseTrustedTightMethodDrillRecoveryStructurePlan
|| bUseTrustedBroadMethodDrillRecoveryStructurePlan
|| bUseTrustedBroadMethodDrillRecoveryStructurePlan,
bUseReliableTrustedTightMethodDrillRecoveryStructurePlan
|| bUseReliableTrustedBroadMethodDrillRecoveryStructurePlan
);
}
@ -9497,7 +9541,13 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
false,
bHandoffRecommendationUsedTightMethodDrillRecoveryStructurePlan,
bHandoffRecommendationUsedBroadMethodDrillRecoveryStructurePlan,
bHandoffRecommendationUsedPlanComparisonHistory
bHandoffRecommendationUsedPlanComparisonHistory,
(bHandoffRecommendationUsedPlanComparisonHistory
&& bPlanComparisonPrefersTightContinuation
&& bHasReliableTrustedTightPlanComparisonHistory)
|| (bHandoffRecommendationUsedPlanComparisonHistory
&& bPlanComparisonPrefersBroadRedirect
&& bHasReliableTrustedBroadPlanComparisonHistory)
);
}
else if (bHandoffRecommendationUsedMethodDrillRecoveryMemory
@ -9516,7 +9566,13 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
false,
bHandoffRecommendationUsedTightMethodDrillRecoveryStructurePlan,
bHandoffRecommendationUsedBroadMethodDrillRecoveryStructurePlan,
bHandoffRecommendationUsedPlanComparisonHistory
bHandoffRecommendationUsedPlanComparisonHistory,
(bHandoffRecommendationUsedPlanComparisonHistory
&& bPlanComparisonPrefersTightContinuation
&& bHasReliableTrustedTightPlanComparisonHistory)
|| (bHandoffRecommendationUsedPlanComparisonHistory
&& bPlanComparisonPrefersBroadRedirect
&& bHasReliableTrustedBroadPlanComparisonHistory)
);
}
else if (bHandoffRecommendationUsedMethodDrillRecoveryPacketHistory
@ -9535,7 +9591,13 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
false,
bHandoffRecommendationUsedTightMethodDrillRecoveryStructurePlan,
bHandoffRecommendationUsedBroadMethodDrillRecoveryStructurePlan,
bHandoffRecommendationUsedPlanComparisonHistory
bHandoffRecommendationUsedPlanComparisonHistory,
(bHandoffRecommendationUsedPlanComparisonHistory
&& bPlanComparisonPrefersTightContinuation
&& bHasReliableTrustedTightPlanComparisonHistory)
|| (bHandoffRecommendationUsedPlanComparisonHistory
&& bPlanComparisonPrefersBroadRedirect
&& bHasReliableTrustedBroadPlanComparisonHistory)
);
}
else if (bHandoffRecommendationUsedStrongMethodDrillFollowUpPacket

View file

@ -155,10 +155,13 @@ namespace HyperTwistTrainingCoachLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-strong-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-strong-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended")
|| SourceLabel == TEXT("coach-memory-method-drill-recovery-strong")
|| SourceLabel == TEXT("coach-memory-method-drill-recovery-packet-strong")
@ -187,10 +190,13 @@ namespace HyperTwistTrainingCoachLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended")
|| SourceLabel == TEXT("coach-memory-method-drill-recovery-weak")
|| SourceLabel == TEXT("coach-memory-method-drill-recovery-packet-weak")
@ -386,6 +392,18 @@ namespace HyperTwistTrainingCoachLibraryInternal
{
return TEXT("accepted strong retained drill-recovery-posture recommended handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued"))
{
return TEXT("accepted reliable trusted tight drill-recovery-plan queued handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up"))
{
return TEXT("accepted reliable trusted tight drill-recovery-plan follow-up handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended"))
{
return TEXT("accepted reliable trusted tight drill-recovery-plan recommended handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-queued"))
{
return TEXT("accepted trusted tight drill-recovery-plan queued handoff history");
@ -434,6 +452,18 @@ namespace HyperTwistTrainingCoachLibraryInternal
{
return TEXT("accepted weak retained drill-recovery-posture recommended handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-queued"))
{
return TEXT("accepted reliable trusted broad drill-recovery-plan queued handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up"))
{
return TEXT("accepted reliable trusted broad drill-recovery-plan follow-up handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended"))
{
return TEXT("accepted reliable trusted broad drill-recovery-plan recommended handoff history");
}
if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-queued"))
{
return TEXT("accepted trusted broad drill-recovery-plan queued handoff history");
@ -694,6 +724,10 @@ namespace HyperTwistTrainingCoachLibraryInternal
{
return TEXT("successful tight drill-recovery-plan history");
}
if (SourceLabel.StartsWith(TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-")))
{
return TEXT("accepted reliable trusted tight drill-recovery-plan dashboard handoff");
}
if (SourceLabel.StartsWith(TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-")))
{
return TEXT("accepted trusted tight drill-recovery-plan dashboard handoff");
@ -726,6 +760,10 @@ namespace HyperTwistTrainingCoachLibraryInternal
{
return TEXT("successful broad drill-recovery-plan redirect history");
}
if (SourceLabel.StartsWith(TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-")))
{
return TEXT("accepted reliable trusted broad drill-recovery-plan dashboard handoff");
}
if (SourceLabel.StartsWith(TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-")))
{
return TEXT("accepted trusted broad drill-recovery-plan dashboard handoff");

View file

@ -101,19 +101,25 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-narrow-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-narrow-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-follow-up")
@ -133,10 +139,13 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-narrow-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-narrow-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-strong-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-strong-follow-up")
@ -169,10 +178,13 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-follow-up")
@ -200,14 +212,20 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
bool IsTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(const FString& SourceLabel)
{
return SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-recommended")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended");
}
@ -215,14 +233,20 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
bool IsBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(const FString& SourceLabel)
{
return SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-recommended")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended");
}
@ -231,9 +255,15 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
const FString& SourceLabel)
{
return SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended");
}
@ -242,13 +272,41 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
const FString& SourceLabel)
{
return SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended");
}
bool IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(
const FString& SourceLabel)
{
return SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended");
}
bool IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(
const FString& SourceLabel)
{
return SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
|| SourceLabel
== TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended");
}
bool IsWeakMethodDrillRecoveryPacketDashboardHandoffSource(const FString& SourceLabel)
{
return SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-packet-weak-queued")
@ -366,9 +424,11 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-packet-strong-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-narrow-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-weak-queued")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-packet-weak-queued")
@ -387,9 +447,11 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-packet-strong-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-narrow-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-weak-follow-up")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-packet-weak-follow-up")
@ -408,9 +470,11 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-packet-strong-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-narrow-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-broad-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-weak-recommended")
|| SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-packet-weak-recommended")
@ -1039,6 +1103,28 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
TrustedBroadMethodDrillRecoveryStructurePlanStartedCount
- TrustedBroadMethodDrillRecoveryStructurePlanCompletedCount
);
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount =
QueueExecutionSummary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanPromotedCount =
QueueExecutionSummary.PromotedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount =
QueueExecutionSummary.CompletedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanOutstandingCount = FMath::Max(
0,
ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount
- ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount
);
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount =
QueueExecutionSummary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount =
QueueExecutionSummary.PromotedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount =
QueueExecutionSummary.CompletedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanOutstandingCount = FMath::Max(
0,
ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount
- ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount
);
if (MethodDrillRecoveryStartedCount > 0)
{
Snapshot.MethodDrillRecoveryHistoryCount += MethodDrillRecoveryStartedCount;
@ -1229,6 +1315,40 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
1,
3)
: 0;
const bool bReliableTrustedTightMethodDrillRecoveryStructurePlanHistory =
(ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount
+ ReliableTrustedTightMethodDrillRecoveryStructurePlanPromotedCount)
>= 2
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount
>= ReliableTrustedTightMethodDrillRecoveryStructurePlanOutstandingCount;
const bool bReliableTrustedBroadMethodDrillRecoveryStructurePlanHistory =
(ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount
+ ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount)
>= 2
&& (ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount
+ ReliableTrustedBroadMethodDrillRecoveryStructurePlanOutstandingCount)
>= ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanLaunchBias =
bReliableTrustedTightMethodDrillRecoveryStructurePlanHistory
? FMath::Clamp(
(ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount * 2)
- ReliableTrustedTightMethodDrillRecoveryStructurePlanOutstandingCount
- ReliableTrustedTightMethodDrillRecoveryStructurePlanPromotedCount
+ 1,
1,
3)
: 0;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromoteBias =
bReliableTrustedBroadMethodDrillRecoveryStructurePlanHistory
? FMath::Clamp(
ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount
+ ReliableTrustedBroadMethodDrillRecoveryStructurePlanOutstandingCount
- ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount
+ 1
+ (QueueExecutionSummary.bHasOutstandingDeferredWork ? 1 : 0),
1,
3)
: 0;
const bool bStrongMethodDrillRecoveryPacketQueuedHandoff =
QueueExecutionSummary.StartedStrongMethodDrillRecoveryPacketQueuedHandoffEventCount > 0;
const bool bStrongMethodDrillRecoveryPacketFollowUpHandoff =
@ -1264,6 +1384,10 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-queued")
: (bWeakMethodDrillRecoveryPacketQueuedHandoff
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-queued")
: (MethodDrillRecoveryMemoryBias
== EMethodDrillRecoveryMemoryBias::Strong
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0
? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
EHyperTwistTrainingCoachHandoffKind::Queue,
ExplicitDeferredOverflowQueuedHandoffSignal > 0,
@ -1271,7 +1395,7 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
ExplicitMethodDrillQueuedHandoffSignal > 0,
MethodDrillRecoveryMemoryBias,
bRetainedMethodDrillRecoveryPostureDriven
));
)));
}
else if (ExplicitFollowUpHandoffSignal >= ExplicitRecommendedHandoffSignal)
{
@ -1291,6 +1415,10 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-follow-up")
: (bWeakMethodDrillRecoveryPacketFollowUpHandoff
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-follow-up")
: (MethodDrillRecoveryMemoryBias
== EMethodDrillRecoveryMemoryBias::Strong
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0
? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
EHyperTwistTrainingCoachHandoffKind::FollowUp,
ExplicitDeferredOverflowFollowUpHandoffSignal > 0,
@ -1298,7 +1426,7 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
ExplicitMethodDrillFollowUpHandoffSignal > 0,
MethodDrillRecoveryMemoryBias,
bRetainedMethodDrillRecoveryPostureDriven
));
)));
}
else
{
@ -1318,6 +1446,10 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-recommended")
: (bWeakMethodDrillRecoveryPacketRecommendedHandoff
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-recommended")
: (MethodDrillRecoveryMemoryBias
== EMethodDrillRecoveryMemoryBias::Weak
&& ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount > 0
? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
EHyperTwistTrainingCoachHandoffKind::Recommended,
ExplicitDeferredOverflowRecommendedHandoffSignal > 0,
@ -1325,7 +1457,7 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
ExplicitMethodDrillRecommendedHandoffSignal > 0,
MethodDrillRecoveryMemoryBias,
bRetainedMethodDrillRecoveryPostureDriven
));
)));
}
}
const int32 WeightedFollowUpRecoverySignal =
@ -1449,7 +1581,7 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
}
else if (Snapshot.PreferredQueueRecoveryAction
== EHyperTwistTrainingQueueRecoveryAction::LaunchRecovery
&& TrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0
&& (Snapshot.PreferredQueueRecoveryActionSourceLabel.IsEmpty()
|| Snapshot.PreferredQueueRecoveryActionSourceLabel.StartsWith(TEXT("queue-history"))
|| HyperTwistTrainingRepositoryLibraryInternal::IsMethodDrillDashboardHandoffSource(
@ -1462,7 +1594,7 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
}
else if (Snapshot.PreferredQueueRecoveryAction
== EHyperTwistTrainingQueueRecoveryAction::PromoteDeferred
&& TrustedBroadMethodDrillRecoveryStructurePlanPromoteBias > 0
&& ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromoteBias > 0
&& (Snapshot.PreferredQueueRecoveryActionSourceLabel.IsEmpty()
|| Snapshot.PreferredQueueRecoveryActionSourceLabel.StartsWith(TEXT("queue-history"))
|| HyperTwistTrainingRepositoryLibraryInternal::IsMethodDrillRecoveryCoachMemorySource(
@ -7763,6 +7895,28 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
TrustedBroadMethodDrillRecoveryStructurePlanStartedCount
- TrustedBroadMethodDrillRecoveryStructurePlanCompletedCount
);
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount =
QueueExecutionSummary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanPromotedCount =
QueueExecutionSummary.PromotedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount =
QueueExecutionSummary.CompletedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanOutstandingCount = FMath::Max(
0,
ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount
- ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount
);
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount =
QueueExecutionSummary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount =
QueueExecutionSummary.PromotedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount =
QueueExecutionSummary.CompletedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanOutstandingCount = FMath::Max(
0,
ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount
- ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount
);
if (MethodDrillRecoveryStartedCount > 0)
{
Snapshot.MethodDrillRecoveryHistoryCount += MethodDrillRecoveryStartedCount;
@ -7953,6 +8107,40 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
1,
3)
: 0;
const bool bReliableTrustedTightMethodDrillRecoveryStructurePlanHistory =
(ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount
+ ReliableTrustedTightMethodDrillRecoveryStructurePlanPromotedCount)
>= 2
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount
>= ReliableTrustedTightMethodDrillRecoveryStructurePlanOutstandingCount;
const bool bReliableTrustedBroadMethodDrillRecoveryStructurePlanHistory =
(ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount
+ ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount)
>= 2
&& (ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount
+ ReliableTrustedBroadMethodDrillRecoveryStructurePlanOutstandingCount)
>= ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount;
const int32 ReliableTrustedTightMethodDrillRecoveryStructurePlanLaunchBias =
bReliableTrustedTightMethodDrillRecoveryStructurePlanHistory
? FMath::Clamp(
(ReliableTrustedTightMethodDrillRecoveryStructurePlanCompletedCount * 2)
- ReliableTrustedTightMethodDrillRecoveryStructurePlanOutstandingCount
- ReliableTrustedTightMethodDrillRecoveryStructurePlanPromotedCount
+ 1,
1,
3)
: 0;
const int32 ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromoteBias =
bReliableTrustedBroadMethodDrillRecoveryStructurePlanHistory
? FMath::Clamp(
ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromotedCount
+ ReliableTrustedBroadMethodDrillRecoveryStructurePlanOutstandingCount
- ReliableTrustedBroadMethodDrillRecoveryStructurePlanCompletedCount
+ 1
+ (QueueExecutionSummary.bHasOutstandingDeferredWork ? 1 : 0),
1,
3)
: 0;
const int32 StrongMethodDrillFollowUpPacketStartedCount =
QueueExecutionSummary.StartedStrongMethodDrillFollowUpPacketQueuedHandoffEventCount
+ QueueExecutionSummary.StartedStrongMethodDrillFollowUpPacketFollowUpHandoffEventCount
@ -8063,14 +8251,18 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-queued")
: (bWeakMethodDrillRecoveryPacketQueuedHandoff
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-queued")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
: (MethodDrillRecoveryMemoryBias
== HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0
? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
EHyperTwistTrainingCoachHandoffKind::Queue,
ExplicitDeferredOverflowQueuedHandoffSignal > 0,
ExplicitDeferredFirstQueuedHandoffSignal > 0,
ExplicitMethodDrillQueuedHandoffSignal > 0,
MethodDrillRecoveryMemoryBias,
bRetainedMethodDrillRecoveryPostureDriven
))));
)))));
}
else if (ExplicitFollowUpHandoffSignal >= ExplicitRecommendedHandoffSignal)
{
@ -8095,14 +8287,18 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-follow-up")
: (bWeakMethodDrillRecoveryPacketFollowUpHandoff
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-follow-up")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
: (MethodDrillRecoveryMemoryBias
== HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0
? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
EHyperTwistTrainingCoachHandoffKind::FollowUp,
ExplicitDeferredOverflowFollowUpHandoffSignal > 0,
ExplicitDeferredFirstFollowUpHandoffSignal > 0,
ExplicitMethodDrillFollowUpHandoffSignal > 0,
MethodDrillRecoveryMemoryBias,
bRetainedMethodDrillRecoveryPostureDriven
))));
)))));
}
else
{
@ -8127,14 +8323,18 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-recommended")
: (bWeakMethodDrillRecoveryPacketRecommendedHandoff
? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-recommended")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
: (MethodDrillRecoveryMemoryBias
== HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Weak
&& ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount > 0
? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended")
: HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel(
EHyperTwistTrainingCoachHandoffKind::Recommended,
ExplicitDeferredOverflowRecommendedHandoffSignal > 0,
ExplicitDeferredFirstRecommendedHandoffSignal > 0,
ExplicitMethodDrillRecommendedHandoffSignal > 0,
MethodDrillRecoveryMemoryBias,
bRetainedMethodDrillRecoveryPostureDriven
))));
)))));
}
}
const int32 WeightedFollowUpRecoverySignal =
@ -8258,7 +8458,7 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
}
else if (Snapshot.PreferredQueueRecoveryAction
== EHyperTwistTrainingQueueRecoveryAction::LaunchRecovery
&& TrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0
&& ReliableTrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0
&& (Snapshot.PreferredQueueRecoveryActionSourceLabel.IsEmpty()
|| Snapshot.PreferredQueueRecoveryActionSourceLabel.StartsWith(TEXT("queue-history"))
|| HyperTwistTrainingRepositoryLibraryInternal::IsMethodDrillDashboardHandoffSource(
@ -8271,7 +8471,7 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
}
else if (Snapshot.PreferredQueueRecoveryAction
== EHyperTwistTrainingQueueRecoveryAction::PromoteDeferred
&& TrustedBroadMethodDrillRecoveryStructurePlanPromoteBias > 0
&& ReliableTrustedBroadMethodDrillRecoveryStructurePlanPromoteBias > 0
&& (Snapshot.PreferredQueueRecoveryActionSourceLabel.IsEmpty()
|| Snapshot.PreferredQueueRecoveryActionSourceLabel.StartsWith(TEXT("queue-history"))
|| HyperTwistTrainingRepositoryLibraryInternal::IsMethodDrillRecoveryCoachMemorySource(
@ -10265,6 +10465,9 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
const bool bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bWeakMethodDrillRecoveryDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillRecoveryDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
@ -10283,6 +10486,9 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
const bool bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bStrongRetainedMethodDrillRecoveryPostureDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsStrongRetainedMethodDrillRecoveryPostureDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
@ -10328,6 +10534,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bWeakMethodDrillRecoveryPacketDashboardHandoff)
{
Summary.StartedWeakMethodDrillRecoveryPacketQueuedHandoffEventCount += 1;
@ -10344,6 +10554,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
}
else if (DashboardHandoffKind == EHyperTwistTrainingCoachHandoffKind::FollowUp)
{
@ -10384,6 +10598,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bWeakMethodDrillRecoveryPacketDashboardHandoff)
{
Summary.StartedWeakMethodDrillRecoveryPacketFollowUpHandoffEventCount += 1;
@ -10400,6 +10618,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
}
else if (DashboardHandoffKind == EHyperTwistTrainingCoachHandoffKind::Recommended)
{
@ -10440,6 +10662,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bWeakMethodDrillRecoveryPacketDashboardHandoff)
{
Summary.StartedWeakMethodDrillRecoveryPacketRecommendedHandoffEventCount += 1;
@ -10456,6 +10682,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
}
if (bStrongMethodDrillRecoveryDashboardHandoff)
{
@ -10524,6 +10754,11 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.PromotedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel))
{
Summary.PromotedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructureDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel))
{
@ -10539,6 +10774,11 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.PromotedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel))
{
Summary.PromotedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
break;
case EHyperTwistTrainingCoachSessionQueueEventKind::Completed:
Summary.CompletedEventCount += 1;
@ -10565,6 +10805,9 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
const bool bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bWeakMethodDrillRecoveryDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillRecoveryDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
@ -10577,6 +10820,9 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
const bool bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
const bool bStrongRetainedMethodDrillRecoveryPostureDashboardHandoff =
HyperTwistTrainingRepositoryLibraryInternal::IsStrongRetainedMethodDrillRecoveryPostureDashboardHandoffSource(
HistoryEntry.StartActionSourceLabel);
@ -10614,6 +10860,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.CompletedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.CompletedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bWeakMethodDrillRecoveryDashboardHandoff)
{
Summary.CompletedWeakMethodDrillRecoveryMemoryHandoffEventCount += 1;
@ -10630,6 +10880,10 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
{
Summary.CompletedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff)
{
Summary.CompletedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1;
}
if (bStrongRetainedMethodDrillRecoveryPostureDashboardHandoff)
{
Summary.CompletedStrongRetainedMethodDrillRecoveryPostureHandoffEventCount += 1;

View file

@ -3765,6 +3765,15 @@ struct FHyperTwistTrainingCoachSessionQueueExecutionSummary
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 CompletedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 PromotedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 CompletedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
@ -3783,6 +3792,15 @@ struct FHyperTwistTrainingCoachSessionQueueExecutionSummary
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 CompletedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 PromotedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 CompletedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
int32 CompletedMethodDrillQueuedHandoffEventCount = 0;