Learn reliable accepted packet handoff reliability upstream
This commit is contained in:
parent
9b6352e728
commit
2d30fd602b
5 changed files with 389 additions and 0 deletions
|
|
@ -7500,6 +7500,44 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
FMath::Max(
|
||||
AcceptedAlignedBroadPacketReliableTrustBias,
|
||||
AcceptedAlignedBroadPacketReliableOutcomeBias);
|
||||
const int32 ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias =
|
||||
(CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
>= 2
|
||||
&& CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 62.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
- CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
+ (CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
const int32 ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias =
|
||||
(CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount >= 2
|
||||
&& CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 60.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
- CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
+ (CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 78.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeTrustBias > AcceptedAlignedBroadPacketOutcomeTrustBias)
|
||||
{
|
||||
HandoffHistoryBias.FollowUpScore += AcceptedAlignedTightPacketOutcomeTrustBias * 4;
|
||||
|
|
@ -7551,6 +7589,28 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
HandoffHistoryBias.QueueScore += AcceptedAlignedBroadPacketReliableCompositeBias * 2;
|
||||
}
|
||||
}
|
||||
if (ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias
|
||||
> ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias)
|
||||
{
|
||||
HandoffHistoryBias.FollowUpScore +=
|
||||
ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias * 4;
|
||||
if (bQueueLooksFollowUpOrRecovery)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore +=
|
||||
ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias * 2;
|
||||
}
|
||||
}
|
||||
else if (ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias
|
||||
> ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias)
|
||||
{
|
||||
HandoffHistoryBias.RecommendedScore +=
|
||||
ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias * 4;
|
||||
if (bQueueLooksRecommendedOrPrimary)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore +=
|
||||
ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias * 2;
|
||||
}
|
||||
}
|
||||
{
|
||||
HandoffHistoryBias.PreferredKind =
|
||||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::None;
|
||||
|
|
@ -10349,6 +10409,44 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
FMath::Max(
|
||||
AcceptedAlignedBroadPacketReliableTrustBias,
|
||||
AcceptedAlignedBroadPacketReliableOutcomeBias);
|
||||
const int32 ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias =
|
||||
(CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
>= 2
|
||||
&& CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 62.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
- CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
+ (CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
const int32 ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias =
|
||||
(CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount >= 2
|
||||
&& CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 60.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
- CachedCoachPanelState
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
+ (CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 78.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeTrustBias
|
||||
> AcceptedAlignedBroadPacketOutcomeTrustBias)
|
||||
{
|
||||
|
|
@ -10403,6 +10501,28 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
HandoffHistoryBias.QueueScore += AcceptedAlignedBroadPacketReliableCompositeBias * 2;
|
||||
}
|
||||
}
|
||||
if (ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias
|
||||
> ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias)
|
||||
{
|
||||
HandoffHistoryBias.FollowUpScore +=
|
||||
ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias * 4;
|
||||
if (bQueueReadyForHandoff && bQueueLooksFollowUpOrRecovery)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore +=
|
||||
ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias * 2;
|
||||
}
|
||||
}
|
||||
else if (ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias
|
||||
> ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias)
|
||||
{
|
||||
HandoffHistoryBias.RecommendedScore +=
|
||||
ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias * 4;
|
||||
if (bQueueReadyForHandoff && bQueueLooksRecommendedOrPrimary)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore +=
|
||||
ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias * 2;
|
||||
}
|
||||
}
|
||||
{
|
||||
HandoffHistoryBias.PreferredKind =
|
||||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::None;
|
||||
|
|
@ -11488,6 +11608,13 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAverageScore,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore
|
||||
);
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | reliable accepted packet handoff completion tight/broad %d/%d avg %.1f/%.1f"),
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
);
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | reliable accepted aligned packet handoff history follow-up/recommended %d/%d"),
|
||||
HandoffHistoryBias.ReliableAcceptedAlignedTightFollowUpPacketAcceptedDeltaCount,
|
||||
|
|
@ -11554,6 +11681,18 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
CoachHandoffRecommendationDetailLine +=
|
||||
TEXT(" | Reliable accepted aligned broad launched-plan outcomes are reinforcing accepted broader redirect.");
|
||||
}
|
||||
if (ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias
|
||||
> ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias)
|
||||
{
|
||||
CoachHandoffRecommendationDetailLine +=
|
||||
TEXT(" | Reliable accepted aligned tight packet completion history is now reinforcing narrow continuation.");
|
||||
}
|
||||
else if (ReliableAcceptedAlignedBroadPacketOutcomeAcceptedBias
|
||||
> ReliableAcceptedAlignedTightPacketOutcomeAcceptedBias)
|
||||
{
|
||||
CoachHandoffRecommendationDetailLine +=
|
||||
TEXT(" | Reliable accepted aligned broad packet completion history is now reinforcing broader redirect.");
|
||||
}
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | upstream drill recovery strong/weak/history %d/%d/%d avg %.1f"),
|
||||
CachedCoachPanelState.StrongMethodDrillRecoveryHistoryCount,
|
||||
|
|
@ -12180,6 +12319,19 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore
|
||||
);
|
||||
}
|
||||
if (CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
> 0
|
||||
|| CachedCoachPanelState
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount > 0)
|
||||
{
|
||||
GuidancePreferenceDetailLine += FString::Printf(
|
||||
TEXT(" | Reliable accepted aligned packet handoff completion: tight follow-up-first %d (avg %.2f) | broad recommended-first %d (avg %.2f)"),
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
);
|
||||
}
|
||||
const bool bQueueRecoveryMemorySource =
|
||||
HyperTwistCoachDashboardWidgetInternal::IsQueueRecoveryMemorySource(
|
||||
CachedCoachPanelState.PreferredGuidanceSourceLabel);
|
||||
|
|
|
|||
|
|
@ -415,6 +415,13 @@ namespace HyperTwistTrainingCoachLibraryInternal
|
|||
}
|
||||
if (IsAlignedTightFollowUpGuidanceSourceLabel(SourceLabel))
|
||||
{
|
||||
if (SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-tight-reliable-outcome-"))
|
||||
|| SourceLabel.StartsWith(
|
||||
TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-tight-reliable-outcome-")))
|
||||
{
|
||||
return TEXT("reliable accepted aligned tight follow-up-packet launched-plan outcome history");
|
||||
}
|
||||
if (SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-tight-reliable-"))
|
||||
|| SourceLabel.StartsWith(
|
||||
|
|
@ -448,6 +455,13 @@ namespace HyperTwistTrainingCoachLibraryInternal
|
|||
}
|
||||
if (IsAlignedBroadRecommendedGuidanceSourceLabel(SourceLabel))
|
||||
{
|
||||
if (SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-reliable-outcome-"))
|
||||
|| SourceLabel.StartsWith(
|
||||
TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-broad-reliable-outcome-")))
|
||||
{
|
||||
return TEXT("reliable accepted aligned broad recommended-packet launched-plan outcome history");
|
||||
}
|
||||
if (SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-reliable-"))
|
||||
|| SourceLabel.StartsWith(
|
||||
|
|
|
|||
|
|
@ -512,6 +512,15 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-tight-reliable-"));
|
||||
}
|
||||
|
||||
bool IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource(
|
||||
const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-tight-reliable-outcome-"))
|
||||
|| SourceLabel.StartsWith(
|
||||
TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-tight-reliable-outcome-"));
|
||||
}
|
||||
|
||||
bool IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(
|
||||
const FString& SourceLabel)
|
||||
{
|
||||
|
|
@ -521,6 +530,15 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-broad-reliable-"));
|
||||
}
|
||||
|
||||
bool IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource(
|
||||
const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-reliable-outcome-"))
|
||||
|| SourceLabel.StartsWith(
|
||||
TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-broad-reliable-outcome-"));
|
||||
}
|
||||
|
||||
FString ResolveMethodDrillFollowUpPacketStructureRecoverySourceLabel(
|
||||
const FString& PreferredCoachHandoffSourceLabel,
|
||||
const FString& PreferredGuidanceSourceLabel)
|
||||
|
|
@ -1451,6 +1469,18 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
QueueExecutionSummary.StartedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount;
|
||||
const int32 AcceptedAlignedBroadPacketTrustCompletedCount =
|
||||
QueueExecutionSummary.CompletedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount;
|
||||
const int32 AcceptedAlignedTightPacketTrustReliableOutcomeStartedCount =
|
||||
QueueExecutionSummary
|
||||
.StartedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount;
|
||||
const int32 AcceptedAlignedTightPacketTrustReliableOutcomeCompletedCount =
|
||||
QueueExecutionSummary
|
||||
.CompletedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount;
|
||||
const int32 AcceptedAlignedBroadPacketTrustReliableOutcomeStartedCount =
|
||||
QueueExecutionSummary
|
||||
.StartedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount;
|
||||
const int32 AcceptedAlignedBroadPacketTrustReliableOutcomeCompletedCount =
|
||||
QueueExecutionSummary
|
||||
.CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount;
|
||||
if (MethodDrillRecoveryStartedCount > 0)
|
||||
{
|
||||
Snapshot.MethodDrillRecoveryHistoryCount += MethodDrillRecoveryStartedCount;
|
||||
|
|
@ -1582,6 +1612,24 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
(static_cast<float>(AcceptedAlignedBroadPacketTrustCompletedCount) * 100.0f)
|
||||
/ static_cast<float>(AcceptedAlignedBroadPacketTrustStartedCount);
|
||||
}
|
||||
if (AcceptedAlignedTightPacketTrustReliableOutcomeStartedCount > 0)
|
||||
{
|
||||
Snapshot.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount +=
|
||||
AcceptedAlignedTightPacketTrustReliableOutcomeStartedCount;
|
||||
Snapshot.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore =
|
||||
(static_cast<float>(AcceptedAlignedTightPacketTrustReliableOutcomeCompletedCount)
|
||||
* 100.0f)
|
||||
/ static_cast<float>(AcceptedAlignedTightPacketTrustReliableOutcomeStartedCount);
|
||||
}
|
||||
if (AcceptedAlignedBroadPacketTrustReliableOutcomeStartedCount > 0)
|
||||
{
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount +=
|
||||
AcceptedAlignedBroadPacketTrustReliableOutcomeStartedCount;
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore =
|
||||
(static_cast<float>(AcceptedAlignedBroadPacketTrustReliableOutcomeCompletedCount)
|
||||
* 100.0f)
|
||||
/ static_cast<float>(AcceptedAlignedBroadPacketTrustReliableOutcomeStartedCount);
|
||||
}
|
||||
const bool bStrongMethodDrillRecoveryHistory =
|
||||
MethodDrillRecoveryStartedCount >= 2
|
||||
&& MethodDrillRecoveryCompletedCount >= MethodDrillRecoveryOutstandingCount
|
||||
|
|
@ -9730,6 +9778,44 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
FMath::Max(
|
||||
AcceptedAlignedBroadPacketReliableTrustSignal,
|
||||
AcceptedAlignedBroadPacketReliableOutcomeSignal);
|
||||
const int32 ReliableAcceptedAlignedTightPacketAcceptedSignal =
|
||||
(Snapshot.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
>= 2
|
||||
&& Snapshot
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 62.0f)
|
||||
? FMath::Clamp(
|
||||
Snapshot
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
- Snapshot
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
+ (Snapshot
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
const int32 ReliableAcceptedAlignedBroadPacketAcceptedSignal =
|
||||
(Snapshot.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
>= 2
|
||||
&& Snapshot
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 60.0f)
|
||||
? FMath::Clamp(
|
||||
Snapshot
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
- Snapshot
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount
|
||||
+ (Snapshot
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore
|
||||
>= 78.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeTrustSignal
|
||||
> AcceptedAlignedBroadPacketOutcomeTrustSignal)
|
||||
{
|
||||
|
|
@ -9931,6 +10017,71 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
true);
|
||||
}
|
||||
}
|
||||
if (ReliableAcceptedAlignedTightPacketAcceptedSignal
|
||||
> ReliableAcceptedAlignedBroadPacketAcceptedSignal)
|
||||
{
|
||||
Snapshot.FollowUpGuidanceContinueBias +=
|
||||
ReliableAcceptedAlignedTightPacketAcceptedSignal;
|
||||
Snapshot.SuppressedPrimaryQueuePressureCount += FMath::Max(
|
||||
1,
|
||||
ReliableAcceptedAlignedTightPacketAcceptedSignal - 1);
|
||||
ExplicitFollowUpHandoffSignal = FMath::Clamp(
|
||||
ExplicitFollowUpHandoffSignal + ReliableAcceptedAlignedTightPacketAcceptedSignal,
|
||||
0,
|
||||
6);
|
||||
if (QueueExecutionSummary.bHasOutstandingDeferredWork
|
||||
|| QueueExecutionSummary.StartedQueuedHandoffEventCount > 0)
|
||||
{
|
||||
ExplicitQueuedHandoffSignal = FMath::Clamp(
|
||||
ExplicitQueuedHandoffSignal + 1,
|
||||
0,
|
||||
5);
|
||||
}
|
||||
if (Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::None
|
||||
|| Snapshot.PreferredGuidanceLane
|
||||
== EHyperTwistTrainingCoachGuidanceLane::Recommended
|
||||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane =
|
||||
EHyperTwistTrainingCoachGuidanceLane::FollowUp;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-tight-reliable-outcome-follow-up");
|
||||
}
|
||||
}
|
||||
else if (ReliableAcceptedAlignedBroadPacketAcceptedSignal
|
||||
> ReliableAcceptedAlignedTightPacketAcceptedSignal)
|
||||
{
|
||||
Snapshot.RecommendedGuidanceContinueBias +=
|
||||
ReliableAcceptedAlignedBroadPacketAcceptedSignal;
|
||||
Snapshot.SuppressedFollowUpQueuePressureCount +=
|
||||
ReliableAcceptedAlignedBroadPacketAcceptedSignal;
|
||||
ExplicitRecommendedHandoffSignal = FMath::Clamp(
|
||||
ExplicitRecommendedHandoffSignal + ReliableAcceptedAlignedBroadPacketAcceptedSignal,
|
||||
0,
|
||||
6);
|
||||
if (Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::None
|
||||
|| Snapshot.PreferredGuidanceLane
|
||||
== EHyperTwistTrainingCoachGuidanceLane::FollowUp
|
||||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane =
|
||||
EHyperTwistTrainingCoachGuidanceLane::Recommended;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-reliable-outcome-recommended");
|
||||
}
|
||||
}
|
||||
if (StrongMethodDrillFollowUpPacketStartedCount > 0
|
||||
&& StrongMethodDrillFollowUpPacketStartedCount
|
||||
>= WeakMethodDrillFollowUpPacketStartedCount)
|
||||
|
|
@ -12808,11 +12959,23 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
|
|||
{
|
||||
Summary.StartedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount += 1;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource(
|
||||
HistoryEntry.StartActionSourceLabel))
|
||||
{
|
||||
Summary
|
||||
.StartedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount += 1;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(
|
||||
HistoryEntry.StartActionSourceLabel))
|
||||
{
|
||||
Summary.StartedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount += 1;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource(
|
||||
HistoryEntry.StartActionSourceLabel))
|
||||
{
|
||||
Summary
|
||||
.StartedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount += 1;
|
||||
}
|
||||
if (Summary.LastStartedAtUtc.IsEmpty()
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::CompareUtcStrings(
|
||||
HistoryEntry.EventAtUtc,
|
||||
|
|
@ -13028,11 +13191,23 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito
|
|||
{
|
||||
Summary.CompletedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount += 1;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource(
|
||||
HistoryEntry.StartActionSourceLabel))
|
||||
{
|
||||
Summary
|
||||
.CompletedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount += 1;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(
|
||||
HistoryEntry.StartActionSourceLabel))
|
||||
{
|
||||
Summary.CompletedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount += 1;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource(
|
||||
HistoryEntry.StartActionSourceLabel))
|
||||
{
|
||||
Summary
|
||||
.CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount += 1;
|
||||
}
|
||||
CompletedCountsByEntryId.FindOrAdd(HistoryEntry.EntryId) += 1;
|
||||
if (Summary.LastCompletedAtUtc.IsEmpty()
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::CompareUtcStrings(
|
||||
|
|
|
|||
|
|
@ -904,6 +904,18 @@ FHyperTwistTrainingCoachPanelState UHyperTwistTrainingSubsystem::GetActiveCoachP
|
|||
ActiveCoachMemorySnapshot.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAverageScore;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore;
|
||||
PanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount =
|
||||
ActiveCoachMemorySnapshot
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount =
|
||||
ActiveCoachMemorySnapshot
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount;
|
||||
PanelState.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore =
|
||||
ActiveCoachMemorySnapshot
|
||||
.AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore =
|
||||
ActiveCoachMemorySnapshot
|
||||
.AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore;
|
||||
PanelState.bRepositoryVerificationPassed = ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
PanelState.bRepositoryVerificationNeedsAttention = ActiveRepositoryRoundTripVerification.ResolvedPath.IsEmpty()
|
||||
|| !ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
|
|
|
|||
|
|
@ -2091,6 +2091,18 @@ struct FHyperTwistTrainingCoachMemorySnapshot
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
bool bNeedsCoachIntervention = false;
|
||||
|
||||
|
|
@ -3861,6 +3873,18 @@ struct FHyperTwistTrainingCoachSessionQueueExecutionSummary
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 StartedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 CompletedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 StartedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 StartedStrongMethodDrillRecoveryPacketQueuedHandoffEventCount = 0;
|
||||
|
||||
|
|
@ -5404,6 +5428,18 @@ struct FHyperTwistTrainingCoachPanelState
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeAcceptedAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 SignalCount = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue