Document green packaged gate and next-phase reopening

This commit is contained in:
axiomlogicnexus 2026-06-11 19:24:29 +00:00
parent 5c6305d563
commit 32abad5d19
6 changed files with 71 additions and 16 deletions

View file

@ -242,9 +242,10 @@ for the full 29-repo queue and per-repo wiring posture.
- `scripts/Invoke-HyperTwistClassicCubePackage.ps1`
- `scripts/Launch-HyperTwistClassicCubePackage.ps1`
- [x] Define the temporary package-gate boot route explicitly as `/Engine/Maps/Templates/OpenWorld?game=/Script/UnrealHyperTwist.HyperTwistClassicCubeGameMode` until the dedicated `L_HyperTwist_ClassicTraining` map exists
- [ ] Package `UnrealHyperTwist` for Windows (not just Editor build)
- [ ] Launch packaged build on Windows host
- [ ] Verify: cube visible, clickable, scramble applies, timer works, solve detected
- [x] Package `UnrealHyperTwist` for Windows (not just Editor build)
- [x] Launch packaged build on Windows host
- [x] Verify: cube visible, clickable, scramble applies, timer works, solve detected
- [x] Validation evidence on `2026-06-11`: isolated Windows worktree `C:\HyperTwist_worktrees\phase3pkg`, reverse-SSH fallback lane `localhost:22023`, `Build.bat` editor build `Succeeded`, `BuildCookRun` `ExitCode=0`, archive output in `C:\HyperTwist_worktrees\phase3pkg_packaged`, and packaged smoke boot succeeded through `scripts/Launch-HyperTwistClassicCubePackage.ps1`
**Estimated actions:** 2030
**Estimated time:** 12 days
@ -255,6 +256,8 @@ for the full 29-repo queue and per-repo wiring posture.
**Prerequisite:** Phase 1A (rob-twophase) + Phase 2 (renderer) + Phase 3C packaged gate GREEN
**Widening read after `2026-06-11` package proof:** the gate is now open. The more adequate next move is still to finish the separate Phase `3A` editor-owned `.umap` / light / material lane first, then widen into `4A` solver hints and follow-along because that deepens the core training loop without adding the extra microphone/provider/device surface of Phase `5`.
### 4A — Solver HUD Integration
- [ ] Add "Hint" button to HUD
- [ ] On click: query solver for next optimal move from current state
@ -280,6 +283,8 @@ for the full 29-repo queue and per-repo wiring posture.
**Prerequisite:** Phase 1B (freestyle) + Phase 1C (piper) + Phase 3C packaged gate GREEN
**Widening read after `2026-06-11` package proof:** this phase is no longer blocked by packaging, but it is still the lower-leverage immediate move versus Phase `4A` because speech widens operational surface area across capture devices, transcripts, audio routing, and provider-side orchestration. Treat it as reopened, not as the first move ahead of solver-guided training.
### 5A — Voice Command Input
- [ ] Add "Voice" button to HUD (or use freestyle global hotkey)
- [ ] On hotkey hold: capture microphone audio → stream to freestyle loopback
@ -448,16 +453,17 @@ for the full 29-repo queue and per-repo wiring posture.
| 318 test files, 0 gameplay | 30+ targeted tests, 1 controller-owned classic-cube runtime loop |
| 1,142 docs, 20 content assets | Docs trimmed to functional truth |
| No donor repos linked | C++ repos compiled and linked |
| No .uasset, .umap | Procedural geometry + first-party runtime loop, with level packaging still pending |
| No .uasset, .umap | Procedural geometry + first-party runtime loop, with packaged validation now green and dedicated map assets still pending |
---
## Immediate Next Step
**Phase 3A + 3C:** first playable level packaging and presentation proof. The repaired
code lane now owns browser-shell authority, click/touch interaction, scramble playback,
HUD timing, fresh-attempt restart, and orbit-camera ownership in first-party code. The remaining next move is
content/presentation/package proof that cannot be fully closed from the current text-only lane:
**Phase 3A after packaged-gate closure:** the repaired code lane now owns browser-shell authority,
click/touch interaction, scramble playback, HUD timing, fresh-attempt restart, orbit-camera
ownership, and a green Windows packaged proof. The remaining next move is the editor-owned
content/presentation lane, followed by a re-run of the same packaged gate after those authored
assets land:
- `AHyperTwistClassicCubeActor` with geometry, rotation, click input, scramble
- `AHyperTwistClassicCubePlayerController` with left/right click, touch, and `R`-to-restart ownership
@ -466,9 +472,17 @@ content/presentation/package proof that cannot be fully closed from the current
- `UHyperTwistSolverLibrary` with rob-twophase two-phase solver
- `UHyperTwistBrowserWidget` with authoritative shell loading plus bundled-runtime/fallback browser bootstrapping
Editor-side work needed:
Already-proven package lane:
- source-owned package validation is green on `2026-06-11` via fallback reverse-SSH `localhost:22023`
- the isolated Windows worktree route avoids touching the dirty primary `C:\HyperTwist` checkout while still proving build, cook, stage, archive, and packaged smoke launch
Editor-side work still needed:
- Create 6 simple colored materials (White, Yellow, Green, Blue, Orange, Red)
- Optional polish-only replacement `WBP_HyperTwistGameHUD` if the first-party runtime widget should be visually upgraded beyond the code-built HUD
- Create `L_HyperTwist_ClassicTraining` level with cube actor, lights, and the orbit camera pawn placed or configured as the preferred presentation lane
- Add orbit-camera controls and any packaged-build specific presentation polish
- Package and launch the Windows build to prove the repaired runtime loop in a packaged environment
- Add any authored presentation polish that should live in assets rather than source
- Re-run `scripts/Invoke-HyperTwistClassicCubePackage.ps1` after the dedicated map lands so the same packaged proof is tied to the final presentation lane
Recommended widening order after the dedicated map pass:
- `Phase 4A` solver hint HUD and `Phase 4B` follow-along training
- `Phase 5` voice input and narration after the solver-guided loop is present

