Shape coach plans by aligned guidance outcomes

This commit is contained in:
axiomlogicnexus 2026-04-29 22:05:44 +02:00
parent be5346e6c0
commit ee93ea3315

View file

@ -2228,14 +2228,46 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
TEXT("coach-memory-dashboard-method-drill-recovery-weak-"))
|| CoachMemorySnapshot.PreferredQueueRecoveryActionSourceLabel
== TEXT("coach-memory-method-drill-recovery-memory-weak");
const bool bAlignedTightFollowUpGuidanceOutcomeSource =
CoachMemorySnapshot.PreferredGuidanceSourceLabel
== TEXT("recommendation-history-aligned-tight-follow-up-outcome")
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
== TEXT("recommendation-history-aligned-tight-follow-up-outcome")
|| (CoachMemorySnapshot.PreferredGuidanceLane
== EHyperTwistTrainingCoachGuidanceLane::FollowUp
&& CoachMemorySnapshot.ReliableAlignedTrustedTightFollowUpGuidanceOutcomeHistoryCount >= 2
&& CoachMemorySnapshot.ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore >= 60.0f
&& (CoachMemorySnapshot.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeHistoryCount <= 0
|| CoachMemorySnapshot.ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore
>= CoachMemorySnapshot
.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore
- 2.0f));
const bool bAlignedBroadRecommendedGuidanceOutcomeSource =
CoachMemorySnapshot.PreferredGuidanceSourceLabel
== TEXT("recommendation-history-aligned-broad-recommended-outcome")
|| CoachMemorySnapshot.PreferredCoachHandoffSourceLabel
== TEXT("recommendation-history-aligned-broad-recommended-outcome")
|| (CoachMemorySnapshot.PreferredGuidanceLane
== EHyperTwistTrainingCoachGuidanceLane::Recommended
&& CoachMemorySnapshot.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeHistoryCount >= 2
&& CoachMemorySnapshot.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore
>= 58.0f
&& (CoachMemorySnapshot.ReliableAlignedTrustedTightFollowUpGuidanceOutcomeHistoryCount <= 0
|| CoachMemorySnapshot
.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore
>= CoachMemorySnapshot
.ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore
- 2.0f));
const bool bTightMethodDrillRecoveryPlanSource =
bStrongMethodDrillRecoveryMemoryHandoffSource
|| bTightMethodDrillRecoveryStructurePlanHandoffSource
|| bNarrowMethodDrillRecoveryStructureHandoffSource;
|| bNarrowMethodDrillRecoveryStructureHandoffSource
|| bAlignedTightFollowUpGuidanceOutcomeSource;
const bool bBroadMethodDrillRecoveryPlanSource =
bWeakMethodDrillRecoveryMemoryHandoffSource
|| bBroadMethodDrillRecoveryStructurePlanHandoffSource
|| bBroadMethodDrillRecoveryStructureHandoffSource;
|| bBroadMethodDrillRecoveryStructureHandoffSource
|| bAlignedBroadRecommendedGuidanceOutcomeSource;
if (CoachMemorySnapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::Queue
&& !CoachBrief.bNeedsCoachReview
&& CoachBrief.FollowUpDepth <= 0)
@ -2264,6 +2296,10 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
}
else if (bAlignedTightFollowUpGuidanceOutcomeSource)
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
}
else if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource)
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
@ -2308,7 +2344,8 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| CoachBrief.bNeedsCoachReview
|| CoachMemorySnapshot.FollowUpReadyCoachSequenceCount > 0
|| CoachMemorySnapshot.ScheduleBlockedFollowUpEventCount > 0
|| bTightMethodDrillRecoveryPlanSource;
|| bTightMethodDrillRecoveryPlanSource
|| bAlignedTightFollowUpGuidanceOutcomeSource;
if (bShouldBiasFollowUpHandoff)
{
if (CoachBrief.bPreferRecognitionReplayReview
@ -2332,6 +2369,10 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
}
else if (bAlignedTightFollowUpGuidanceOutcomeSource)
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
}
else if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource)
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
@ -2373,7 +2414,7 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
}
return;
}
if (bBroadMethodDrillRecoveryPlanSource)
if (bBroadMethodDrillRecoveryPlanSource || bAlignedBroadRecommendedGuidanceOutcomeSource)
{
if (CoachBrief.bPreferRecognitionReplayReview
&& CoachMemorySnapshot.DominantCoachSuggestedMode
@ -2399,6 +2440,14 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
: EHyperTwistTrainingSelectionPolicy::Weighted;
}
}
else if (bAlignedBroadRecommendedGuidanceOutcomeSource)
{
InOutSelectionPolicy =
CoachMemorySnapshot.DominantCoachSelectionPolicy
!= EHyperTwistTrainingSelectionPolicy::Scripted
? CoachMemorySnapshot.DominantCoachSelectionPolicy
: EHyperTwistTrainingSelectionPolicy::Weighted;
}
else if (InOutSelectionPolicy == EHyperTwistTrainingSelectionPolicy::Scripted)
{
InOutSelectionPolicy =
@ -2436,7 +2485,8 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|| CoachBrief.bNeedsCoachReview
|| CoachMemorySnapshot.FollowUpReadyCoachSequenceCount > 0
|| CoachMemorySnapshot.ScheduleBlockedFollowUpEventCount > 0
|| bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource;
|| bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource
|| bAlignedTightFollowUpGuidanceOutcomeSource;
if (!bShouldBiasFollowUpDefaults)
{
return;
@ -2459,7 +2509,11 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
InOutMode = EHyperTwistTrainingDeliveryMode::CoachReviewed;
}
if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource)
if (bAlignedTightFollowUpGuidanceOutcomeSource)
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
}
else if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource)
{
InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted;
}
@ -2494,7 +2548,14 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
InOutMode = CoachMemorySnapshot.DominantCoachSuggestedMode;
}
if (bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource)
if (bAlignedBroadRecommendedGuidanceOutcomeSource)
{
InOutSelectionPolicy =
CoachMemorySnapshot.DominantCoachSelectionPolicy != EHyperTwistTrainingSelectionPolicy::Scripted
? CoachMemorySnapshot.DominantCoachSelectionPolicy
: EHyperTwistTrainingSelectionPolicy::Weighted;
}
else if (bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource)
{
InOutSelectionPolicy =
CoachMemorySnapshot.DominantCoachSelectionPolicy != EHyperTwistTrainingSelectionPolicy::Scripted