Retain accepted packet trust outcomes upstream

This commit is contained in:
axiomlogicnexus 2026-04-30 01:25:38 +02:00
parent a809df8f09
commit bd1ae9e1b5
4 changed files with 364 additions and 4 deletions

View file

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

View file

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

View file

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

View file

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