View file

@ -145,6 +145,33 @@ The sensitive runbook now carries the exact current Windows-side tunnel
commands, known-hosts scratch file, listener verification command, reverse-sync
commands, and the still-current password-backed login path.
## Addendum - 2026-06-11 (fallback lane package proof)
Live follow-up on `2026-06-11` established these additional facts:
- `22022` was no longer healthy for SSH in that session and should be treated as
unavailable when it refuses banner/auth
- `22023` was healthy again and returned the Windows shell identity
`desktop-ks3vghu\anthracite ace`
- the Windows host name still resolved as `DESKTOP-KS3VGHU`
- a dirty primary `C:\HyperTwist` checkout was intentionally left untouched
- the validated route instead used an isolated Windows worktree:
`C:\HyperTwist_worktrees\phase3pkg`
- a committed tree snapshot was streamed into that isolated worktree from the
Linux side, avoiding Windows Git credential and dirty-worktree hazards
- `Build.bat` for `UnrealHyperTwistEditor` succeeded from the isolated worktree
- `RunUAT BuildCookRun` succeeded from the same isolated worktree and archived to
`C:\HyperTwist_worktrees\phase3pkg_packaged`
- packaged smoke launch succeeded from
`C:\HyperTwist_worktrees\phase3pkg_packaged\Windows\UnrealHyperTwist.exe`
Operational rule added by this proof:
- if the primary Windows repo is dirty or lacks Git auth, do not force it clean
just to obtain Unreal validation
- prefer an isolated reverse-SSH worktree populated from the committed source
tree, then run build/package/smoke validation there
## Addendum - 2026-06-03 (stale-listener recovery)
Live follow-up on `2026-06-03` established this additional operational rule:

View file

@ -96,6 +96,16 @@ re-verified live on `2026-06-01` through `localhost:22022` on the VPS, and the
fallback lane on `localhost:22023` was exercised on `2026-06-03` after a
stale-listener incident on `22022`.
Additional live proof on `2026-06-11` closed the classic-cube packaged gate over
that same fallback lane: `22022` was refusing SSH, `22023` accepted the
connection, an isolated Windows worktree at
`C:\HyperTwist_worktrees\phase3pkg` was populated from the committed Linux tree,
`Build.bat` succeeded, `BuildCookRun` completed with `ExitCode=0`, archive
output was written to `C:\HyperTwist_worktrees\phase3pkg_packaged`, and the
packaged classic-cube smoke boot succeeded. This means the doctrine now has live
proof not just for editor builds, but for full package/cook/archive/launch
validation over the reverse-SSH lane as well.
Operational reading:
- use `localhost:22022` as the primary reverse-SSH lane

View file

@ -177,4 +177,4 @@ Current repaired note:
## Next Step
**Current next step after repair:** package-proof and presentation-proof work, not Phase 0. The repaired code lane already owns the authoritative browser shell, native-sidecar browser bridge, first-party classic-cube player controller, first-party orbit camera pawn, active-cube camera follow, above-floor validation-map cube spawn, and first-party timer/HUD loop including GUI or keyboard scramble restart. The remaining best move is to run the real Windows packaged-build gate through `scripts/Invoke-HyperTwistClassicCubePackage.ps1`, then keep the dedicated `.umap` plus material/light polish as the separate Unreal Editor asset lane.
**Current next step after repair:** the intended Phase 1 wiring question is closed and the Windows packaged-build gate is now green, so the remaining best move is no longer "prove packageability." The repaired code lane already owns the authoritative browser shell, native-sidecar browser bridge, first-party classic-cube player controller, first-party orbit camera pawn, active-cube camera follow, above-floor validation-map cube spawn, first-party timer/HUD loop including GUI or keyboard scramble restart, and a successful packaged smoke boot through `scripts/Invoke-HyperTwistClassicCubePackage.ps1`. The next best move is the separate Unreal Editor asset lane: dedicated `.umap`, simple authored materials, lights, and presentation tuning, followed by a repeat of the same packaged gate on that authored map. After that, widen into `Phase 4A` solver-guided training before `Phase 5` speech.

