Learn accepted aligned packet outcomes upstream
This commit is contained in:
parent
1e73b5591c
commit
b17003d012
5 changed files with 303 additions and 8 deletions
|
|
@ -338,14 +338,17 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
|
||||
bool IsAlignedTightFollowUpPacketSourceLabel(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel == TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
return SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome")
|
||||
|| SourceLabel == TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-tight-"));
|
||||
}
|
||||
|
||||
bool IsAlignedBroadRecommendedPacketSourceLabel(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome")
|
||||
|| SourceLabel == TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-broad-"));
|
||||
}
|
||||
|
||||
|
|
@ -405,6 +408,11 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
{
|
||||
return TEXT("accepted aligned tight follow-up-packet handoff history");
|
||||
}
|
||||
if (SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome"))
|
||||
{
|
||||
return TEXT("accepted aligned tight follow-up-packet outcome history");
|
||||
}
|
||||
return SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
? TEXT("aligned tight retained follow-up-packet structure history")
|
||||
|
|
@ -416,6 +424,11 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
{
|
||||
return TEXT("accepted aligned broad recommended-packet handoff history");
|
||||
}
|
||||
if (SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome"))
|
||||
{
|
||||
return TEXT("accepted aligned broad recommended-packet outcome history");
|
||||
}
|
||||
return SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
? TEXT("aligned broad retained recommended-packet structure history")
|
||||
|
|
@ -11306,6 +11319,24 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
: TEXT(""))
|
||||
);
|
||||
}
|
||||
if (CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount > 0
|
||||
|| CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount > 0)
|
||||
{
|
||||
GuidancePreferenceDetailLine += FString::Printf(
|
||||
TEXT(" | Accepted aligned packet outcomes: tight follow-up-first %d (avg %.2f) | broad recommended-first %d (avg %.2f)%s"),
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore,
|
||||
CachedCoachPanelState.PreferredGuidanceSourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome")
|
||||
? TEXT(" | Follow-up is currently being reinforced by accepted aligned tight packet outcomes.")
|
||||
: (CachedCoachPanelState.PreferredGuidanceSourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome")
|
||||
? TEXT(" | Recommended is currently being reinforced by accepted aligned broad packet outcomes.")
|
||||
: TEXT(""))
|
||||
);
|
||||
}
|
||||
const bool bQueueRecoveryMemorySource =
|
||||
HyperTwistCoachDashboardWidgetInternal::IsQueueRecoveryMemorySource(
|
||||
CachedCoachPanelState.PreferredGuidanceSourceLabel);
|
||||
|
|
|
|||
|
|
@ -333,6 +333,8 @@ namespace HyperTwistTrainingCoachLibraryInternal
|
|||
bool IsAlignedTightFollowUpGuidanceSourceLabel(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel == TEXT("recommendation-history-aligned-tight-follow-up-outcome")
|
||||
|| SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome")
|
||||
|| SourceLabel == TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-tight-"))
|
||||
|| SourceLabel == TEXT("dashboard-handoff-aligned-follow-up-packet-tight-queued")
|
||||
|
|
@ -343,6 +345,8 @@ namespace HyperTwistTrainingCoachLibraryInternal
|
|||
bool IsAlignedBroadRecommendedGuidanceSourceLabel(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel == TEXT("recommendation-history-aligned-broad-recommended-outcome")
|
||||
|| SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome")
|
||||
|| SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-broad-"))
|
||||
|
|
@ -410,6 +414,11 @@ namespace HyperTwistTrainingCoachLibraryInternal
|
|||
{
|
||||
return TEXT("accepted aligned tight follow-up-packet handoff history");
|
||||
}
|
||||
if (SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome"))
|
||||
{
|
||||
return TEXT("accepted aligned tight follow-up-packet outcome history");
|
||||
}
|
||||
return SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
? TEXT("aligned tight retained follow-up-packet structure history")
|
||||
|
|
@ -424,6 +433,11 @@ namespace HyperTwistTrainingCoachLibraryInternal
|
|||
{
|
||||
return TEXT("accepted aligned broad recommended-packet handoff history");
|
||||
}
|
||||
if (SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome"))
|
||||
{
|
||||
return TEXT("accepted aligned broad recommended-packet outcome history");
|
||||
}
|
||||
return SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
? TEXT("aligned broad retained recommended-packet structure history")
|
||||
|
|
|
|||
|
|
@ -439,15 +439,33 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
|
||||
bool IsAlignedTightFollowUpPacketStructureCoachMemorySource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel == TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-tight-"));
|
||||
return SourceLabel == TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up");
|
||||
}
|
||||
|
||||
bool IsAlignedBroadRecommendedPacketStructureCoachMemorySource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-broad-"));
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended");
|
||||
}
|
||||
|
||||
bool IsAcceptedAlignedTightFollowUpPacketOutcomeSource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-tight-"))
|
||||
|| SourceLabel == TEXT("dashboard-handoff-aligned-follow-up-packet-tight-queued")
|
||||
|| SourceLabel == TEXT("dashboard-handoff-aligned-follow-up-packet-tight-follow-up")
|
||||
|| SourceLabel == TEXT("dashboard-handoff-aligned-follow-up-packet-tight-recommended");
|
||||
}
|
||||
|
||||
bool IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome")
|
||||
|| SourceLabel.StartsWith(TEXT("coach-memory-dashboard-aligned-follow-up-packet-broad-"))
|
||||
|| SourceLabel == TEXT("dashboard-handoff-aligned-follow-up-packet-broad-queued")
|
||||
|| SourceLabel == TEXT("dashboard-handoff-aligned-follow-up-packet-broad-follow-up")
|
||||
|| SourceLabel == TEXT("dashboard-handoff-aligned-follow-up-packet-broad-recommended");
|
||||
}
|
||||
|
||||
FString ResolveMethodDrillFollowUpPacketStructureRecoverySourceLabel(
|
||||
|
|
@ -2294,10 +2312,14 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
const bool bAlignedTightFollowUpGuidanceOutcomeSource =
|
||||
CoachMemorySnapshot.PreferredGuidanceSourceLabel
|
||||
== TEXT("recommendation-history-aligned-tight-follow-up-outcome")
|
||||
|| CoachMemorySnapshot.PreferredGuidanceSourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome")
|
||||
|| CoachMemorySnapshot.PreferredGuidanceSourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("recommendation-history-aligned-tight-follow-up-outcome")
|
||||
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome")
|
||||
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
|| (CoachMemorySnapshot.PreferredGuidanceLane
|
||||
|
|
@ -2312,10 +2334,14 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
const bool bAlignedBroadRecommendedGuidanceOutcomeSource =
|
||||
CoachMemorySnapshot.PreferredGuidanceSourceLabel
|
||||
== TEXT("recommendation-history-aligned-broad-recommended-outcome")
|
||||
|| CoachMemorySnapshot.PreferredGuidanceSourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome")
|
||||
|| CoachMemorySnapshot.PreferredGuidanceSourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("recommendation-history-aligned-broad-recommended-outcome")
|
||||
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome")
|
||||
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
|| (CoachMemorySnapshot.PreferredGuidanceLane
|
||||
|
|
@ -7753,6 +7779,14 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeAverageScore;
|
||||
Snapshot.AlignedBroadRecommendedPacketStructureOutcomeAverageScore =
|
||||
RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeAverageScore;
|
||||
Snapshot.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount =
|
||||
RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount;
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount =
|
||||
RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount;
|
||||
Snapshot.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore =
|
||||
RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore;
|
||||
Snapshot.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore =
|
||||
RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore;
|
||||
Snapshot.bHasRepeatRecommendationPressure = RecommendationHistory.bHasRepeatRecommendationPressure;
|
||||
const int32 DeferredTightenedLaunchBias = FMath::Clamp(
|
||||
RecommendationHistory.DeferredTightenedLaunchPlanCount,
|
||||
|
|
@ -8058,7 +8092,11 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane = EHyperTwistTrainingCoachGuidanceLane::FollowUp;
|
||||
|
|
@ -8072,6 +8110,10 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::FollowUp;
|
||||
|
|
@ -8088,7 +8130,11 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane = EHyperTwistTrainingCoachGuidanceLane::Recommended;
|
||||
|
|
@ -8102,6 +8148,10 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredCoachHandoffKind =
|
||||
|
|
@ -8110,6 +8160,106 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended");
|
||||
}
|
||||
}
|
||||
const int32 AcceptedAlignedTightPacketOutcomeBias =
|
||||
(RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount >= 2
|
||||
&& RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore
|
||||
>= 60.0f)
|
||||
? FMath::Clamp(
|
||||
RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount
|
||||
- RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount
|
||||
+ (RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore
|
||||
>= 80.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedBroadPacketOutcomeBias =
|
||||
(RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount >= 2
|
||||
&& RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore
|
||||
>= 58.0f)
|
||||
? FMath::Clamp(
|
||||
RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount
|
||||
- RecommendationHistory.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount
|
||||
+ (RecommendationHistory.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore
|
||||
>= 78.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
if (AcceptedAlignedTightPacketOutcomeBias > AcceptedAlignedBroadPacketOutcomeBias)
|
||||
{
|
||||
Snapshot.FollowUpGuidanceContinueBias += AcceptedAlignedTightPacketOutcomeBias;
|
||||
Snapshot.SuppressedPrimaryQueuePressureCount += FMath::Max(
|
||||
1,
|
||||
AcceptedAlignedTightPacketOutcomeBias - 1
|
||||
);
|
||||
if (Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::None
|
||||
|| Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::Recommended
|
||||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane = EHyperTwistTrainingCoachGuidanceLane::FollowUp;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome");
|
||||
}
|
||||
if (Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::None
|
||||
|| Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::Recommended
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.IsEmpty()
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::FollowUp;
|
||||
Snapshot.PreferredCoachHandoffSourceLabel =
|
||||
TEXT("recommendation-history-accepted-aligned-tight-follow-up-packet-outcome");
|
||||
}
|
||||
}
|
||||
else if (AcceptedAlignedBroadPacketOutcomeBias > AcceptedAlignedTightPacketOutcomeBias)
|
||||
{
|
||||
Snapshot.RecommendedGuidanceContinueBias += AcceptedAlignedBroadPacketOutcomeBias;
|
||||
Snapshot.SuppressedFollowUpQueuePressureCount += AcceptedAlignedBroadPacketOutcomeBias;
|
||||
if (Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::None
|
||||
|| Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::FollowUp
|
||||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane = EHyperTwistTrainingCoachGuidanceLane::Recommended;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome");
|
||||
}
|
||||
if (Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::None
|
||||
|| Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::FollowUp
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.IsEmpty()
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredCoachHandoffKind =
|
||||
EHyperTwistTrainingCoachHandoffKind::Recommended;
|
||||
Snapshot.PreferredCoachHandoffSourceLabel =
|
||||
TEXT("recommendation-history-accepted-aligned-broad-recommended-packet-outcome");
|
||||
}
|
||||
}
|
||||
|
||||
if (!RecommendationHistory.FocusDeckId.IsEmpty()
|
||||
&& (Snapshot.FocusDeckId.IsEmpty()
|
||||
|
|
@ -9375,7 +9525,11 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane =
|
||||
|
|
@ -9402,7 +9556,11 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane =
|
||||
|
|
@ -13471,6 +13629,8 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
float ReliableAlignedTrustedBroadRecommendedLaneOutcomeAccumulator = 0.0f;
|
||||
float AlignedTightFollowUpPacketStructureOutcomeAccumulator = 0.0f;
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAccumulator = 0.0f;
|
||||
float AcceptedAlignedTightFollowUpPacketOutcomeAccumulator = 0.0f;
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAccumulator = 0.0f;
|
||||
FString LatestPlanSortUtc;
|
||||
|
||||
for (const FHyperTwistTrainingCoachActionPlan& Plan : UserPlans)
|
||||
|
|
@ -13693,6 +13853,18 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount += 1;
|
||||
AlignedBroadRecommendedPacketStructureOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeSource(
|
||||
OutcomeSummary.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Summary.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount += 1;
|
||||
AcceptedAlignedTightFollowUpPacketOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeSource(
|
||||
OutcomeSummary.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount += 1;
|
||||
AcceptedAlignedBroadRecommendedPacketOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (OutcomeSummary.PlannedLaunchCaseCount > 0)
|
||||
{
|
||||
PlannedLaunchCaseCountAccumulator +=
|
||||
|
|
@ -13878,6 +14050,18 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
AlignedBroadRecommendedPacketStructureOutcomeAccumulator
|
||||
/ static_cast<float>(Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount);
|
||||
}
|
||||
if (Summary.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount > 0)
|
||||
{
|
||||
Summary.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore =
|
||||
AcceptedAlignedTightFollowUpPacketOutcomeAccumulator
|
||||
/ static_cast<float>(Summary.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount);
|
||||
}
|
||||
if (Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount > 0)
|
||||
{
|
||||
Summary.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore =
|
||||
AcceptedAlignedBroadRecommendedPacketOutcomeAccumulator
|
||||
/ static_cast<float>(Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount);
|
||||
}
|
||||
Summary.bHasRepeatRecommendationPressure =
|
||||
Summary.RepeatRecommendationSequenceCount > 0
|
||||
&& (Summary.RecurringCaseCount > 0
|
||||
|
|
@ -13950,14 +14134,36 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedTightPacketOutcomeLaneSignal =
|
||||
(Summary.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount >= 2
|
||||
&& Summary.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore >= 60.0f)
|
||||
? FMath::Clamp(
|
||||
Summary.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount
|
||||
- Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount
|
||||
+ (Summary.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore >= 80.0f ? 1 : 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AcceptedAlignedBroadPacketOutcomeLaneSignal =
|
||||
(Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount >= 2
|
||||
&& Summary.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore >= 58.0f)
|
||||
? FMath::Clamp(
|
||||
Summary.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount
|
||||
- Summary.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount
|
||||
+ (Summary.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore >= 78.0f ? 1 : 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
Summary.PreferredGuidanceLane =
|
||||
bHasFollowUpLaneSignal
|
||||
&& (FollowUpLaneScore
|
||||
+ static_cast<float>(ReliableAlignedTrustedTightFollowUpLaneSignal) * 1.5f
|
||||
+ static_cast<float>(AlignedTightPacketStructureOutcomeLaneSignal) * 1.25f)
|
||||
+ static_cast<float>(AlignedTightPacketStructureOutcomeLaneSignal) * 1.25f
|
||||
+ static_cast<float>(AcceptedAlignedTightPacketOutcomeLaneSignal) * 1.5f)
|
||||
> (RecommendedLaneScore
|
||||
+ static_cast<float>(ReliableAlignedTrustedBroadRecommendedLaneSignal) * 1.5f
|
||||
+ static_cast<float>(AlignedBroadPacketStructureOutcomeLaneSignal) * 1.25f)
|
||||
+ static_cast<float>(AlignedBroadPacketStructureOutcomeLaneSignal) * 1.25f
|
||||
+ static_cast<float>(AcceptedAlignedBroadPacketOutcomeLaneSignal) * 1.5f)
|
||||
? EHyperTwistTrainingCoachGuidanceLane::FollowUp
|
||||
: EHyperTwistTrainingCoachGuidanceLane::Recommended;
|
||||
|
||||
|
|
|
|||
|
|
@ -872,6 +872,14 @@ FHyperTwistTrainingCoachPanelState UHyperTwistTrainingSubsystem::GetActiveCoachP
|
|||
ActiveCoachMemorySnapshot.AlignedTightFollowUpPacketStructureOutcomeAverageScore;
|
||||
PanelState.AlignedBroadRecommendedPacketStructureOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AlignedBroadRecommendedPacketStructureOutcomeAverageScore;
|
||||
PanelState.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount;
|
||||
PanelState.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedTightFollowUpPacketOutcomeAverageScore;
|
||||
PanelState.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore;
|
||||
PanelState.bRepositoryVerificationPassed = ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
PanelState.bRepositoryVerificationNeedsAttention = ActiveRepositoryRoundTripVerification.ResolvedPath.IsEmpty()
|
||||
|| !ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
|
|
|
|||
|
|
@ -2043,6 +2043,18 @@ struct FHyperTwistTrainingCoachMemorySnapshot
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
bool bNeedsCoachIntervention = false;
|
||||
|
||||
|
|
@ -4585,6 +4597,18 @@ struct FHyperTwistTrainingCoachRecommendationHistorySummary
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
TArray<FString> RecurringCaseIds;
|
||||
|
||||
|
|
@ -5260,6 +5284,18 @@ struct FHyperTwistTrainingCoachPanelState
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedTightFollowUpPacketOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AcceptedAlignedBroadRecommendedPacketOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedTightFollowUpPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AcceptedAlignedBroadRecommendedPacketOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 SignalCount = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue