Learn reliable accepted packet handoff reliability upstream

This commit is contained in:
axiomlogicnexus 2026-04-30 02:43:39 +02:00
parent 9b6352e728
commit 2d30fd602b
5 changed files with 389 additions and 0 deletions

View file

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

View file

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

View file

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

View file

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

View file

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