View file

@ -161,7 +161,7 @@ repo.
| Feature | Status | Primary authority | Notes |
|---|---|---|---|
| Native puzzle-state runtime | Implemented now | first-party runtime + landed donor packets | Core product identity. |
| Classic-cube playable runtime loop | Implemented now | first-party current code + landed timer/training substrate | First-party `AHyperTwistClassicCubeActor`, `AHyperTwistClassicCubeGameMode`, `AHyperTwistClassicCubePlayerController`, `AHyperTwistClassicCubeOrbitPawn`, and `UHyperTwistClassicCubeHUDWidget` now own the bounded classic-cube scramble/play/timer/solve loop with left-click, right-click, touch, middle-mouse drag orbit, scroll-wheel zoom, GUI or keyboard fresh-attempt restart, solved-state submission, active-cube orbit focus, and above-floor validation-map spawn in code. The current package-gate route is source-controlled through `scripts/Invoke-HyperTwistClassicCubePackage.ps1` and `scripts/Launch-HyperTwistClassicCubePackage.ps1` using the explicit classic-cube boot URL until the dedicated `.umap` lands. Packaged-build proof plus art/material/level polish remain separate next-step work. |
| Classic-cube playable runtime loop | Implemented now | first-party current code + landed timer/training substrate | First-party `AHyperTwistClassicCubeActor`, `AHyperTwistClassicCubeGameMode`, `AHyperTwistClassicCubePlayerController`, `AHyperTwistClassicCubeOrbitPawn`, and `UHyperTwistClassicCubeHUDWidget` now own the bounded classic-cube scramble/play/timer/solve loop with left-click, right-click, touch, middle-mouse drag orbit, scroll-wheel zoom, GUI or keyboard fresh-attempt restart, solved-state submission, active-cube orbit focus, and above-floor validation-map spawn in code. The package-gate route is source-controlled through `scripts/Invoke-HyperTwistClassicCubePackage.ps1` and `scripts/Launch-HyperTwistClassicCubePackage.ps1` using the explicit classic-cube boot URL until the dedicated `.umap` lands, and that route is now proven green on `2026-06-11` through the fallback reverse-SSH `localhost:22023` Windows lane plus packaged smoke boot. Dedicated `.umap`, art/material, and authored presentation polish remain separate editor-owned next-step work. |
| Classic-cubing semantic/runtime adapter | Implemented now | landed `cubing/cubing.js` packet | Live adapter family. |
| Classic-cubing semantic, bridge, and `MPL`-boundary reference grounding | Implemented now | `cubing/cubing.js` retained boundary-sensitive lane + first-party current code | Current live `Classic Cubing Semantics and Runtime` reference side includes seven rewritten first-party contract/reference targets grounded in `cubing/cubing.js`: semantics, geometry, viewer adapter, device boundary, search contract, Melinda bridge, and explicit `MPL` compliance-boundary notes. This does not displace the landed `Phase 4R-A` first-party owner lane, the separate `cubing/twisty.js` replay shell lane, the separate `cubing/alg.js` parser/AST lane, or the explicit practical `MPL` path and notice-retention boundary. |
| Seeded competition scramble workflow and lightweight scramble-operator shell adjuncts | Deep-source grounded retained | `cubing/cubing.js` retained lane + `cubing/mark3` / `cubing/scramble.cubing.net` successor evaluation | Source-backed successor surfaces sharpen competition-spec workflow and operator-shell expectations above the retained scramble and visualization seams, but they do not displace `cubing/cubing.js` or `cubing/twisty.js`; `scramble-display` remains comparison-only. |

View file

@ -44,13 +44,17 @@ Current consolidated milestone snapshot:
`C:\HyperTwist\docs\ops\HYPERTWIST_REVERSE_SSH_WINDOWS_BUILD_LANE_VERIFICATION_2026-06-01.md`
- the classic-cube Phase 3 lane is now split explicitly into:
- code-owned runtime closure already present in first-party code
- a real packaged Windows gate that still must run green
- a real packaged Windows gate, now proven green on `2026-06-11`
- a separate editor-owned `.umap` / lights / materials polish lane
- the current packaged validation bridge for that lane is source-controlled via
`C:\HyperTwist\scripts\Invoke-HyperTwistClassicCubePackage.ps1` and
`C:\HyperTwist\scripts\Launch-HyperTwistClassicCubePackage.ps1`
- `Phase 4` and `Phase 5` widening should not proceed ahead of the classic-cube
packaged gate; they reopen only after that gate is green
- the latest package proof used the verified fallback reverse-SSH lane on
`localhost:22023`, an isolated Windows worktree at
`C:\HyperTwist_worktrees\phase3pkg`, and a successful packaged smoke launch
- `Phase 4` and `Phase 5` widening are therefore reopened, but the preferred next
move remains the separate editor-owned dedicated-map/material/light closure
before solver and speech widening
- the canonical HyperTwist repo-row portfolio is now treated as `75` rows, not `71`
- currently implemented rows are now `35`, not `20`