Retain accepted packet trust outcomes upstream
This commit is contained in:
parent
a809df8f09
commit
bd1ae9e1b5
4 changed files with 364 additions and 4 deletions
|
|
@ -7273,6 +7273,34 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedTightPacketRetainedTrustBias =
|
||||
(CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount >= 2
|
||||
&& CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore
|
||||
>= 65.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
- CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
+ (CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore
|
||||
>= 82.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedBroadPacketRetainedTrustBias =
|
||||
(CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount >= 2
|
||||
&& CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore
|
||||
>= 63.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
- CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
+ (CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore
|
||||
>= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeTrustBias > AcceptedAlignedBroadPacketOutcomeTrustBias)
|
||||
{
|
||||
HandoffHistoryBias.FollowUpScore += AcceptedAlignedTightPacketOutcomeTrustBias * 4;
|
||||
|
|
@ -7289,6 +7317,23 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
HandoffHistoryBias.QueueScore += AcceptedAlignedBroadPacketOutcomeTrustBias * 2;
|
||||
}
|
||||
}
|
||||
if (AcceptedAlignedTightPacketRetainedTrustBias > AcceptedAlignedBroadPacketRetainedTrustBias)
|
||||
{
|
||||
HandoffHistoryBias.FollowUpScore += AcceptedAlignedTightPacketRetainedTrustBias * 3;
|
||||
if (bQueueLooksFollowUpOrRecovery)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore += AcceptedAlignedTightPacketRetainedTrustBias;
|
||||
}
|
||||
}
|
||||
else if (AcceptedAlignedBroadPacketRetainedTrustBias
|
||||
> AcceptedAlignedTightPacketRetainedTrustBias)
|
||||
{
|
||||
HandoffHistoryBias.RecommendedScore += AcceptedAlignedBroadPacketRetainedTrustBias * 3;
|
||||
if (bQueueLooksRecommendedOrPrimary)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore += AcceptedAlignedBroadPacketRetainedTrustBias;
|
||||
}
|
||||
}
|
||||
{
|
||||
HandoffHistoryBias.PreferredKind =
|
||||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::None;
|
||||
|
|
@ -7321,12 +7366,14 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::FollowUp,
|
||||
HandoffHistoryBias.FollowUpScore,
|
||||
HandoffHistoryBias.FollowUpAcceptedDeltaCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount);
|
||||
+ CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount);
|
||||
ConsiderKind(
|
||||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::Recommended,
|
||||
HandoffHistoryBias.RecommendedScore,
|
||||
HandoffHistoryBias.RecommendedAcceptedDeltaCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount);
|
||||
+ CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount);
|
||||
}
|
||||
const HyperTwistCoachDashboardWidgetInternal::FMethodDrillRecoveryPacketDashboardBias
|
||||
MethodDrillRecoveryPacketBias =
|
||||
|
|
@ -9960,6 +10007,34 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedTightPacketRetainedTrustBias =
|
||||
(CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount >= 2
|
||||
&& CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore
|
||||
>= 65.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
- CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
+ (CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore
|
||||
>= 82.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedBroadPacketRetainedTrustBias =
|
||||
(CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount >= 2
|
||||
&& CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore
|
||||
>= 63.0f)
|
||||
? FMath::Clamp(
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
- CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
+ (CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore
|
||||
>= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeTrustBias
|
||||
> AcceptedAlignedBroadPacketOutcomeTrustBias)
|
||||
{
|
||||
|
|
@ -9978,6 +10053,24 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
HandoffHistoryBias.QueueScore += AcceptedAlignedBroadPacketOutcomeTrustBias * 2;
|
||||
}
|
||||
}
|
||||
if (AcceptedAlignedTightPacketRetainedTrustBias
|
||||
> AcceptedAlignedBroadPacketRetainedTrustBias)
|
||||
{
|
||||
HandoffHistoryBias.FollowUpScore += AcceptedAlignedTightPacketRetainedTrustBias * 3;
|
||||
if (bQueueReadyForHandoff && bQueueLooksFollowUpOrRecovery)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore += AcceptedAlignedTightPacketRetainedTrustBias;
|
||||
}
|
||||
}
|
||||
else if (AcceptedAlignedBroadPacketRetainedTrustBias
|
||||
> AcceptedAlignedTightPacketRetainedTrustBias)
|
||||
{
|
||||
HandoffHistoryBias.RecommendedScore += AcceptedAlignedBroadPacketRetainedTrustBias * 3;
|
||||
if (bQueueReadyForHandoff && bQueueLooksRecommendedOrPrimary)
|
||||
{
|
||||
HandoffHistoryBias.QueueScore += AcceptedAlignedBroadPacketRetainedTrustBias;
|
||||
}
|
||||
}
|
||||
{
|
||||
HandoffHistoryBias.PreferredKind =
|
||||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::None;
|
||||
|
|
@ -10010,12 +10103,14 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::FollowUp,
|
||||
HandoffHistoryBias.FollowUpScore,
|
||||
HandoffHistoryBias.FollowUpAcceptedDeltaCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount);
|
||||
+ CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount);
|
||||
ConsiderKind(
|
||||
HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::Recommended,
|
||||
HandoffHistoryBias.RecommendedScore,
|
||||
HandoffHistoryBias.RecommendedAcceptedDeltaCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount);
|
||||
+ CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount
|
||||
+ CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount);
|
||||
}
|
||||
bool bHandoffRecommendationUsedHistory = false;
|
||||
bool bHandoffRecommendationUsedDeferredOverflowHistory = false;
|
||||
|
|
@ -11000,6 +11095,13 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore
|
||||
);
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | accepted aligned packet trust tight/broad %d/%d avg %.1f/%.1f"),
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore
|
||||
);
|
||||
if (HandoffHistoryBias.AlignedTightFollowUpOutcomeAcceptedDeltaCount > 0
|
||||
&& HandoffHistoryBias.PreferredKind
|
||||
== HyperTwistCoachDashboardWidgetInternal::EHandoffRecommendationKind::FollowUp)
|
||||
|
|
@ -11613,6 +11715,24 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
: TEXT(""))
|
||||
);
|
||||
}
|
||||
if (CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount > 0
|
||||
|| CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount > 0)
|
||||
{
|
||||
GuidancePreferenceDetailLine += FString::Printf(
|
||||
TEXT(" | Accepted aligned packet trust outcomes: tight follow-up-first %d (avg %.2f) | broad recommended-first %d (avg %.2f)%s"),
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore,
|
||||
CachedCoachPanelState.PreferredGuidanceSourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-tight-"))
|
||||
? TEXT(" | Follow-up is currently being reinforced by retained accepted aligned tight packet trust.")
|
||||
: (CachedCoachPanelState.PreferredGuidanceSourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-"))
|
||||
? TEXT(" | Recommended is currently being reinforced by retained accepted aligned broad packet trust.")
|
||||
: TEXT(""))
|
||||
);
|
||||
}
|
||||
const bool bQueueRecoveryMemorySource =
|
||||
HyperTwistCoachDashboardWidgetInternal::IsQueueRecoveryMemorySource(
|
||||
CachedCoachPanelState.PreferredGuidanceSourceLabel);
|
||||
|
|
|
|||
|
|
@ -496,6 +496,30 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
== TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-broad-recommended");
|
||||
}
|
||||
|
||||
bool IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-tight-"))
|
||||
|| SourceLabel
|
||||
== TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-tight-queued")
|
||||
|| SourceLabel
|
||||
== TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-tight-follow-up")
|
||||
|| SourceLabel
|
||||
== TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-tight-recommended");
|
||||
}
|
||||
|
||||
bool IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel.StartsWith(
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-"))
|
||||
|| SourceLabel
|
||||
== TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-broad-queued")
|
||||
|| SourceLabel
|
||||
== TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-broad-follow-up")
|
||||
|| SourceLabel
|
||||
== TEXT("dashboard-handoff-accepted-aligned-follow-up-packet-broad-recommended");
|
||||
}
|
||||
|
||||
FString ResolveMethodDrillFollowUpPacketStructureRecoverySourceLabel(
|
||||
const FString& PreferredCoachHandoffSourceLabel,
|
||||
const FString& PreferredGuidanceSourceLabel)
|
||||
|
|
@ -7850,6 +7874,14 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore;
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore =
|
||||
RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore;
|
||||
Snapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount =
|
||||
RecommendationHistory.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount;
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount =
|
||||
RecommendationHistory.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount;
|
||||
Snapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore =
|
||||
RecommendationHistory.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore;
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore =
|
||||
RecommendationHistory.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore;
|
||||
Snapshot.bHasRepeatRecommendationPressure = RecommendationHistory.bHasRepeatRecommendationPressure;
|
||||
const int32 DeferredTightenedLaunchBias = FMath::Clamp(
|
||||
RecommendationHistory.DeferredTightenedLaunchPlanCount,
|
||||
|
|
@ -9545,6 +9577,34 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedTightPacketRetainedTrustSignal =
|
||||
(Snapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount >= 2
|
||||
&& Snapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore
|
||||
>= 65.0f)
|
||||
? FMath::Clamp(
|
||||
Snapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
- Snapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
+ (Snapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore
|
||||
>= 82.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedBroadPacketRetainedTrustSignal =
|
||||
(Snapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount >= 2
|
||||
&& Snapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore
|
||||
>= 63.0f)
|
||||
? FMath::Clamp(
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
- Snapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
+ (Snapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore
|
||||
>= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeTrustSignal
|
||||
> AcceptedAlignedBroadPacketOutcomeTrustSignal)
|
||||
{
|
||||
|
|
@ -9616,6 +9676,67 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-recommended");
|
||||
}
|
||||
}
|
||||
if (AcceptedAlignedTightPacketRetainedTrustSignal
|
||||
> AcceptedAlignedBroadPacketRetainedTrustSignal)
|
||||
{
|
||||
Snapshot.FollowUpGuidanceContinueBias +=
|
||||
AcceptedAlignedTightPacketRetainedTrustSignal;
|
||||
Snapshot.SuppressedPrimaryQueuePressureCount += FMath::Max(
|
||||
1,
|
||||
AcceptedAlignedTightPacketRetainedTrustSignal - 1);
|
||||
ExplicitFollowUpHandoffSignal = FMath::Clamp(
|
||||
ExplicitFollowUpHandoffSignal + AcceptedAlignedTightPacketRetainedTrustSignal,
|
||||
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::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane =
|
||||
EHyperTwistTrainingCoachGuidanceLane::FollowUp;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-tight-follow-up");
|
||||
}
|
||||
}
|
||||
else if (AcceptedAlignedBroadPacketRetainedTrustSignal
|
||||
> AcceptedAlignedTightPacketRetainedTrustSignal)
|
||||
{
|
||||
Snapshot.RecommendedGuidanceContinueBias +=
|
||||
AcceptedAlignedBroadPacketRetainedTrustSignal;
|
||||
Snapshot.SuppressedFollowUpQueuePressureCount +=
|
||||
AcceptedAlignedBroadPacketRetainedTrustSignal;
|
||||
ExplicitRecommendedHandoffSignal = FMath::Clamp(
|
||||
ExplicitRecommendedHandoffSignal + AcceptedAlignedBroadPacketRetainedTrustSignal,
|
||||
0,
|
||||
6);
|
||||
if (Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::None
|
||||
|| Snapshot.PreferredGuidanceLane
|
||||
== EHyperTwistTrainingCoachGuidanceLane::FollowUp
|
||||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane =
|
||||
EHyperTwistTrainingCoachGuidanceLane::Recommended;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("coach-memory-dashboard-accepted-aligned-follow-up-packet-broad-recommended");
|
||||
}
|
||||
}
|
||||
if (StrongMethodDrillFollowUpPacketStartedCount > 0
|
||||
&& StrongMethodDrillFollowUpPacketStartedCount
|
||||
>= WeakMethodDrillFollowUpPacketStartedCount)
|
||||
|
|
@ -13849,6 +13970,8 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
float AlignedBroadRecommendedPacketStructureOutcomeAccumulator = 0.0f;
|
||||
float AcceptedAlignedTightFollowUpPacketOutcomeAccumulator = 0.0f;
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAccumulator = 0.0f;
|
||||
float AcceptedAlignedTightFollowUpPacketTrustOutcomeAccumulator = 0.0f;
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAccumulator = 0.0f;
|
||||
FString LatestPlanSortUtc;
|
||||
|
||||
for (const FHyperTwistTrainingCoachActionPlan& Plan : UserPlans)
|
||||
|
|
@ -14083,6 +14206,18 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount += 1;
|
||||
AcceptedAlignedBroadRecommendedPacketOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource(
|
||||
OutcomeSummary.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount += 1;
|
||||
AcceptedAlignedTightFollowUpPacketTrustOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(
|
||||
OutcomeSummary.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount += 1;
|
||||
AcceptedAlignedBroadRecommendedPacketTrustOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (OutcomeSummary.PlannedLaunchCaseCount > 0)
|
||||
{
|
||||
PlannedLaunchCaseCountAccumulator +=
|
||||
|
|
@ -14280,6 +14415,19 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
AcceptedAlignedBroadRecommendedPacketOutcomeAccumulator
|
||||
/ static_cast<float>(Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount);
|
||||
}
|
||||
if (Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount > 0)
|
||||
{
|
||||
Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore =
|
||||
AcceptedAlignedTightFollowUpPacketTrustOutcomeAccumulator
|
||||
/ static_cast<float>(Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount);
|
||||
}
|
||||
if (Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount > 0)
|
||||
{
|
||||
Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore =
|
||||
AcceptedAlignedBroadRecommendedPacketTrustOutcomeAccumulator
|
||||
/ static_cast<float>(
|
||||
Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount);
|
||||
}
|
||||
const int32 AcceptedAlignedTightPacketOutcomeLaneSignal =
|
||||
(Summary.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount >= 2
|
||||
&& Summary.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore >= 60.0f)
|
||||
|
|
@ -14300,6 +14448,30 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedTightPacketTrustOutcomeLaneSignal =
|
||||
(Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount >= 2
|
||||
&& Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore >= 65.0f)
|
||||
? FMath::Clamp(
|
||||
Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
- Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
+ (Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore >= 82.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedBroadPacketTrustOutcomeLaneSignal =
|
||||
(Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount >= 2
|
||||
&& Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore >= 63.0f)
|
||||
? FMath::Clamp(
|
||||
Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount
|
||||
- Summary.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount
|
||||
+ (Summary.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore >= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeLaneSignal > AcceptedAlignedBroadPacketOutcomeLaneSignal)
|
||||
{
|
||||
if (Summary.DominantSuggestedMode == EHyperTwistTrainingDeliveryMode::Timer
|
||||
|
|
@ -14322,6 +14494,30 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
Summary.DominantSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;
|
||||
}
|
||||
}
|
||||
if (AcceptedAlignedTightPacketTrustOutcomeLaneSignal
|
||||
> AcceptedAlignedBroadPacketTrustOutcomeLaneSignal)
|
||||
{
|
||||
if (Summary.DominantSuggestedMode == EHyperTwistTrainingDeliveryMode::Timer
|
||||
|| Summary.DominantSuggestedMode == EHyperTwistTrainingDeliveryMode::VirtualCube)
|
||||
{
|
||||
Summary.DominantSuggestedMode = EHyperTwistTrainingDeliveryMode::CoachReviewed;
|
||||
}
|
||||
Summary.DominantSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
|
||||
}
|
||||
else if (AcceptedAlignedBroadPacketTrustOutcomeLaneSignal
|
||||
> AcceptedAlignedTightPacketTrustOutcomeLaneSignal)
|
||||
{
|
||||
if (Summary.DominantSuggestedMode == EHyperTwistTrainingDeliveryMode::CoachReviewed
|
||||
&& Summary.EscalatedSequenceCount == 0
|
||||
&& Summary.FollowUpReadySequenceCount == 0)
|
||||
{
|
||||
Summary.DominantSuggestedMode = EHyperTwistTrainingDeliveryMode::Timer;
|
||||
}
|
||||
if (Summary.DominantSelectionPolicy == EHyperTwistTrainingSelectionPolicy::Scripted)
|
||||
{
|
||||
Summary.DominantSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Weighted;
|
||||
}
|
||||
}
|
||||
Summary.bHasRepeatRecommendationPressure =
|
||||
Summary.RepeatRecommendationSequenceCount > 0
|
||||
&& (Summary.RecurringCaseCount > 0
|
||||
|
|
|
|||
|
|
@ -880,6 +880,14 @@ FHyperTwistTrainingCoachPanelState UHyperTwistTrainingSubsystem::GetActiveCoachP
|
|||
ActiveCoachMemorySnapshot.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore;
|
||||
PanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount;
|
||||
PanelState.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore;
|
||||
PanelState.bRepositoryVerificationPassed = ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
PanelState.bRepositoryVerificationNeedsAttention = ActiveRepositoryRoundTripVerification.ResolvedPath.IsEmpty()
|
||||
|| !ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
|
|
|
|||
|
|
@ -2055,6 +2055,18 @@ struct FHyperTwistTrainingCoachMemorySnapshot
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
bool bNeedsCoachIntervention = false;
|
||||
|
||||
|
|
@ -4609,6 +4621,18 @@ struct FHyperTwistTrainingCoachRecommendationHistorySummary
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
TArray<FString> RecurringCaseIds;
|
||||
|
||||
|
|
@ -5296,6 +5320,18 @@ struct FHyperTwistTrainingCoachPanelState
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketTrustOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketTrustOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketTrustOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketTrustOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 SignalCount = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue