From ad7404d48208ccc92357cbd6add4a83a63c741ce Mon Sep 17 00:00:00 2001 From: axiomlogicnexus Date: Tue, 30 Jun 2026 23:44:26 +0000 Subject: [PATCH] Refactor coach queue handoff signal decoding --- .../HyperTwistTrainingRepositoryLibrary.cpp | 1284 +++++++++-------- .../HyperTwist/DEVELOPMENT.md | 52 + 2 files changed, 759 insertions(+), 577 deletions(-) diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp index c9cd257..059beb7 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp @@ -6,6 +6,685 @@ #include "HyperTwistTraining/HyperTwistTrainingLibrary.h" #include "JsonObjectConverter.h" +namespace HyperTwistTrainingRepositoryLibraryInternal +{ + EHyperTwistTrainingCoachHandoffKind DashboardHandoffKindFromSourceLabel( + const FString& SourceLabel + ); + + bool IsDeferredOverflowDashboardOutcomeSource(const FString& SourceLabel); + + bool IsDeferredFirstDashboardHandoffSource(const FString& SourceLabel); + + bool IsMethodDrillDashboardHandoffSource(const FString& SourceLabel); + + bool IsStrongMethodDrillRecoveryDashboardHandoffSource(const FString& SourceLabel); + + bool IsStrongMethodDrillFollowUpPacketDashboardHandoffSource(const FString& SourceLabel); + + bool IsAlignedTightFollowUpPacketDashboardHandoffSource(const FString& SourceLabel); + + bool IsAlignedBroadRecommendedPacketDashboardHandoffSource(const FString& SourceLabel); + + bool IsStrongMethodDrillRecoveryPacketDashboardHandoffSource(const FString& SourceLabel); + + bool IsNarrowMethodDrillRecoveryStructureDashboardHandoffSource(const FString& SourceLabel); + + bool IsTightMethodDrillRecoveryStructurePlanDashboardHandoffSource(const FString& SourceLabel); + + bool IsTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsWeakMethodDrillRecoveryDashboardHandoffSource(const FString& SourceLabel); + + bool IsWeakMethodDrillFollowUpPacketDashboardHandoffSource(const FString& SourceLabel); + + bool IsWeakMethodDrillRecoveryPacketDashboardHandoffSource(const FString& SourceLabel); + + bool IsBroadMethodDrillRecoveryStructureDashboardHandoffSource(const FString& SourceLabel); + + bool IsBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource(const FString& SourceLabel); + + bool IsTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsStrongRetainedMethodDrillRecoveryPostureDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsWeakRetainedMethodDrillRecoveryPostureDashboardHandoffSource( + const FString& SourceLabel + ); + + bool IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource(const FString& SourceLabel); + + bool IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource( + const FString& SourceLabel + ); + + bool IsReliableAcceptedAlignedTightFollowUpPacketExactAcceptedHistorySource( + const FString& SourceLabel + ); + + bool IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeHistorySource( + const FString& SourceLabel + ); + + bool IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeReliableHistorySource( + const FString& SourceLabel + ); + + bool TryGetAcceptedAlignedTightFollowUpPacketExactOutcomeReliableSuffixCount( + const FString& SourceLabel, + int32& OutReliableSuffixCount + ); + + bool IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource(const FString& SourceLabel); + + bool IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource( + const FString& SourceLabel + ); + + bool IsReliableAcceptedAlignedBroadRecommendedPacketExactAcceptedHistorySource( + const FString& SourceLabel + ); + + bool IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeHistorySource( + const FString& SourceLabel + ); + + bool IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableHistorySource( + const FString& SourceLabel + ); + + bool TryGetAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableSuffixCount( + const FString& SourceLabel, + int32& OutReliableSuffixCount + ); +} + +namespace +{ + struct FHyperTwistCoachDashboardHandoffSignals + { + EHyperTwistTrainingCoachHandoffKind HandoffKind = EHyperTwistTrainingCoachHandoffKind::None; + bool bDeferredOverflow = false; + bool bDeferredFirst = false; + bool bMethodDrill = false; + bool bStrongMethodDrillRecovery = false; + bool bStrongMethodDrillFollowUpPacket = false; + bool bAlignedTightFollowUpPacket = false; + bool bAlignedBroadRecommendedPacket = false; + bool bStrongMethodDrillRecoveryPacket = false; + bool bNarrowMethodDrillRecoveryStructure = false; + bool bTightMethodDrillRecoveryStructurePlan = false; + bool bTrustedTightMethodDrillRecoveryStructurePlan = false; + bool bReliableTrustedTightMethodDrillRecoveryStructurePlan = false; + bool bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlan = false; + bool bWeakMethodDrillRecovery = false; + bool bWeakMethodDrillFollowUpPacket = false; + bool bWeakMethodDrillRecoveryPacket = false; + bool bBroadMethodDrillRecoveryStructure = false; + bool bBroadMethodDrillRecoveryStructurePlan = false; + bool bTrustedBroadMethodDrillRecoveryStructurePlan = false; + bool bReliableTrustedBroadMethodDrillRecoveryStructurePlan = false; + bool bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlan = false; + bool bStrongRetainedMethodDrillRecoveryPosture = false; + bool bWeakRetainedMethodDrillRecoveryPosture = false; + bool bAcceptedAlignedTightTrust = false; + bool bAcceptedAlignedTightReliableOutcome = false; + bool bAcceptedAlignedTightReliableExact = false; + bool bAcceptedAlignedTightReliableExactOutcome = false; + bool bAcceptedAlignedTightReliableExactOutcomeReliable = false; + bool bHasAcceptedAlignedTightReliableSuffixCount = false; + int32 AcceptedAlignedTightReliableSuffixCount = INDEX_NONE; + bool bAcceptedAlignedBroadTrust = false; + bool bAcceptedAlignedBroadReliableOutcome = false; + bool bAcceptedAlignedBroadReliableExact = false; + bool bAcceptedAlignedBroadReliableExactOutcome = false; + bool bAcceptedAlignedBroadReliableExactOutcomeReliable = false; + bool bHasAcceptedAlignedBroadReliableSuffixCount = false; + int32 AcceptedAlignedBroadReliableSuffixCount = INDEX_NONE; + }; + + FHyperTwistCoachDashboardHandoffSignals BuildCoachDashboardHandoffSignals( + const FString& SourceLabel + ) + { + FHyperTwistCoachDashboardHandoffSignals Signals; + Signals.HandoffKind = + HyperTwistTrainingRepositoryLibraryInternal::DashboardHandoffKindFromSourceLabel(SourceLabel); + Signals.bDeferredOverflow = + HyperTwistTrainingRepositoryLibraryInternal::IsDeferredOverflowDashboardOutcomeSource(SourceLabel); + Signals.bDeferredFirst = + HyperTwistTrainingRepositoryLibraryInternal::IsDeferredFirstDashboardHandoffSource(SourceLabel); + Signals.bMethodDrill = + HyperTwistTrainingRepositoryLibraryInternal::IsMethodDrillDashboardHandoffSource(SourceLabel); + Signals.bStrongMethodDrillRecovery = + HyperTwistTrainingRepositoryLibraryInternal::IsStrongMethodDrillRecoveryDashboardHandoffSource(SourceLabel); + Signals.bStrongMethodDrillFollowUpPacket = + HyperTwistTrainingRepositoryLibraryInternal::IsStrongMethodDrillFollowUpPacketDashboardHandoffSource( + SourceLabel); + Signals.bAlignedTightFollowUpPacket = + HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketDashboardHandoffSource( + SourceLabel); + Signals.bAlignedBroadRecommendedPacket = + HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketDashboardHandoffSource( + SourceLabel); + Signals.bStrongMethodDrillRecoveryPacket = + HyperTwistTrainingRepositoryLibraryInternal::IsStrongMethodDrillRecoveryPacketDashboardHandoffSource( + SourceLabel); + Signals.bNarrowMethodDrillRecoveryStructure = + HyperTwistTrainingRepositoryLibraryInternal::IsNarrowMethodDrillRecoveryStructureDashboardHandoffSource( + SourceLabel); + Signals.bTightMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bTrustedTightMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bReliableTrustedTightMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bWeakMethodDrillRecovery = + HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillRecoveryDashboardHandoffSource(SourceLabel); + Signals.bWeakMethodDrillFollowUpPacket = + HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillFollowUpPacketDashboardHandoffSource( + SourceLabel); + Signals.bWeakMethodDrillRecoveryPacket = + HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillRecoveryPacketDashboardHandoffSource( + SourceLabel); + Signals.bBroadMethodDrillRecoveryStructure = + HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructureDashboardHandoffSource( + SourceLabel); + Signals.bBroadMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bTrustedBroadMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bReliableTrustedBroadMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlan = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + SourceLabel); + Signals.bStrongRetainedMethodDrillRecoveryPosture = + HyperTwistTrainingRepositoryLibraryInternal::IsStrongRetainedMethodDrillRecoveryPostureDashboardHandoffSource( + SourceLabel); + Signals.bWeakRetainedMethodDrillRecoveryPosture = + HyperTwistTrainingRepositoryLibraryInternal::IsWeakRetainedMethodDrillRecoveryPostureDashboardHandoffSource( + SourceLabel); + Signals.bAcceptedAlignedTightTrust = + HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource( + SourceLabel); + Signals.bAcceptedAlignedTightReliableOutcome = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource( + SourceLabel); + Signals.bAcceptedAlignedTightReliableExact = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactAcceptedHistorySource( + SourceLabel); + Signals.bAcceptedAlignedTightReliableExactOutcome = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeHistorySource( + SourceLabel); + Signals.bAcceptedAlignedTightReliableExactOutcomeReliable = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeReliableHistorySource( + SourceLabel); + Signals.bHasAcceptedAlignedTightReliableSuffixCount = + HyperTwistTrainingRepositoryLibraryInternal::TryGetAcceptedAlignedTightFollowUpPacketExactOutcomeReliableSuffixCount( + SourceLabel, + Signals.AcceptedAlignedTightReliableSuffixCount); + Signals.bAcceptedAlignedBroadTrust = + HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource( + SourceLabel); + Signals.bAcceptedAlignedBroadReliableOutcome = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource( + SourceLabel); + Signals.bAcceptedAlignedBroadReliableExact = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactAcceptedHistorySource( + SourceLabel); + Signals.bAcceptedAlignedBroadReliableExactOutcome = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeHistorySource( + SourceLabel); + Signals.bAcceptedAlignedBroadReliableExactOutcomeReliable = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableHistorySource( + SourceLabel); + Signals.bHasAcceptedAlignedBroadReliableSuffixCount = + HyperTwistTrainingRepositoryLibraryInternal::TryGetAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableSuffixCount( + SourceLabel, + Signals.AcceptedAlignedBroadReliableSuffixCount); + return Signals; + } + + void ApplyStartedCoachDashboardHandoffSignals( + FHyperTwistTrainingCoachSessionQueueExecutionSummary& Summary, + const FHyperTwistCoachDashboardHandoffSignals& Signals + ) + { + if (Signals.HandoffKind == EHyperTwistTrainingCoachHandoffKind::Queue) + { + Summary.StartedQueuedHandoffEventCount += 1; + if (Signals.bDeferredOverflow) + { + Summary.StartedDeferredOverflowQueuedHandoffEventCount += 1; + } + if (Signals.bDeferredFirst) + { + Summary.StartedDeferredFirstQueuedHandoffEventCount += 1; + } + if (Signals.bMethodDrill) + { + Summary.StartedMethodDrillQueuedHandoffEventCount += 1; + } + if (Signals.bStrongMethodDrillFollowUpPacket) + { + Summary.StartedStrongMethodDrillFollowUpPacketQueuedHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillFollowUpPacket) + { + Summary.StartedWeakMethodDrillFollowUpPacketQueuedHandoffEventCount += 1; + } + if (Signals.bAlignedTightFollowUpPacket) + { + Summary.StartedAlignedTightFollowUpPacketQueuedHandoffEventCount += 1; + } + if (Signals.bAlignedBroadRecommendedPacket) + { + Summary.StartedAlignedBroadRecommendedPacketQueuedHandoffEventCount += 1; + } + if (Signals.bStrongMethodDrillRecoveryPacket) + { + Summary.StartedStrongMethodDrillRecoveryPacketQueuedHandoffEventCount += 1; + } + if (Signals.bNarrowMethodDrillRecoveryStructure) + { + Summary.StartedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillRecoveryPacket) + { + Summary.StartedWeakMethodDrillRecoveryPacketQueuedHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructure) + { + Summary.StartedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + } + else if (Signals.HandoffKind == EHyperTwistTrainingCoachHandoffKind::FollowUp) + { + Summary.StartedFollowUpHandoffEventCount += 1; + if (Signals.bDeferredOverflow) + { + Summary.StartedDeferredOverflowFollowUpHandoffEventCount += 1; + } + if (Signals.bDeferredFirst) + { + Summary.StartedDeferredFirstFollowUpHandoffEventCount += 1; + } + if (Signals.bMethodDrill) + { + Summary.StartedMethodDrillFollowUpHandoffEventCount += 1; + } + if (Signals.bStrongMethodDrillFollowUpPacket) + { + Summary.StartedStrongMethodDrillFollowUpPacketFollowUpHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillFollowUpPacket) + { + Summary.StartedWeakMethodDrillFollowUpPacketFollowUpHandoffEventCount += 1; + } + if (Signals.bAlignedTightFollowUpPacket) + { + Summary.StartedAlignedTightFollowUpPacketFollowUpHandoffEventCount += 1; + } + if (Signals.bAlignedBroadRecommendedPacket) + { + Summary.StartedAlignedBroadRecommendedPacketFollowUpHandoffEventCount += 1; + } + if (Signals.bStrongMethodDrillRecoveryPacket) + { + Summary.StartedStrongMethodDrillRecoveryPacketFollowUpHandoffEventCount += 1; + } + if (Signals.bNarrowMethodDrillRecoveryStructure) + { + Summary.StartedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillRecoveryPacket) + { + Summary.StartedWeakMethodDrillRecoveryPacketFollowUpHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructure) + { + Summary.StartedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + } + else if (Signals.HandoffKind == EHyperTwistTrainingCoachHandoffKind::Recommended) + { + Summary.StartedRecommendedHandoffEventCount += 1; + if (Signals.bDeferredOverflow) + { + Summary.StartedDeferredOverflowRecommendedHandoffEventCount += 1; + } + if (Signals.bDeferredFirst) + { + Summary.StartedDeferredFirstRecommendedHandoffEventCount += 1; + } + if (Signals.bMethodDrill) + { + Summary.StartedMethodDrillRecommendedHandoffEventCount += 1; + } + if (Signals.bStrongMethodDrillFollowUpPacket) + { + Summary.StartedStrongMethodDrillFollowUpPacketRecommendedHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillFollowUpPacket) + { + Summary.StartedWeakMethodDrillFollowUpPacketRecommendedHandoffEventCount += 1; + } + if (Signals.bAlignedTightFollowUpPacket) + { + Summary.StartedAlignedTightFollowUpPacketRecommendedHandoffEventCount += 1; + } + if (Signals.bAlignedBroadRecommendedPacket) + { + Summary.StartedAlignedBroadRecommendedPacketRecommendedHandoffEventCount += 1; + } + if (Signals.bStrongMethodDrillRecoveryPacket) + { + Summary.StartedStrongMethodDrillRecoveryPacketRecommendedHandoffEventCount += 1; + } + if (Signals.bNarrowMethodDrillRecoveryStructure) + { + Summary.StartedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillRecoveryPacket) + { + Summary.StartedWeakMethodDrillRecoveryPacketRecommendedHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructure) + { + Summary.StartedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + } + + if (Signals.bStrongMethodDrillRecovery) + { + Summary.StartedStrongMethodDrillRecoveryMemoryHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillRecovery) + { + Summary.StartedWeakMethodDrillRecoveryMemoryHandoffEventCount += 1; + } + if (Signals.bStrongRetainedMethodDrillRecoveryPosture) + { + Summary.StartedStrongRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; + } + if (Signals.bWeakRetainedMethodDrillRecoveryPosture) + { + Summary.StartedWeakRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightTrust) + { + Summary.StartedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableOutcome) + { + Summary.StartedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableExact) + { + Summary.StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableExactOutcome) + { + Summary.StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableExactOutcomeReliable) + { + Summary.StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadTrust) + { + Summary.StartedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableOutcome) + { + Summary.StartedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableExact) + { + Summary.StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableExactOutcome) + { + Summary.StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableExactOutcomeReliable) + { + Summary.StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; + } + } + + void ApplyCompletedCoachDashboardHandoffSignals( + FHyperTwistTrainingCoachSessionQueueExecutionSummary& Summary, + const FHyperTwistCoachDashboardHandoffSignals& Signals + ) + { + if (Signals.bMethodDrill) + { + if (Signals.HandoffKind == EHyperTwistTrainingCoachHandoffKind::Queue) + { + Summary.CompletedMethodDrillQueuedHandoffEventCount += 1; + } + else if (Signals.HandoffKind == EHyperTwistTrainingCoachHandoffKind::FollowUp) + { + Summary.CompletedMethodDrillFollowUpHandoffEventCount += 1; + } + else if (Signals.HandoffKind == EHyperTwistTrainingCoachHandoffKind::Recommended) + { + Summary.CompletedMethodDrillRecommendedHandoffEventCount += 1; + } + if (Signals.bStrongMethodDrillRecovery) + { + Summary.CompletedStrongMethodDrillRecoveryMemoryHandoffEventCount += 1; + } + if (Signals.bNarrowMethodDrillRecoveryStructure) + { + Summary.CompletedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bTightMethodDrillRecoveryStructurePlan) + { + Summary.CompletedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.CompletedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.CompletedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlan) + { + Summary.CompletedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bWeakMethodDrillRecovery) + { + Summary.CompletedWeakMethodDrillRecoveryMemoryHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructure) + { + Summary.CompletedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; + } + if (Signals.bBroadMethodDrillRecoveryStructurePlan) + { + Summary.CompletedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.CompletedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.CompletedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlan) + { + Summary.CompletedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; + } + if (Signals.bStrongRetainedMethodDrillRecoveryPosture) + { + Summary.CompletedStrongRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; + } + if (Signals.bWeakRetainedMethodDrillRecoveryPosture) + { + Summary.CompletedWeakRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; + } + } + + if (Signals.bAcceptedAlignedTightTrust) + { + Summary.CompletedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableOutcome) + { + Summary.CompletedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableExact) + { + Summary.CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableExactOutcome) + { + Summary.CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedTightReliableExactOutcomeReliable) + { + Summary.CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadTrust) + { + Summary.CompletedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableOutcome) + { + Summary.CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableExact) + { + Summary.CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableExactOutcome) + { + Summary.CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHandoffEventCount += 1; + } + if (Signals.bAcceptedAlignedBroadReliableExactOutcomeReliable) + { + Summary.CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; + } + } +} + namespace HyperTwistTrainingRepositoryLibraryInternal { constexpr double DefaultMinStabilityDays = 0.25; @@ -23305,388 +23984,19 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito { Summary.StartedRecommendedEventCount += 1; } - const EHyperTwistTrainingCoachHandoffKind DashboardHandoffKind = - HyperTwistTrainingRepositoryLibraryInternal::DashboardHandoffKindFromSourceLabel( - HistoryEntry.StartActionSourceLabel); - const bool bDeferredOverflowDashboardOutcome = - HyperTwistTrainingRepositoryLibraryInternal::IsDeferredOverflowDashboardOutcomeSource( - HistoryEntry.StartActionSourceLabel); - const bool bDeferredFirstDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsDeferredFirstDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bMethodDrillDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsMethodDrillDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bStrongMethodDrillRecoveryDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsStrongMethodDrillRecoveryDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bStrongMethodDrillFollowUpPacketDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsStrongMethodDrillFollowUpPacketDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bAlignedTightFollowUpPacketDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bAlignedBroadRecommendedPacketDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bStrongMethodDrillRecoveryPacketDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsStrongMethodDrillRecoveryPacketDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bNarrowMethodDrillRecoveryStructureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsNarrowMethodDrillRecoveryStructureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bTightMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bWeakMethodDrillRecoveryDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillRecoveryDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bWeakMethodDrillFollowUpPacketDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillFollowUpPacketDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bWeakMethodDrillRecoveryPacketDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillRecoveryPacketDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bBroadMethodDrillRecoveryStructureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bBroadMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bStrongRetainedMethodDrillRecoveryPostureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsStrongRetainedMethodDrillRecoveryPostureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bWeakRetainedMethodDrillRecoveryPostureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsWeakRetainedMethodDrillRecoveryPostureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - if (DashboardHandoffKind == EHyperTwistTrainingCoachHandoffKind::Queue) - { - Summary.StartedQueuedHandoffEventCount += 1; - if (bDeferredOverflowDashboardOutcome) - { - Summary.StartedDeferredOverflowQueuedHandoffEventCount += 1; - } - if (bDeferredFirstDashboardHandoff) - { - Summary.StartedDeferredFirstQueuedHandoffEventCount += 1; - } - if (bMethodDrillDashboardHandoff) - { - Summary.StartedMethodDrillQueuedHandoffEventCount += 1; - } - if (bStrongMethodDrillFollowUpPacketDashboardHandoff) - { - Summary.StartedStrongMethodDrillFollowUpPacketQueuedHandoffEventCount += 1; - } - if (bWeakMethodDrillFollowUpPacketDashboardHandoff) - { - Summary.StartedWeakMethodDrillFollowUpPacketQueuedHandoffEventCount += 1; - } - if (bAlignedTightFollowUpPacketDashboardHandoff) - { - Summary.StartedAlignedTightFollowUpPacketQueuedHandoffEventCount += 1; - } - if (bAlignedBroadRecommendedPacketDashboardHandoff) - { - Summary.StartedAlignedBroadRecommendedPacketQueuedHandoffEventCount += 1; - } - if (bStrongMethodDrillRecoveryPacketDashboardHandoff) - { - Summary.StartedStrongMethodDrillRecoveryPacketQueuedHandoffEventCount += 1; - } - if (bNarrowMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.StartedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.StartedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bWeakMethodDrillRecoveryPacketDashboardHandoff) - { - Summary.StartedWeakMethodDrillRecoveryPacketQueuedHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.StartedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.StartedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - } - else if (DashboardHandoffKind == EHyperTwistTrainingCoachHandoffKind::FollowUp) - { - Summary.StartedFollowUpHandoffEventCount += 1; - if (bDeferredOverflowDashboardOutcome) - { - Summary.StartedDeferredOverflowFollowUpHandoffEventCount += 1; - } - if (bDeferredFirstDashboardHandoff) - { - Summary.StartedDeferredFirstFollowUpHandoffEventCount += 1; - } - if (bMethodDrillDashboardHandoff) - { - Summary.StartedMethodDrillFollowUpHandoffEventCount += 1; - } - if (bStrongMethodDrillFollowUpPacketDashboardHandoff) - { - Summary.StartedStrongMethodDrillFollowUpPacketFollowUpHandoffEventCount += 1; - } - if (bWeakMethodDrillFollowUpPacketDashboardHandoff) - { - Summary.StartedWeakMethodDrillFollowUpPacketFollowUpHandoffEventCount += 1; - } - if (bAlignedTightFollowUpPacketDashboardHandoff) - { - Summary.StartedAlignedTightFollowUpPacketFollowUpHandoffEventCount += 1; - } - if (bAlignedBroadRecommendedPacketDashboardHandoff) - { - Summary.StartedAlignedBroadRecommendedPacketFollowUpHandoffEventCount += 1; - } - if (bStrongMethodDrillRecoveryPacketDashboardHandoff) - { - Summary.StartedStrongMethodDrillRecoveryPacketFollowUpHandoffEventCount += 1; - } - if (bNarrowMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.StartedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bWeakMethodDrillRecoveryPacketDashboardHandoff) - { - Summary.StartedWeakMethodDrillRecoveryPacketFollowUpHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.StartedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - } - else if (DashboardHandoffKind == EHyperTwistTrainingCoachHandoffKind::Recommended) - { - Summary.StartedRecommendedHandoffEventCount += 1; - if (bDeferredOverflowDashboardOutcome) - { - Summary.StartedDeferredOverflowRecommendedHandoffEventCount += 1; - } - if (bDeferredFirstDashboardHandoff) - { - Summary.StartedDeferredFirstRecommendedHandoffEventCount += 1; - } - if (bMethodDrillDashboardHandoff) - { - Summary.StartedMethodDrillRecommendedHandoffEventCount += 1; - } - if (bStrongMethodDrillFollowUpPacketDashboardHandoff) - { - Summary.StartedStrongMethodDrillFollowUpPacketRecommendedHandoffEventCount += 1; - } - if (bWeakMethodDrillFollowUpPacketDashboardHandoff) - { - Summary.StartedWeakMethodDrillFollowUpPacketRecommendedHandoffEventCount += 1; - } - if (bAlignedTightFollowUpPacketDashboardHandoff) - { - Summary.StartedAlignedTightFollowUpPacketRecommendedHandoffEventCount += 1; - } - if (bAlignedBroadRecommendedPacketDashboardHandoff) - { - Summary.StartedAlignedBroadRecommendedPacketRecommendedHandoffEventCount += 1; - } - if (bStrongMethodDrillRecoveryPacketDashboardHandoff) - { - Summary.StartedStrongMethodDrillRecoveryPacketRecommendedHandoffEventCount += 1; - } - if (bNarrowMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.StartedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bWeakMethodDrillRecoveryPacketDashboardHandoff) - { - Summary.StartedWeakMethodDrillRecoveryPacketRecommendedHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.StartedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.StartedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - } - if (bStrongMethodDrillRecoveryDashboardHandoff) - { - Summary.StartedStrongMethodDrillRecoveryMemoryHandoffEventCount += 1; - } - if (bWeakMethodDrillRecoveryDashboardHandoff) - { - Summary.StartedWeakMethodDrillRecoveryMemoryHandoffEventCount += 1; - } - if (bStrongRetainedMethodDrillRecoveryPostureDashboardHandoff) - { - Summary.StartedStrongRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; - } - if (bWeakRetainedMethodDrillRecoveryPostureDashboardHandoff) - { - Summary.StartedWeakRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.StartedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeReliableHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; - } - int32 AcceptedAlignedTightReliableSuffixCount = INDEX_NONE; - if (HyperTwistTrainingRepositoryLibraryInternal::TryGetAcceptedAlignedTightFollowUpPacketExactOutcomeReliableSuffixCount( - HistoryEntry.StartActionSourceLabel, - AcceptedAlignedTightReliableSuffixCount)) + const FHyperTwistCoachDashboardHandoffSignals DashboardSignals = + BuildCoachDashboardHandoffSignals(HistoryEntry.StartActionSourceLabel); + ApplyStartedCoachDashboardHandoffSignals(Summary, DashboardSignals); + if (DashboardSignals.bHasAcceptedAlignedTightReliableSuffixCount) { IncrementAcceptedAlignedTightReliableSuffixCounter( - AcceptedAlignedTightReliableSuffixCount, + DashboardSignals.AcceptedAlignedTightReliableSuffixCount, true); } - if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.StartedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .StartedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; - } - int32 AcceptedAlignedBroadReliableSuffixCount = INDEX_NONE; - if (HyperTwistTrainingRepositoryLibraryInternal::TryGetAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableSuffixCount( - HistoryEntry.StartActionSourceLabel, - AcceptedAlignedBroadReliableSuffixCount)) + if (DashboardSignals.bHasAcceptedAlignedBroadReliableSuffixCount) { IncrementAcceptedAlignedBroadReliableSuffixCounter( - AcceptedAlignedBroadReliableSuffixCount, + DashboardSignals.AcceptedAlignedBroadReliableSuffixCount, true); } if (Summary.LastStartedAtUtc.IsEmpty() @@ -23716,6 +24026,7 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito } break; case EHyperTwistTrainingCoachSessionQueueEventKind::Promoted: + { Summary.PromotedEventCount += 1; if (HistoryEntryLane == EHyperTwistTrainingCoachGuidanceLane::FollowUp) { @@ -23725,57 +24036,50 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito { Summary.PromotedRecommendedEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsNarrowMethodDrillRecoveryStructureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + const FHyperTwistCoachDashboardHandoffSignals DashboardSignals = + BuildCoachDashboardHandoffSignals(HistoryEntry.StartActionSourceLabel); + if (DashboardSignals.bNarrowMethodDrillRecoveryStructure) { Summary.PromotedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bTightMethodDrillRecoveryStructurePlan) { Summary.PromotedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bTrustedTightMethodDrillRecoveryStructurePlan) { Summary.PromotedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bReliableTrustedTightMethodDrillRecoveryStructurePlan) { Summary.PromotedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlan) { Summary.PromotedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bBroadMethodDrillRecoveryStructure) { Summary.PromotedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bBroadMethodDrillRecoveryStructurePlan) { Summary.PromotedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bTrustedBroadMethodDrillRecoveryStructurePlan) { Summary.PromotedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bReliableTrustedBroadMethodDrillRecoveryStructurePlan) { Summary.PromotedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) + if (DashboardSignals.bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlan) { Summary.PromotedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; } break; + } case EHyperTwistTrainingCoachSessionQueueEventKind::Completed: { Summary.CompletedEventCount += 1; @@ -23787,193 +24091,19 @@ FHyperTwistTrainingCoachSessionQueueExecutionSummary UHyperTwistTrainingReposito { Summary.CompletedRecommendedEventCount += 1; } - if (HyperTwistTrainingRepositoryLibraryInternal::IsMethodDrillDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) - { - const bool bStrongMethodDrillRecoveryDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsStrongMethodDrillRecoveryDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bNarrowMethodDrillRecoveryStructureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsNarrowMethodDrillRecoveryStructureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bTightMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bWeakMethodDrillRecoveryDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsWeakMethodDrillRecoveryDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bBroadMethodDrillRecoveryStructureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bBroadMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bStrongRetainedMethodDrillRecoveryPostureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsStrongRetainedMethodDrillRecoveryPostureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const bool bWeakRetainedMethodDrillRecoveryPostureDashboardHandoff = - HyperTwistTrainingRepositoryLibraryInternal::IsWeakRetainedMethodDrillRecoveryPostureDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel); - const EHyperTwistTrainingCoachHandoffKind CompletedHandoffKind = - HyperTwistTrainingRepositoryLibraryInternal::DashboardHandoffKindFromSourceLabel( - HistoryEntry.StartActionSourceLabel); - if (CompletedHandoffKind == EHyperTwistTrainingCoachHandoffKind::Queue) - { - Summary.CompletedMethodDrillQueuedHandoffEventCount += 1; - } - else if (CompletedHandoffKind == EHyperTwistTrainingCoachHandoffKind::FollowUp) - { - Summary.CompletedMethodDrillFollowUpHandoffEventCount += 1; - } - else if (CompletedHandoffKind == EHyperTwistTrainingCoachHandoffKind::Recommended) - { - Summary.CompletedMethodDrillRecommendedHandoffEventCount += 1; - } - if (bStrongMethodDrillRecoveryDashboardHandoff) - { - Summary.CompletedStrongMethodDrillRecoveryMemoryHandoffEventCount += 1; - } - if (bNarrowMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.CompletedNarrowMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.CompletedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.CompletedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.CompletedReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.CompletedReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bWeakMethodDrillRecoveryDashboardHandoff) - { - Summary.CompletedWeakMethodDrillRecoveryMemoryHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructureDashboardHandoff) - { - Summary.CompletedBroadMethodDrillRecoveryStructureHandoffEventCount += 1; - } - if (bBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.CompletedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.CompletedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoff) - { - Summary.CompletedReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.CompletedReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffEventCount += 1; - } - if (bStrongRetainedMethodDrillRecoveryPostureDashboardHandoff) - { - Summary.CompletedStrongRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; - } - if (bWeakRetainedMethodDrillRecoveryPostureDashboardHandoff) - { - Summary.CompletedWeakRetainedMethodDrillRecoveryPostureHandoffEventCount += 1; - } - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedTightFollowUpPacketOutcomeTrustSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.CompletedAcceptedAlignedTightFollowUpPacketTrustHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketOutcomeAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedTightFollowUpPacketTrustReliableOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedTightFollowUpPacketExactOutcomeReliableHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedTightFollowUpPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; - } - int32 AcceptedAlignedTightReliableSuffixCount = INDEX_NONE; - if (HyperTwistTrainingRepositoryLibraryInternal::TryGetAcceptedAlignedTightFollowUpPacketExactOutcomeReliableSuffixCount( - HistoryEntry.StartActionSourceLabel, - AcceptedAlignedTightReliableSuffixCount)) + const FHyperTwistCoachDashboardHandoffSignals DashboardSignals = + BuildCoachDashboardHandoffSignals(HistoryEntry.StartActionSourceLabel); + ApplyCompletedCoachDashboardHandoffSignals(Summary, DashboardSignals); + if (DashboardSignals.bHasAcceptedAlignedTightReliableSuffixCount) { IncrementAcceptedAlignedTightReliableSuffixCounter( - AcceptedAlignedTightReliableSuffixCount, + DashboardSignals.AcceptedAlignedTightReliableSuffixCount, false); } - if (HyperTwistTrainingRepositoryLibraryInternal::IsAcceptedAlignedBroadRecommendedPacketOutcomeTrustSource( - HistoryEntry.StartActionSourceLabel)) - { - Summary.CompletedAcceptedAlignedBroadRecommendedPacketTrustHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketOutcomeAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactAcceptedHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeHandoffEventCount += 1; - } - if (HyperTwistTrainingRepositoryLibraryInternal::IsReliableAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableHistorySource( - HistoryEntry.StartActionSourceLabel)) - { - Summary - .CompletedAcceptedAlignedBroadRecommendedPacketTrustReliableExactOutcomeReliableHandoffEventCount += 1; - } - int32 AcceptedAlignedBroadReliableSuffixCount = INDEX_NONE; - if (HyperTwistTrainingRepositoryLibraryInternal::TryGetAcceptedAlignedBroadRecommendedPacketExactOutcomeReliableSuffixCount( - HistoryEntry.StartActionSourceLabel, - AcceptedAlignedBroadReliableSuffixCount)) + if (DashboardSignals.bHasAcceptedAlignedBroadReliableSuffixCount) { IncrementAcceptedAlignedBroadReliableSuffixCounter( - AcceptedAlignedBroadReliableSuffixCount, + DashboardSignals.AcceptedAlignedBroadReliableSuffixCount, false); } CompletedCountsByEntryId.FindOrAdd(HistoryEntry.EntryId) += 1; diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md index 2bc2e18..855db1b 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md @@ -3437,3 +3437,55 @@ Later same-day recommendation-history micro-follow-up (`2026-06-30`): - the next worthwhile continuation can move back to broader production hardening or another bounded training-repository reduction seam instead of carrying this tiny native uncertainty forward + +## Latest native queue-summary signal-bundle hardening follow-up (`2026-06-30`) + +- the next same-family continuation again stayed inside the existing + `HyperTwistTrainingRepositoryLibrary.cpp` native hardening seam: + - `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp` +- current ownership now centralizes the repeated queue-source label decoding + used by `Started`, `Promoted`, and `Completed` queue-summary history handling + into one bounded `FHyperTwistCoachDashboardHandoffSignals` helper bundle plus + two explicit application seams: + - `BuildCoachDashboardHandoffSignals(...)` + - `ApplyStartedCoachDashboardHandoffSignals(...)` + - `ApplyCompletedCoachDashboardHandoffSignals(...)` +- that means the queue-summary event switch no longer reparses the same + dashboard-handoff source semantics inline across those branches, while the + sparse accepted-aligned reliable-suffix ladders remain preserved exactly as + they were before +- local bounded tooling stayed green around the same packet: + - `scripts/run-hypertwist-sentrux-source-only.sh` + - `Quality: 6245` + - `scripts/run-hypertwist-gitnexus-analyze.sh` + - `Indexed commit: bad3216 (local CLI, post-index non-zero exit).` + - `scripts/run-hypertwist-gitnexus-status.sh` + - `Status: up-to-date` +- reverse-SSH proof for this exact C++ slice stayed truthful on the maintained + primary `localhost:22022` lane: + - `scripts/run-hypertwist-remote-windows-file-sync.sh --file UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp` + - first Unreal rebuild surfaced a real compile seam instead of silently + masking it: + - the new helper sat above internal queue-source helpers that had never + needed forward declarations before + - the maintained Windows build failed with missing declarations for the + queue-source helper family + - the slice was repaired in-place by adding explicit forward declarations for + that internal helper family near the top of the file + - the file was resynced to maintained root + `C:\HyperTwist_worktrees\phase10validate\UnrealHyperTwist\Source\UnrealHyperTwist\Private\HyperTwistTraining\HyperTwistTrainingRepositoryLibrary.cpp` + - the rerun then passed: + - `scripts/run-hypertwist-remote-unreal-build.sh` + - maintained root `C:\HyperTwist_worktrees\phase10validate` + - `Result: Succeeded` + - UnrealBuildTool `Total execution time: 118.98 seconds` +- current truthful reading after this follow-up: + - the queue-summary branch family is now easier to maintain because source + label semantics are decoded once per history event instead of being sprayed + inline across three switch branches + - the maintained Windows Unreal lane proved the structural change after a + real compile-time correction rather than a paper-only pass + - the next best same-family continuation is another bounded training-repository + ownership reduction seam, especially inside + `DeriveCoachRecommendationHistorySummary(...)`, rather than reopening a + different product family prematurely