Reconcile CubeSim state history hierarchy

This commit is contained in:
axiomlogicnexus 2026-05-27 05:02:29 +02:00
parent ccb97989c8
commit 4d7ba1491a
4 changed files with 211 additions and 3 deletions

View file

@ -0,0 +1,188 @@
# HyperTwist Classic-Cube State/History And Beginner-Solver Hierarchy Reconciliation - 2026-05-27
## Status
This document is the source-backed reconciliation note for the current
classic-cube state/history and beginner-solver family across:
- `vwcwong/CubeSim`
- the first-party canonical replay and training-history surfaces
- the landed bounded classic-cube `Phase 6R-Q`, `Phase 6R-R`, and `Phase 6R-S`
seams
It answers one narrow question:
- does the current `CubeSim` source require reopening already landed HyperTwist
replay/history or explanation packets before any future small classic-cube
helper packet is considered
Result:
- no product-code reopening is required
- yes selective authority backfill is required so the retained `CubeSim` slice
stays narrow and does not blur into the current first-party replay/history or
classic-cube explanation families
## Source basis
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_0R_PACKET_0R_E_EVALUATION_2026-05-13.md`
- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`
- `C:\HyperTwist\docs\v6_5_deep_manual_pack\HyperTwist\FEATURE_REGISTRY.md`
- `C:\Workspaces\HyperTwist\repos.manifest.json`
- `C:\Workspaces\HyperTwist\clean-room-specs\vwcwong-cubesim.model-a.md`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\vwcwong\CubeSim\README.md`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\vwcwong\CubeSim\src\cube\cube.py`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\vwcwong\CubeSim\src\cube\history_cube.py`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\vwcwong\CubeSim\src\cube\solver.py`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\vwcwong\CubeSim\src\scramble\parser.py`
- current first-party runtime and packet authority under:
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist`
- `C:\HyperTwist\docs\ops\HYPERTWIST_IMPLEMENTATION_PHASE_1_KICKOFF.md`
## Slice-local verdict
| Slice | Primary authority | Secondary value kept | Route | Width | Result |
| --- | --- | --- | --- | --- | --- |
| Landed canonical replay packet, replay-event schema, review analytics, and training attempt/solve/review histories | first-party replay and training surfaces | none required from `CubeSim` | existing landed permissive route | `F2` | unchanged live implementation owner |
| Landed bounded classic-cube reconstruction follow-up, solve-guidance stage ladder, correction explanation, and correction-resolution closure seams | first-party landed `Phase 6R-Q`, `Phase 6R-R`, and `Phase 6R-S` seams | none required from `CubeSim` | existing landed permissive route | `F2` | unchanged live implementation owner |
| Readable renderer-independent classic-cube state/history split, scramble parse/invert behavior, and beginner layer-by-layer decomposition benchmark for later clean-room lesson/debug/helper use | `vwcwong/CubeSim` | current first-party replay/history and classic-cube explanation families remain adjacent non-overlapping owners | `R4` now, `R3` only if an explicit clean-room packet is opened later | `F2` | restrictive benchmark authority kept explicit |
## Why no product-code reopening is required
### `vwcwong/CubeSim`
`CubeSim` still has retained value, but it is narrow:
- a readable sticker-array classic-cube kernel
- a clean split between base state mutation and optional move-history capture
- simple scramble parse, stringify, and inversion behavior
- a legible beginner `LBL` solve decomposition into explicit stages
That retained value is explicit in the current source:
- `cube.py` keeps state mutation and face-turn behavior renderer-independent
- `history_cube.py` layers move-history capture above the base cube class
- `parser.py` keeps scramble parse and invert behavior separate from rendering
- `solver.py` exposes the staged `solve_cross`, `solve_corners`,
`solve_middle_edges`, `solve_eoll`, `solve_ocll`, `solve_cpll`, and
`solve_epll` flow
Those strengths make `CubeSim` a good readable benchmark. They do not make it
the owner of HyperTwist's live replay/history or explanation families.
### Current first-party replay/history surfaces
HyperTwist already owns the current live replay/history family in first-party
code:
- `FHyperTwistReplayPacket` is the canonical replay event container
- training session state already carries a replay packet and replay event
- training session summaries already keep attempt, solve, and review history
families
Those surfaces are broader, more product-specific, and already live. `CubeSim`
does not reopen them.
### Landed classic-cube `Phase 6R-Q/R/S`
The landed classic-cube explanation and correction seams are already first-party
and bounded:
- correction state already routes into explicit recommended stages
- solve explanation already gates on reconstruction and correction completion
- the bounded stage ladder already resumes at `orient-centers`
`CubeSim`'s readable beginner-method solver decomposition does not reopen those
shell/state families. It only remains a later clean-room comparison surface if
HyperTwist ever wants a smaller helper or lesson-oriented classic-cube lane.
## Selective backfill result
### Earlier packet reopened
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_0R_PACKET_0R_E_EVALUATION_2026-05-13.md`
### Earlier standing note reopened
- `C:\Workspaces\HyperTwist\clean-room-specs\vwcwong-cubesim.model-a.md`
### Reason
Later comparison against the now-landed HyperTwist replay/history and
classic-cube explanation surfaces sharpened the exact retained `CubeSim` slice:
- `CubeSim` is not a generic replay owner
- `CubeSim` is not a generic explanation-shell owner
- `CubeSim` remains the readable clean-room benchmark only for the smaller
renderer-independent state/history split, scramble parse/invert, and
beginner `LBL` decomposition slice
### Change class
- repo-local extraction did not change
- cross-lane authority wording was sharpened for the exact retained slice
- no cleanup interpretation changed
- no product-code change occurred
### What remained valid
- the original `0R-E` decision to keep `CubeSim` restrictive and non-live
remained valid
- the current first-party replay/history surfaces remained valid
- the current first-party classic-cube `Phase 6R-Q/R/S` seams remained valid
- the existing scrubbed `Model A` handoff remained valid as a seed
### What changed
The dependent canon now makes the exact non-live role explicit:
- keep `CubeSim` only as the readable clean-room benchmark for the narrower
state/history and beginner-helper slice
- keep canonical replay and training-history ownership with the live
first-party surfaces
- keep bounded classic-cube explanation and correction ownership with the
landed `Phase 6R-Q/R/S` seams
## Propagation result
### Feature registry
Updated.
The registry now explicitly records the retained `CubeSim` benchmark slice
instead of leaving it implicit in the older `0R-E` packet alone.
### Cross-lane doctrine
No doctrine wording change was needed.
This pass applied the existing `A/R/F` hierarchy; it did not change the
hierarchy rules themselves.
### Skillization
No doctrine or `SKILLS.md` change was needed.
This pass did not create or reopen any command or skill surface.
### Legal evidence
No license-status or mirror-custody change occurred.
The repo-row tracker, feature registry, manifest, and scrubbed handoff were
sharpened instead.
## Operational answer
Before any future small classic-cube helper, lesson, or replay-adjacent packet
is opened, the correct move was this evaluation and selective backfill pass
first.
After this pass:
- do not reopen the live product code
- do not reinterpret `CubeSim` as proof that replay/history or explanation
ownership is still pending
- if HyperTwist later opens a true small classic-cube helper lane, start from
the retained `CubeSim` benchmark slice only and keep it clean-room routed
rather than donor-routed

View file

@ -493,6 +493,18 @@ Integration call:
- retain as a readable state/history and beginner-solver decomposition benchmark
- use only if a future first-party lesson or replay lane needs a small clean-room reference surface
- current `2026-05-27` reconciliation overlay:
- repo-local extraction unchanged
- cross-lane wording sharpened to `A1 + R4 + F2` for the exact retained
readable renderer-independent classic-cube state/history split,
scramble parse or invert behavior, and beginner `LBL` decomposition slice
- do not reinterpret the first-party canonical replay packet, training
attempt/solve/review history, or broader replay-review surfaces through
this row
- do not reopen the bounded classic-cube `Phase 6R-Q`, `Phase 6R-R`, and
`Phase 6R-S` shell/state families from this row
- use the `2026-05-27` classic-cube state/history hierarchy reconciliation
note for the current comparative authority call
### `AviKaufman/Rubix-cube-trainer`

View file

@ -1523,9 +1523,16 @@ Source basis:
Approved working posture:
- keep as a readable state/history and beginner-solver decomposition benchmark
- do not use directly in first-party HyperTwist
- preserve the existing scrubbed handoff only as a later clean-room seed beneath the `0R-E` packet authority
- keep it as `A1 + R4 + F2` only for the exact retained readable
renderer-independent classic-cube state/history split, scramble parse or
invert behavior, and beginner `LBL` decomposition benchmark slice
- do not use it directly in first-party HyperTwist and do not treat it as a
live replay/history owner or explanation-shell owner
- preserve the first-party canonical replay packet, training
attempt/solve/review history, and bounded classic-cube `Phase 6R-Q`,
`Phase 6R-R`, and `Phase 6R-S` seams as the current live owners
- preserve the existing scrubbed handoff only as a later clean-room seed
beneath the `0R-E` packet authority
### `AviKaufman/Rubix-cube-trainer`

View file

@ -153,6 +153,7 @@ repo.
| 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. |
| Replay shell and timeline | Implemented now | landed `cubing/twisty.js` bounded packets | Replay/runtime viewer family is real. |
| Algorithm/training semantic lane | Implemented now | landed `cubing/alg.js` bounded packets | Semantic/training contract is real. |
| Readable classic-cube state/history and beginner-helper benchmark | Deep-source grounded retained | `vwcwong/CubeSim` retained clean-room benchmark lane | Retained as `A1 + R4 + F2` only for a small renderer-independent classic-cube state/history split, scramble parse or invert behavior, and beginner `LBL` decomposition benchmark for later clean-room lesson/debug/helper use. This does not displace the first-party canonical replay packet, training attempt/solve/review history, or the bounded classic-cube `Phase 6R-Q/R/S` explanation and correction shells. |
| Large-`N` classic-cube center/edge/parity strategy | Deep-source grounded retained | `ShellPuppy/RCube` retained benchmark/oracle lane | Retained as `A1 + R4 + F2` only for large-`N` classic-cube center-stage planning, edge-pairing/parity handling, and virtual-rotation strategy. This does not displace the landed `Hyperspeedcube`, `MagicTile`, `Magic120Cell`, or `MagicCube5D` higher-dimensional runtime families, and it does not reopen the bounded classic-cube `Phase 6R-Q/R/S` shell/state seams. |
| Hyper puzzle catalog | Implemented now | `Hyperspeedcube` bounded packet | Current realized hyper-puzzle entry slice. |
| Hyper notation and replay-log serialization | Implemented now | landed `Hyperspeedcube` `Phase 6R-K` | Retained notation parse/format and log-serialization boundary are live. |