# HyperTwist Lightweight Classic-Cube Simulator Duplicate Retirement Reconciliation - 2026-05-27

## Status

This document is the source-backed reconciliation note for the current
lightweight classic-cube simulator comparison row across:

- `MathewKJ2048/Rubiks-cube-simulator`
- the current first-party replay, training-history, and bounded
  classic-cube explanation surfaces
- the already-retained `AviKaufman/Rubix-cube-trainer`, `alinen/cube`, and
  `vwcwong/CubeSim` rows

It answers one narrow question:

- does the current `MathewKJ2048/Rubiks-cube-simulator` source require
  reopening already landed HyperTwist packets or keeping any active retained
  clean-room slice before a future simulator-adjacent packet is considered

Result:

- no product-code reopening is required
- no surviving unique retained slice remains
- yes selective authority backfill is required so the older scrubbed
  `Model A` note is explicitly historical only rather than a live clean-room
  candidate

## Source basis

- `C:\HyperTwist\docs\HYPERTWIST_PHASE_0R_PACKET_0R_E_EVALUATION_2026-05-13.md`
- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`
- `C:\Workspaces\HyperTwist\repos.manifest.json`
- `C:\Workspaces\HyperTwist\clean-room-specs\mathewkj2048-rubiks-cube-simulator.model-a.md`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\MathewKJ2048\Rubiks-cube-simulator\README.md`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\MathewKJ2048\Rubiks-cube-simulator\src\Main.java`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\MathewKJ2048\Rubiks-cube-simulator\src\GUI_Cube.java`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\MathewKJ2048\Rubiks-cube-simulator\src\Cube_solver.java`
- `C:\Workspaces\HyperTwist\mirrors\restrictive\MathewKJ2048\Rubiks-cube-simulator\src\cube\Cube.java`
- 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 |
| --- | --- | --- | --- | --- | --- |
| Lightweight move grammar, visible move history, timed step playback, and beginner staged-solve simulator shell | current first-party replay/history surfaces plus the already-retained `AviKaufman`, `alinen`, and `CubeSim` rows | historical comparison only | no active route; reference-only custody | none active | discard remains correct and no active retained slice survives |

## Why no product-code reopening is required

### `MathewKJ2048/Rubiks-cube-simulator`

The donor does expose a compact beginner simulator surface:

- lightweight text and button move-command grammar
- user-visible move-history logging
- timed solve-step playback
- compact simulator state mutation
- beginner layer-by-layer solve presentation

Those qualities are real, but they are not unique enough to survive as an
active retained owner slice.

The current source also confirms the weakness of the row:

- GUI, playback, command entry, and beginner-solver logic are tightly coupled
- the architecture is monolithic compared with stronger retained rows
- the beginner-solver value is narrower and less readable than the stronger
  retained pedagogy and state/history benchmarks

### Current first-party and retained benchmark surfaces

HyperTwist already has stronger live or retained owners for the only meaningful
ideas surfaced by this row:

- current first-party replay/history surfaces already own the live move-history
  and playback lane
- `AviKaufman/Rubix-cube-trainer` remains the stronger guided-pedagogy and
  stepwise tutorial benchmark
- `alinen/cube` remains the stronger task-planner and focus-playback benchmark
- `vwcwong/CubeSim` remains the clearer renderer-independent state/history and
  beginner-solver benchmark

After that partition, no exact sub-slice remains that this repo owns more
strongly than the current retained set or the live first-party product.

## 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\mathewkj2048-rubiks-cube-simulator.model-a.md`

### Manifest row reopened

- `C:\Workspaces\HyperTwist\repos.manifest.json`

### Reason

The original `0R-E` discard decision remained correct, but the older scrubbed
note was stale because it still read like a future clean-room candidate. This
pass closes that gap.

### Change class

- repo-local extraction did not change
- discard interpretation was confirmed rather than reversed
- dependent canon was sharpened so the row stays historical only
- no product-code change occurred

### What remained valid

- the original `0R-E` decision to discard this row from the active retained set
  remained valid
- the restrictive `GPL-3.0` posture remained valid
- the manifest's inactive `reference-only` posture remained valid

### What changed

The dependent canon now makes the exact inactive role explicit:

- keep this row only as historical comparison context
- do not treat the scrubbed `Model A` note as active implementation authority
- keep live playback/history ownership with current first-party replay surfaces
- keep retained pedagogy, planner, and readable beginner-solver benchmark
  ownership with `AviKaufman`, `alinen`, and `CubeSim`

## Propagation result

### Feature registry

No change was needed.

No active or retained feature slice survived this pass, so no feature-registry
entry needed to be added or sharpened.

### 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, manifest row, and scrubbed historical note were sharpened
instead.

## Operational answer

Before any future classic-cube helper, lesson, or simulator-adjacent packet is
considered, the correct move was this evaluation and selective backfill pass
first.

After this pass:

- do not reopen product code from `Phase 6R-AG` onward because of this row
- do not schedule donor, clean-room, or implementation work from this row
- use this row only as historical comparison context unless future authority
  explicitly reopens it
