Harden Phase 6C launch execution projections
This commit is contained in:
parent
9ced13b762
commit
3da81bb21c
5 changed files with 105 additions and 40 deletions
|
|
@ -9624,6 +9624,14 @@ bool UHyperTwistTrainingSubsystem::TryGetActiveImportedGeneratedModeLaunchReques
|
|||
FHyperTwistTrainingImportedGeneratedModeLaunchRequest UHyperTwistTrainingSubsystem::CreateActiveImportedGeneratedModeLaunchRequest(
|
||||
const FString& RequestSource
|
||||
)
|
||||
{
|
||||
return CreateActiveImportedGeneratedModeLaunchRequestInternal(RequestSource, true);
|
||||
}
|
||||
|
||||
FHyperTwistTrainingImportedGeneratedModeLaunchRequest UHyperTwistTrainingSubsystem::CreateActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
const FString& RequestSource,
|
||||
const bool bRefreshRepositoryViews
|
||||
)
|
||||
{
|
||||
FHyperTwistTrainingImportedGeneratedModeLaunchConfig LaunchConfig;
|
||||
if (!TryGetActiveImportedGeneratedModeLaunchConfig(LaunchConfig))
|
||||
|
|
@ -9639,12 +9647,8 @@ FHyperTwistTrainingImportedGeneratedModeLaunchRequest UHyperTwistTrainingSubsyst
|
|||
ActiveImportedGeneratedModeLaunchRequest.RequestSource =
|
||||
RequestSource.IsEmpty() ? TEXT("runtime-imported-generated-mode") : RequestSource;
|
||||
ActiveImportedGeneratedModeLaunchRequest.LaunchConfig = LaunchConfig;
|
||||
ActiveRunState.ImportedGeneratedModeLaunchRequest = ActiveImportedGeneratedModeLaunchRequest;
|
||||
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(
|
||||
TrainingRepositoryState,
|
||||
ActiveRunState
|
||||
);
|
||||
RefreshRepositoryViews();
|
||||
ActiveRunState.ImportedGeneratedModeLaunchRequest = ActiveImportedGeneratedModeLaunchRequest;
|
||||
PersistActiveRunStateToRepository(bRefreshRepositoryViews);
|
||||
return ActiveImportedGeneratedModeLaunchRequest;
|
||||
}
|
||||
|
||||
|
|
@ -9652,6 +9656,19 @@ bool UHyperTwistTrainingSubsystem::TryExecuteActiveImportedGeneratedModeLaunchRe
|
|||
FHyperTwistTrainingRunState& OutRunState,
|
||||
FString& OutBlockedReason
|
||||
)
|
||||
{
|
||||
return TryExecuteActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
OutRunState,
|
||||
OutBlockedReason,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
bool UHyperTwistTrainingSubsystem::TryExecuteActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
FHyperTwistTrainingRunState& OutRunState,
|
||||
FString& OutBlockedReason,
|
||||
const bool bRefreshRepositoryViews
|
||||
)
|
||||
{
|
||||
OutRunState = FHyperTwistTrainingRunState();
|
||||
OutBlockedReason.Reset();
|
||||
|
|
@ -9678,8 +9695,9 @@ bool UHyperTwistTrainingSubsystem::TryExecuteActiveImportedGeneratedModeLaunchRe
|
|||
|
||||
if (bNeedsFreshLaunchRequest)
|
||||
{
|
||||
LaunchRequest = CreateActiveImportedGeneratedModeLaunchRequest(
|
||||
TEXT("runtime-imported-generated-mode-executor")
|
||||
LaunchRequest = CreateActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
TEXT("runtime-imported-generated-mode-executor"),
|
||||
false
|
||||
);
|
||||
}
|
||||
if (!LaunchRequest.IsStructurallyValid())
|
||||
|
|
@ -9724,11 +9742,12 @@ bool UHyperTwistTrainingSubsystem::TryExecuteActiveImportedGeneratedModeLaunchRe
|
|||
|
||||
const FString ExecutionSessionId =
|
||||
HyperTwistTrainingSubsystemInternal::BuildGeneratedModeExecutionSessionId(LaunchRequest);
|
||||
const FHyperTwistTrainingRunState StartedRunState = StartTrainingRunFromDeck(
|
||||
const FHyperTwistTrainingRunState StartedRunState = StartTrainingRunFromDeckInternal(
|
||||
GeneratedDeck,
|
||||
SourceRunState.Session.UserId,
|
||||
ExecutionSessionId,
|
||||
LaunchRequest.LaunchConfig.DeliveryMode
|
||||
LaunchRequest.LaunchConfig.DeliveryMode,
|
||||
false
|
||||
);
|
||||
if (!StartedRunState.IsStructurallyValid())
|
||||
{
|
||||
|
|
@ -9740,11 +9759,7 @@ bool UHyperTwistTrainingSubsystem::TryExecuteActiveImportedGeneratedModeLaunchRe
|
|||
ActiveImportedGeneratedModeLaunchRequest = LaunchRequest;
|
||||
ActiveRunState.ImportedGeneratedModeLaunchRequest = LaunchRequest;
|
||||
RefreshSummary();
|
||||
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(
|
||||
TrainingRepositoryState,
|
||||
ActiveRunState
|
||||
);
|
||||
RefreshRepositoryViews();
|
||||
PersistActiveRunStateToRepository(bRefreshRepositoryViews);
|
||||
|
||||
OutRunState = ActiveRunState;
|
||||
return OutRunState.IsStructurallyValid();
|
||||
|
|
@ -9808,11 +9823,12 @@ bool UHyperTwistTrainingSubsystem::TryStartHigherDimensionalLaunchSurface(
|
|||
: FString::Printf(
|
||||
TEXT("phase6c_launch_%s"),
|
||||
*FGuid::NewGuid().ToString(EGuidFormats::Digits));
|
||||
OutRunState = StartTrainingRunFromDeck(
|
||||
OutRunState = StartTrainingRunFromDeckInternal(
|
||||
LaunchDeck,
|
||||
EffectiveUserId,
|
||||
EffectiveSessionId,
|
||||
Mode
|
||||
Mode,
|
||||
false
|
||||
);
|
||||
if (!OutRunState.IsStructurallyValid())
|
||||
{
|
||||
|
|
@ -9834,12 +9850,6 @@ bool UHyperTwistTrainingSubsystem::TryStartHigherDimensionalLaunchSurface(
|
|||
return false;
|
||||
}
|
||||
}
|
||||
RefreshSummary();
|
||||
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(
|
||||
TrainingRepositoryState,
|
||||
ActiveRunState
|
||||
);
|
||||
RefreshRepositoryViews();
|
||||
OutRunState = ActiveRunState;
|
||||
if (!OutRunState.IsStructurallyValid())
|
||||
{
|
||||
|
|
@ -9850,12 +9860,16 @@ bool UHyperTwistTrainingSubsystem::TryStartHigherDimensionalLaunchSurface(
|
|||
|
||||
if (!bExecuteGeneratedModeLaunchRequest)
|
||||
{
|
||||
RefreshSummary();
|
||||
PersistActiveRunStateToRepository(true);
|
||||
OutRunState = ActiveRunState;
|
||||
return true;
|
||||
}
|
||||
|
||||
const FHyperTwistTrainingImportedGeneratedModeLaunchRequest LaunchRequest =
|
||||
CreateActiveImportedGeneratedModeLaunchRequest(
|
||||
TEXT("phase6c-higher-dimensional-launch-surface")
|
||||
CreateActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
TEXT("phase6c-higher-dimensional-launch-surface"),
|
||||
false
|
||||
);
|
||||
if (!LaunchRequest.IsStructurallyValid())
|
||||
{
|
||||
|
|
@ -9864,7 +9878,10 @@ bool UHyperTwistTrainingSubsystem::TryStartHigherDimensionalLaunchSurface(
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!TryExecuteActiveImportedGeneratedModeLaunchRequest(OutRunState, OutBlockedReason))
|
||||
if (!TryExecuteActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
OutRunState,
|
||||
OutBlockedReason,
|
||||
true))
|
||||
{
|
||||
if (OutBlockedReason.IsEmpty())
|
||||
{
|
||||
|
|
@ -9934,11 +9951,7 @@ FHyperTwistTrainingRunState UHyperTwistTrainingSubsystem::ApplyActiveImportedGen
|
|||
return FHyperTwistTrainingRunState();
|
||||
}
|
||||
RefreshSummary();
|
||||
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(
|
||||
TrainingRepositoryState,
|
||||
ActiveRunState
|
||||
);
|
||||
RefreshRepositoryViews();
|
||||
PersistActiveRunStateToRepository(true);
|
||||
return ActiveRunState;
|
||||
}
|
||||
|
||||
|
|
@ -12591,12 +12604,37 @@ FHyperTwistTrainingRunState UHyperTwistTrainingSubsystem::StartCoachQueueEntry(
|
|||
return RunState;
|
||||
}
|
||||
|
||||
void UHyperTwistTrainingSubsystem::PersistActiveRunStateToRepository(
|
||||
const bool bRefreshRepositoryViews
|
||||
)
|
||||
{
|
||||
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(
|
||||
TrainingRepositoryState,
|
||||
ActiveRunState
|
||||
);
|
||||
if (bRefreshRepositoryViews)
|
||||
{
|
||||
RefreshRepositoryViews();
|
||||
}
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRunState UHyperTwistTrainingSubsystem::StartTrainingRunFromDeck(
|
||||
const FHyperTwistTrainingDeck& Deck,
|
||||
const FString& UserId,
|
||||
const FString& SessionId,
|
||||
EHyperTwistTrainingDeliveryMode Mode
|
||||
)
|
||||
{
|
||||
return StartTrainingRunFromDeckInternal(Deck, UserId, SessionId, Mode, true);
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRunState UHyperTwistTrainingSubsystem::StartTrainingRunFromDeckInternal(
|
||||
const FHyperTwistTrainingDeck& Deck,
|
||||
const FString& UserId,
|
||||
const FString& SessionId,
|
||||
EHyperTwistTrainingDeliveryMode Mode,
|
||||
const bool bRefreshRepositoryViews
|
||||
)
|
||||
{
|
||||
if (HasActiveSmartDeviceSession())
|
||||
{
|
||||
|
|
@ -12632,11 +12670,7 @@ FHyperTwistTrainingRunState UHyperTwistTrainingSubsystem::StartTrainingRunFromDe
|
|||
OpenActiveRecognitionSession(RecognitionOpenError);
|
||||
}
|
||||
RefreshSummary();
|
||||
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(
|
||||
TrainingRepositoryState,
|
||||
ActiveRunState
|
||||
);
|
||||
RefreshRepositoryViews();
|
||||
PersistActiveRunStateToRepository(bRefreshRepositoryViews);
|
||||
return ActiveRunState;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -738,6 +738,23 @@ private:
|
|||
void RefreshSummary();
|
||||
void RefreshMethodDrillSummary();
|
||||
void RefreshRepositoryViews();
|
||||
void PersistActiveRunStateToRepository(bool bRefreshRepositoryViews);
|
||||
FHyperTwistTrainingRunState StartTrainingRunFromDeckInternal(
|
||||
const FHyperTwistTrainingDeck& Deck,
|
||||
const FString& UserId,
|
||||
const FString& SessionId,
|
||||
EHyperTwistTrainingDeliveryMode Mode,
|
||||
bool bRefreshRepositoryViews
|
||||
);
|
||||
FHyperTwistTrainingImportedGeneratedModeLaunchRequest CreateActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
const FString& RequestSource,
|
||||
bool bRefreshRepositoryViews
|
||||
);
|
||||
bool TryExecuteActiveImportedGeneratedModeLaunchRequestInternal(
|
||||
FHyperTwistTrainingRunState& OutRunState,
|
||||
FString& OutBlockedReason,
|
||||
bool bRefreshRepositoryViews
|
||||
);
|
||||
void ResetActiveLiveTimerState();
|
||||
void RefreshActiveLiveTimerState();
|
||||
bool CanUseSmartDeviceBridge() const;
|
||||
|
|
|
|||
|
|
@ -365,6 +365,8 @@ Closure read:
|
|||
- `2026-06-18` Windows checkpoint: the same isolated worktree `C:\HyperTwist_worktrees\phase10validate` rebuilt the widened interactive-scene slice with `Result: Succeeded` / UnrealBuildTool `Total execution time: 3528.60 seconds`, and targeted `UnrealEditor-Cmd` automation found `11` tests under `HyperTwist.FirstParty.HigherDimensional.Phase6C` and passed all `11`, including the new `InteractiveSceneCatalog`; `LaunchExecution` emitted `Ignoring very large delta of 479.46 seconds`, so that quiet interval also remains confirmed as known-good on this lane rather than a corruption signal
|
||||
- `2026-06-18` continuation proof: current code now replaces those placeholder `Magic120Cell` / `MagicCube5D` interactive-scene envelopes with family-owned runtime-state, projection, and persistence payloads, adds dedicated-family training-map assets plus dedicated host/launch/view-context/session surfaces, exposes explicit scene-envelope decoders through the runtime library, and batches start-time selector posture application so generated-mode launch execution no longer rebuilds repository views once per default selector
|
||||
- `2026-06-18` Windows checkpoint: the same isolated worktree `C:\HyperTwist_worktrees\phase10validate` rebuilt the dedicated-family runtime-state slice with `Result: Succeeded` / UnrealBuildTool `Total execution time: 1648.33 seconds`; after the selector-batching hardening rebuild with `Result: Succeeded` / UnrealBuildTool `Total execution time: 93.44 seconds`, targeted `UnrealEditor-Cmd` automation exported `C:\HyperTwist_worktrees\phase10validate\UnrealHyperTwist\Saved\AutomationReports\Phase6C-DedicatedFamily-Optimized\index.json` with all `11` `HyperTwist.FirstParty.HigherDimensional.Phase6C` tests passing, `totalDuration` `196.08790588378906`, and `LaunchExecution` duration `195.65591430664062`; the commandlet still emitted `Ignoring very large delta of 195.58 seconds`, but that quiet interval is materially down from the immediately prior `385.00 seconds` proof on this lane while retaining `**** TEST COMPLETE. EXIT CODE: 0 ****`
|
||||
- `2026-06-18` continuation proof: current code now also defers repository-view projection across the internal generated-mode launch handoff itself, so the seed-run, launch-request persistence, and generated-run transition keep their repository state intact without forcing intermediate view rebuilds that the caller never reads
|
||||
- `2026-06-18` Windows checkpoint: after that projection-deferral hardening rebuild with `Result: Succeeded` / UnrealBuildTool `Total execution time: 400.77 seconds`, targeted `UnrealEditor-Cmd` automation exported `C:\HyperTwist_worktrees\phase10validate\UnrealHyperTwist\Saved\AutomationReports\Phase6C-DedicatedFamily-Optimized2\index.json` with all `11` `HyperTwist.FirstParty.HigherDimensional.Phase6C` tests passing, `totalDuration` `41.88494873046875`, and `LaunchExecution` duration `41.53509521484375`; the controller quiet interval fell again to `41.52 seconds` while retaining `**** TEST COMPLETE. EXIT CODE: 0 ****`
|
||||
- [x] Replace the current placeholder interactive-scene envelopes with full owned `120-cell` and `5D` simulation-state, projection, and persistence ownership in Unreal above the landed higher-dimensional scene-context catalog
|
||||
- [x] Replace the current shared-map execution bridge with full owned dedicated-family interactive launch, map, and persistence surfaces for `120-cell` and `5D`
|
||||
|
||||
|
|
@ -575,4 +577,9 @@ Recommended next widening order:
|
|||
rerun on `localhost:22022` still passed all `11`
|
||||
`HyperTwist.FirstParty.HigherDimensional.Phase6C` tests while dropping the
|
||||
long `LaunchExecution` quiet interval from `385.00` to `195.58` seconds
|
||||
- `2026-06-18`: the next `Phase 6C` hardening pass then deferred repository-
|
||||
view projection across the internal generated-mode launch handoff itself, and
|
||||
the same `localhost:22022` lane still passed all `11`
|
||||
`HyperTwist.FirstParty.HigherDimensional.Phase6C` tests while dropping the
|
||||
`LaunchExecution` quiet interval again from `195.58` to `41.52` seconds
|
||||
- later classic-cube polish only when a concrete presentation gap remains, not as the default next move
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ repo.
|
|||
| Higher-dimensional initial shared-map launch and view-context execution bridge | Implemented now | landed `Phase 6C` continuation packet | First-party current code first bundled higher-dimensional launch surfaces and view-context surfaces for `Magic120Cell` and `MagicCube5D`, resolved those surfaces through the training runtime library plus the live training panel/session-actor caches, and let the training subsystem start the shared-map seed run, apply default selector posture, persist the generated-mode launch request, and start the owned generated run without widening into external-process ownership. After recovering an interrupted follow-up, the primary reverse-SSH `localhost:22022` Windows lane rebuilt that cleaned slice on `2026-06-18` with `Result: Succeeded`, UnrealBuildTool `Total execution time: 124.81 seconds`, and passed all `8` `HyperTwist.FirstParty.HigherDimensional.Phase6C` tests, including `LaunchCatalog`, `ViewContextCatalog`, `LaunchExecution`, and `RunStateActivationResolution`; that initial bridge is now superseded by the later dedicated-family map ownership continuation. |
|
||||
| Higher-dimensional explicit dedicated-host seam | Implemented now | landed `Phase 6C` host-surface continuation packet | First-party current code then recorded the preferred dedicated-family `Magic120Cell` / `MagicCube5D` host-map targets in an explicit higher-dimensional host-surface catalog while the slice still kept the shared training map as the interim effective runtime fallback, mirrored that resolved host seam through the training runtime library plus the panel/session caches, and threaded the host-surface id into the launch/view-context surfaces and generated-mode lineage. The primary reverse-SSH `localhost:22022` Windows lane rebuilt this widened slice on `2026-06-18` with `Result: Succeeded`, UnrealBuildTool `Total execution time: 2858.02 seconds`, and passed all `9` `HyperTwist.FirstParty.HigherDimensional.Phase6C` tests, including the new `HostCatalog`; that interim fallback is now superseded by the later dedicated-family map ownership continuation. |
|
||||
| Higher-dimensional executed runtime session surface | Implemented now | landed `Phase 6C` session-surface continuation packet | First-party current code now merges the higher-dimensional launch, host, and view-context seams into an explicit runtime-session catalog for `Magic120Cell` and `MagicCube5D`, mirrors that session surface through the training runtime library plus the panel/session caches, upgrades generated-mode deck lineage to record the resolved session surface, and applies the merged launch-plus-view selector posture at start time instead of only the narrower launch defaults. The primary reverse-SSH `localhost:22022` Windows lane rebuilt this widened slice on `2026-06-18` with `Result: Succeeded`, UnrealBuildTool `Total execution time: 3541.98 seconds`, and passed all `10` `HyperTwist.FirstParty.HigherDimensional.Phase6C` tests, including the new `SessionCatalog`; the longer `LaunchExecution` quiet interval of `573.84 seconds` remained known-good. |
|
||||
| Higher-dimensional dedicated-family interactive scene ownership | Implemented now | landed `Phase 6C` interactive-scene and dedicated-host continuation packet | First-party current code now promotes the higher-dimensional runtime-session seams into explicit `Magic120Cell` and `MagicCube5D` interactive-scene surfaces with family-owned runtime-state, projection, and persistence envelopes, replaces the shared-map bridge with dedicated-family training-map assets plus dedicated host/launch/view-context/session surfaces, exposes explicit scene-envelope decoders through the runtime library, and batches default selector application so generated-mode launch execution no longer rebuilds repository views once per selector. The primary reverse-SSH `localhost:22022` Windows lane rebuilt the dedicated-family ownership slice on `2026-06-18` with `Result: Succeeded`, UnrealBuildTool `Total execution time: 1648.33 seconds`; the follow-up hardening rebuild completed in `93.44 seconds`, and the exported automation report passed all `11` `HyperTwist.FirstParty.HigherDimensional.Phase6C` tests with `totalDuration` `196.08790588378906`, `LaunchExecution` duration `195.65591430664062`, and the controller quiet interval reduced to `195.58 seconds`. |
|
||||
| Higher-dimensional dedicated-family interactive scene ownership | Implemented now | landed `Phase 6C` interactive-scene and dedicated-host continuation packet | First-party current code now promotes the higher-dimensional runtime-session seams into explicit `Magic120Cell` and `MagicCube5D` interactive-scene surfaces with family-owned runtime-state, projection, and persistence envelopes, replaces the shared-map bridge with dedicated-family training-map assets plus dedicated host/launch/view-context/session surfaces, exposes explicit scene-envelope decoders through the runtime library, batches default selector application so generated-mode launch execution no longer rebuilds repository views once per selector, and then defers repository-view projection across the internal generated-mode handoff itself so only the final launch state forces a view refresh. The primary reverse-SSH `localhost:22022` Windows lane rebuilt the dedicated-family ownership slice on `2026-06-18` with `Result: Succeeded`, UnrealBuildTool `Total execution time: 1648.33 seconds`; the later projection-deferral hardening rebuild completed in `400.77 seconds`, and the exported automation report passed all `11` `HyperTwist.FirstParty.HigherDimensional.Phase6C` tests with `totalDuration` `41.88494873046875`, `LaunchExecution` duration `41.53509521484375`, and the controller quiet interval reduced to `41.52 seconds`. |
|
||||
| Broad non-Euclidean interaction shell and host ownership | Deep-source grounded retained | `MagicTile` retained remainder | Broad interaction-shell, WinForms/OpenTK host ownership, and generic runtime replacement remain deferred after the landed `Phase 6R-T` slice. |
|
||||
|
||||
### 7. Speech input and voice sidecars
|
||||
|
|
|
|||
|
|
@ -172,10 +172,17 @@ Current consolidated milestone snapshot:
|
|||
exported automation report passed all `11`
|
||||
`HyperTwist.FirstParty.HigherDimensional.Phase6C` tests with
|
||||
`LaunchExecution` duration `195.65591430664062`
|
||||
- `2026-06-18`: the next `Phase 6C` hardening pass then deferred repository-
|
||||
view projection across the internal generated-mode launch handoff, rebuilt
|
||||
the same `localhost:22022` lane with `Result: Succeeded`, UnrealBuildTool
|
||||
`Total execution time: 400.77 seconds`, and the exported automation report
|
||||
again passed all `11` `HyperTwist.FirstParty.HigherDimensional.Phase6C`
|
||||
tests with `totalDuration` `41.88494873046875` and `LaunchExecution`
|
||||
duration `41.53509521484375`
|
||||
- the functional `Phase 6C` ownership gap is now closed; the remaining work
|
||||
in this lane is launch-execution performance hardening and richer
|
||||
dedicated-family authored map content, not missing activation, host,
|
||||
session, interactive-scene, runtime-state, or persistence ownership seams
|
||||
in this lane is optional further micro-profiling and richer dedicated-family
|
||||
authored map content, not missing activation, host, session,
|
||||
interactive-scene, runtime-state, or persistence ownership seams
|
||||
|
||||
- the canonical HyperTwist repo-row portfolio is now treated as `75` rows, not `71`
|
||||
- currently implemented rows are now `35`, not `20`
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue