# HyperTwist Phase 0R Packet 0R-E Deep Source Evaluation

Created on `2026-05-13`

## Status

`Packet 0R-E` is now `closed` as a `Phase 0R` evaluation packet.

This packet applies the same deep-source standard already established by `0R-A`, `0R-B`, `0R-C`, and `0R-D`:

- read the upstream source directly
- salvage all meaningful value
- omit only when the surface is:
  - an inferior duplicate
  - superseded by a stronger retained donor
  - off topic to HyperTwist's retained product scope
  - host-shell glue with no durable architecture value
- record the rationale every time something is not promoted

For these twelve repos, this document is now the canonical `reference, benchmark, clean-room-later, and discard authority` packet.

Before a future instance implements, clean-rooms, benchmarks against, or discards any `0R-E` repo, it must read:

1. this document for source-value extraction, benchmark/reference/discard posture, and exclusion rationale
2. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1) for repo-row legal and provenance obligations
3. [HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md](C:/HyperTwist/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md:1) for sequencing

## Purpose

This packet redoes `Phase 0R-E` as a true deep source parsing packet for:

- `cs0x7f/cstimer`
- `brownan/Rubiks-Cube-Solver`
- `efrantar/rob-twophase`
- `aMonteSl/CodeXR`
- `MathewKJ2048/Rubiks-cube-simulator`
- `ShellPuppy/RCube`
- `vwcwong/CubeSim`
- `AviKaufman/Rubix-cube-trainer`
- `alinen/cube`
- `ambisinister/blindsolve`
- `brianpeiris/RiftSketch`
- `yakupbilen/drl-rubiks-cube`

It answers, repo by repo:

- what was actually read in source
- what value HyperTwist should salvage
- what is subordinate, duplicate, inferior, or off topic
- why that non-promotion decision was made
- which repo should own a domain when these rows overlap with stronger retained donors
- whether the row survives as benchmark, oracle, clean-room-later reservation, or discard

## 2026-05-14 intake and non-promotion clarification

This packet is source evidence plus evaluation judgment.

It must not be read as proof that any row here was automatically:

- favored merely because it was bookmarked earlier
- favored merely because it was queued earlier
- entitled to implementation merely because it remained documented
- a product fit by default
- implementation-authorized by default
- already implemented in first-party product surfaces

Future instances must keep the evaluation states separate:

- bookmarked = intake only
- queued = sequencing only
- source-read = evidence gathered
- retained = survived evaluation with preserved value
- product-fit = separate judgment about HyperTwist direction
- implementation-authorized = separate bounded build approval
- implemented = landed in first-party product surfaces

Rows that survive here as benchmark-only, reference-only, oracle-only, or clean-room-later reservations remain non-authorized until later doctrine says otherwise.

Use [HYPERTWIST_REPO_INTAKE_RETENTION_AND_PRODUCT_FIT_DOCTRINE_2026-05-14.md](C:/HyperTwist/docs/HYPERTWIST_REPO_INTAKE_RETENTION_AND_PRODUCT_FIT_DOCTRINE_2026-05-14.md:1) as the canonical anti-conflation doctrine and [HYPERTWIST_MODEL_A_MODEL_B_COORDINATOR_DOCTRINE_2026-05-14.md](C:/HyperTwist/docs/HYPERTWIST_MODEL_A_MODEL_B_COORDINATOR_DOCTRINE_2026-05-14.md:1) as the routing and implementation-state rule.

## Storage boundary

To stop future confusion, the storage boundary is explicit:

- `this packet doc`: source-value extraction, benchmark/reference/discard posture, overlap resolution, and exclusion rationale
- [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1): repo-row license, attribution, notice, publication, and provenance obligations
- existing `C:\Workspaces\HyperTwist\clean-room-specs\*.md` files for `0R-E` rows: historical seeds only unless this packet explicitly keeps the row active for later clean-room use
- [HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md](C:/HyperTwist/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md:1): row state and next-step board
- [HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md](C:/HyperTwist/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md:1): packet sequencing and restart phases
- [HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md](C:/HyperTwist/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md:1): cross-location authority routing

This packet is a `Phase 0R` closure authority doc, not a blanket implementation handoff.

Rows retained only as benchmarks or references do not become donor-approved merely because they remain documented here.

## Packet licensing snapshot

- `cs0x7f/cstimer`: `GPL-3.0`
- `brownan/Rubiks-Cube-Solver`: `GPL-3.0`
- `efrantar/rob-twophase`: `GPL-3.0`
- `aMonteSl/CodeXR`: `GPL-3.0-only`
- `MathewKJ2048/Rubiks-cube-simulator`: `GPL-3.0`
- `ShellPuppy/RCube`: `GPL-3.0`
- `vwcwong/CubeSim`: `GPL-3.0`
- `AviKaufman/Rubix-cube-trainer`: `All Rights Reserved`
- `alinen/cube`: `no explicit license visible`
- `ambisinister/blindsolve`: `no explicit license visible`
- `brianpeiris/RiftSketch`: `MIT`
- `yakupbilen/drl-rubiks-cube`: `MIT`

## Inputs used

This rewrite used:

- current reset docs in `C:\HyperTwist\docs`
- current mirrors under:
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\cs0x7f\cstimer`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\brownan\Rubiks-Cube-Solver`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\efrantar\rob-twophase`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\aMonteSl\CodeXR`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\MathewKJ2048\Rubiks-cube-simulator`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\ShellPuppy\RCube`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\vwcwong\CubeSim`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\AviKaufman\Rubix-cube-trainer`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\alinen\cube`
  - `C:\Workspaces\HyperTwist\mirrors\restrictive\ambisinister\blindsolve`
  - `C:\Workspaces\HyperTwist\mirrors\permissive\brianpeiris\RiftSketch`
  - `C:\Workspaces\HyperTwist\mirrors\permissive\yakupbilen\drl-rubiks-cube`
- preexisting clean-room docs for selected rows under:
  - `C:\Workspaces\HyperTwist\clean-room-specs\brownan-rubiks-cube-solver.model-a.md`
  - `C:\Workspaces\HyperTwist\clean-room-specs\brownan-rubiks-cube-solver.oracle.md`
  - `C:\Workspaces\HyperTwist\clean-room-specs\vwcwong-cubesim.model-a.md`
  - `C:\Workspaces\HyperTwist\clean-room-specs\avi-kaufman-rubix-cube-trainer.model-a.md`
  - `C:\Workspaces\HyperTwist\clean-room-specs\alinen-cube.model-a.md`
  - `C:\Workspaces\HyperTwist\clean-room-specs\ambisinister-blindsolve.model-a.md`
  - `C:\Workspaces\HyperTwist\clean-room-specs\mathewkj2048-rubiks-cube-simulator.model-a.md`
- checked live Unreal surfaces under:
  - `C:\HyperTwist\UnrealHyperTwist\Source`
  - `C:\HyperTwist\UnrealHyperTwist\Content\HyperTwistTraining\MaterializedCatalog`

## Live-state result

Current live-evidence check result for all twelve `0R-E` repos:

- no exact live-surface match found in checked Unreal source or materialized catalog

That means:

- none of these twelve are currently proven live in checked Unreal surfaces
- all decisions in this packet are retention, benchmark, clean-room-later, or discard decisions only

## Packet-wide hierarchy

This packet does not treat all twelve rows as equal.

| Domain | Primary retained owner | Secondary retained owner | Non-promotion rule |
| --- | --- | --- | --- |
| Competitive timer, stats, scramble, persistence, and smart-device behavior benchmarking | `cs0x7f/cstimer` | `Aarav2709/KubeTimr`, `kash/cubedesk` | Keep `cstimer` as the benchmark/oracle owner only. Do not let its mature browser shell turn into direct donor approval. |
| Compact optimal-ish solver correctness and heuristic-table clean-room-later planning | `brownan/Rubiks-Cube-Solver` | `efrantar/rob-twophase` | Keep `brownan` as the cleaner compact solver oracle. Use `efrantar` as the performance and robot-metric comparator, not as the first clean-room target. |
| Large-cube centers, edges, parity, and orientation-virtualized rotation strategy | `ShellPuppy/RCube` | none in `0R-E` | Keep it narrowly as large-`N` algorithm reference. Do not widen it into a general HyperTwist runtime owner. |
| Guided pedagogy and stepwise solver-state UX | `AviKaufman/Rubix-cube-trainer` | `alinen/cube`, `vwcwong/CubeSim` | Keep `AviKaufman` as the strongest guided-lesson benchmark. `alinen` owns planner/task segmentation; `vwcwong` owns readable history/solver decomposition. `MathewKJ2048` does not survive this lane. |
| Blindfold memo micro-mode behavior | `ambisinister/blindsolve` | none in `0R-E` | Keep it as a narrow memo benchmark only. Do not widen it into a general trainer or solver donor. |
| Learned heuristic search and training experimentation | `yakupbilen/drl-rubiks-cube` | none in `0R-E` | Keep it as a research bench, not as a product-shell donor or core training-system replacement. |
| XR collaboration and live-coding shells | none retained | `aMonteSl/CodeXR`, `brianpeiris/RiftSketch` discarded | Those repos expose interesting subfeatures, but HyperTwist already has better retained rows for XR runtime, collaboration, capture, and replay. Do not keep these as active donor rows. |

## Packet outcome summary

- retained: `9`
- discarded from the active retained set: `3`
- newly proven live: `0`

Retained rows:

- `cs0x7f/cstimer`
- `brownan/Rubiks-Cube-Solver`
- `efrantar/rob-twophase`
- `ShellPuppy/RCube`
- `vwcwong/CubeSim`
- `AviKaufman/Rubix-cube-trainer`
- `alinen/cube`
- `ambisinister/blindsolve`
- `yakupbilen/drl-rubiks-cube`

Discarded active-set rows:

- `aMonteSl/CodeXR`
- `MathewKJ2048/Rubiks-cube-simulator`
- `brianpeiris/RiftSketch`

Most important scheduling consequences:

- the reference, benchmark, reserve, and discard backlog is now closed as a `Phase 0R` evaluation class
- `Phase 0R` is now fully closed across all `65` non-live rows
- nine `0R-E` rows survive only as bounded benchmark, oracle, or clean-room-later reservations
- three `0R-E` rows are now removed from the active retained implementation set
- the next clean move is `Phase 1R`, not another `Phase 0R` packet

## Repo evaluations

### `cs0x7f/cstimer`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/README.md:1)
- [src/js/cstimer.js](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/src/js/cstimer.js:1)
- [src/js/kernel.js](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/src/js/kernel.js:1)
- [src/js/timer.js](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/src/js/timer.js:1)
- [src/js/stats/stats.js](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/src/js/stats/stats.js:1)
- [src/js/scramble/scramble.js](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/src/js/scramble/scramble.js:1)
- [src/js/lib/puzzlefactory.js](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/src/js/lib/puzzlefactory.js:1)
- [src/js/hardware/gancube.js](C:/Workspaces/HyperTwist/mirrors/restrictive/cs0x7f/cstimer/src/js/hardware/gancube.js:1)

Licensing posture:

- `GPL-3.0`
- retain only as a restrictive benchmark/oracle and future clean-room timer-pattern lane
- do not route direct donor code into first-party HyperTwist

High-value salvage:

- `kernel.js` exposes a mature event and property bus that cleanly separates settings, module listeners, and UI reactions
- `timer.js` carries a real timer-state machine with explicit ready, inspection, running, and multi-phase transitions rather than a simplistic stopwatch shell
- `stats.js` is donor-grade benchmark material for solve persistence, penalty handling, rolling averages, filters, ranking, and reconstruction URLs
- `scramble.js` shows a large registry-driven scramble architecture with type registration, formatted scramble generation, state filters, and probability control
- `puzzlefactory.js` preserves the puzzle-viewer adapter boundary between timing flow and puzzle visualization
- `gancube.js` is strategically valuable benchmark material for smart-cube BLE discovery, characteristic routing, manufacturer-data handling, and encrypted GAN request/response flows

Subordinate or later value:

- the browser/PWA shell is not the retained center of gravity
- the legacy jQuery host UI is implementation detail, not target architecture
- some scramble- and tool-module breadth is valuable mainly because it defines expectations, not because HyperTwist should mirror the exact module graph

Non-promotion decisions and rationale:

- do not promote the full product shell as donor value: `strong GPL benchmark, not direct donor`
- do not let `cstimer` displace `KubeTimr` as the earliest permissive timer implementation lane: `permissive-first sequencing`
- do not flatten its hardware and stats surfaces into generic "timer app" language: `hidden-value preservation`

Integration call:

- retain as the primary restrictive timer, stats, scramble, and smart-device benchmark/oracle row
- use it in `Phase 1R` and later `Phase 3R` acceptance planning to define first-party timer parity targets
- if a future clean-room timer lane is opened, start from a fresh scrubbed dossier rather than ordinary donor intake

### `brownan/Rubiks-Cube-Solver`

Inspected source surfaces:

- [README.rst](C:/Workspaces/HyperTwist/mirrors/restrictive/brownan/Rubiks-Cube-Solver/README.rst:1)
- [cube.c](C:/Workspaces/HyperTwist/mirrors/restrictive/brownan/Rubiks-Cube-Solver/cube.c:1)
- [goal.c](C:/Workspaces/HyperTwist/mirrors/restrictive/brownan/Rubiks-Cube-Solver/goal.c:1)
- [main.c](C:/Workspaces/HyperTwist/mirrors/restrictive/brownan/Rubiks-Cube-Solver/main.c:1)

Licensing posture:

- `GPL-3.0`
- retain as a restrictive solver oracle and clean-room-later target
- Model B may only work from scrubbed first-party handoff material if this lane is ever opened

High-value salvage:

- compact `20`-cubie representation with position and orientation encoded in a small fixed state
- precomputed move and affected-cubie tables rather than repeatedly mutating large sticker surfaces
- split heuristic tables for corners and edges
- clear iterative deepening A* solve path with a small and legible search core
- a useful benchmark distinction between "written from scratch" compact solver architecture and larger product-shell solvers

Subordinate or later value:

- the CLI wrapper and standalone solver flow are not the retained center
- it is a classic `3x3` correctness lane, not a curriculum or UX donor

Non-promotion decisions and rationale:

- do not promote it as a broad product donor: `oracle lane only`
- do not let it replace `Hyperspeedcube` or the training donors in product ownership: `domain mismatch`
- do not prefer `efrantar` over it for future first-party clean-room solver recreation: `brownan is more compact and legible`

Integration call:

- retain as the primary compact solver oracle and clean-room-later heuristic/search benchmark
- preserve its current scrubbed materials, but treat this packet as the authority on why it survives
- if HyperTwist later needs a first-party classical solver lane, open it from a fresh scrubbed acceptance-contract pass

### `efrantar/rob-twophase`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/efrantar/rob-twophase/README.md:1)
- [src/cubie.cpp](C:/Workspaces/HyperTwist/mirrors/restrictive/efrantar/rob-twophase/src/cubie.cpp:1)
- [src/coord.cpp](C:/Workspaces/HyperTwist/mirrors/restrictive/efrantar/rob-twophase/src/coord.cpp:1)
- [src/solve.cpp](C:/Workspaces/HyperTwist/mirrors/restrictive/efrantar/rob-twophase/src/solve.cpp:1)

Licensing posture:

- `GPL-3.0`
- retain as a restrictive solver oracle and performance benchmark
- do not promote to direct donor or near-term clean-room target

High-value salvage:

- strong coordinate compression and decode/encode discipline
- multi-table phase architecture with move-table and pruning-table emphasis
- multi-threaded search structure
- explicit robot, axial, QT, and F5 metric handling
- strong performance benchmark value for solver-quality comparison rather than product-shell reuse

Subordinate or later value:

- CLI/program wrapper is subordinate
- many search details are valuable mainly as validation and comparison inputs, not as product architecture

Non-promotion decisions and rationale:

- do not prefer it over `brownan` as the cleaner first future clean-room candidate: `higher complexity and narrower robot emphasis`
- do not promote it as donor code: `GPL oracle benchmark only`
- do not let specialized robot metrics distort near-term HyperTwist implementation priority: `later validation lane`

Integration call:

- retain as a secondary solver oracle focused on metric comparison, search quality, and performance expectations
- use it for solver validation and research benchmarking, not for near-term feature scheduling

### `aMonteSl/CodeXR`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/README.md:1)
- [src/extension.ts](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/src/extension.ts:1)
- [src/core/startup/startupCoordinator.ts](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/src/core/startup/startupCoordinator.ts:1)
- [src/code_analysis/engine/analysisOrchestrator.ts](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/src/code_analysis/engine/analysisOrchestrator.ts:1)
- [src/code_analysis/engine/core/analysisSession.ts](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/src/code_analysis/engine/core/analysisSession.ts:1)
- [src/servers/runtime/multiServerLauncher.ts](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/src/servers/runtime/multiServerLauncher.ts:1)
- [templates/components/codexr/virtual-screen/virtualScreenRuntime.js](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/templates/components/codexr/virtual-screen/virtualScreenRuntime.js:1)
- [src/servers/runtime/broadcast/screenBroadcastSignalingServer.ts](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/src/servers/runtime/broadcast/screenBroadcastSignalingServer.ts:1)
- [templates/components/codexr/collaboration/codexrCollaborationRuntime.js](C:/Workspaces/HyperTwist/mirrors/restrictive/aMonteSl/CodeXR/templates/components/codexr/collaboration/codexrCollaborationRuntime.js:1)

Licensing posture:

- `GPL-3.0-only`
- discard from the active HyperTwist retained set
- keep only as historical reference context if a future operator wants to compare collaboration/XR ideas

High-value salvage:

- a clean deferred startup queue in `startupCoordinator.ts`
- a centralized session/orchestration model for launching heterogeneous analysis modes
- dynamic multi-server launch and active-registry patterns
- collaborative XR presence and screen-broadcast runtime patterns

Subordinate or later value:

- almost the entire VS Code extension host, code-analysis engine, and BabiaXR chart pipeline is off-domain for HyperTwist
- virtual screen and collaboration value is generic infrastructure rather than cubing-domain donor value

Non-promotion decisions and rationale:

- discard from the active donor set because its strongest surface is `off topic` to HyperTwist's retained product scope
- discard because its valuable generic subfeatures are already better covered by retained rows:
  - `pmndrs/xr` for XR runtime-side strategy
  - `screenpipe/screenpipe` for capture/history/replay
  - `PostHog/posthog` for instrumentation and session controls
  - `remotion-dev/remotion` for media export/explainer sidecars
- do not keep a speculative GPL-heavy repo active for generic side value alone: `governance discipline`

Integration call:

- discard from the active HyperTwist retained set
- do not schedule clean-room or direct implementation work from this row

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

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/MathewKJ2048/Rubiks-cube-simulator/README.md:1)
- [src/Main.java](C:/Workspaces/HyperTwist/mirrors/restrictive/MathewKJ2048/Rubiks-cube-simulator/src/Main.java:1)
- [src/GUI_Cube.java](C:/Workspaces/HyperTwist/mirrors/restrictive/MathewKJ2048/Rubiks-cube-simulator/src/GUI_Cube.java:1)
- [src/Cube_solver.java](C:/Workspaces/HyperTwist/mirrors/restrictive/MathewKJ2048/Rubiks-cube-simulator/src/Cube_solver.java:1)
- [src/cube/Cube.java](C:/Workspaces/HyperTwist/mirrors/restrictive/MathewKJ2048/Rubiks-cube-simulator/src/cube/Cube.java:1)

Licensing posture:

- `GPL-3.0`
- discard from the active retained set
- existing clean-room seed material should be treated as historical only, not active

High-value salvage:

- lightweight move grammar and cube-history playback ideas
- beginner-method staging as a didactic concept

Subordinate or later value:

- GUI and solver are tightly coupled
- solver code is weaker and more dated than stronger retained pedagogy/planner rows
- architecture is monolithic compared with clearer retained alternatives

Non-promotion decisions and rationale:

- discard as an `inferior duplicate`
- `AviKaufman/Rubix-cube-trainer` is the stronger guided-lesson benchmark
- `alinen/cube` is the stronger task/planner benchmark
- `vwcwong/CubeSim` is the more readable state/history/beginner-solver benchmark

Integration call:

- discard from the active HyperTwist retained set
- do not schedule further clean-room or direct work from this row
- current `2026-05-27` reconciliation overlay:
  - repo-local extraction unchanged
  - source-backed comparison confirmed the discard remains correct
  - no surviving unique retained slice remains after the current first-party
    replay/history family plus the retained `AviKaufman`, `alinen`, and
    `CubeSim` partition
  - treat the older scrubbed `Model A` note as historical only, not as active
    clean-room authority

### `ShellPuppy/RCube`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/ShellPuppy/RCube/README.md:1)
- [RCube/Cube.h](C:/Workspaces/HyperTwist/mirrors/restrictive/ShellPuppy/RCube/RCube/Cube.h:1)
- [RCube/Cube.cpp](C:/Workspaces/HyperTwist/mirrors/restrictive/ShellPuppy/RCube/RCube/Cube.cpp:1)
- [RCube/CubeViewer.cpp](C:/Workspaces/HyperTwist/mirrors/restrictive/ShellPuppy/RCube/RCube/CubeViewer.cpp:1)

Licensing posture:

- `GPL-3.0`
- retain as a large-cube algorithm benchmark and clean-room-later research input
- do not promote to near-term donor or runtime owner

High-value salvage:

- orientation-virtualized face-turn handling rather than brute-force sticker reshuffling
- staged large-`N` solve framing for centers, corners, and edges
- parity and edge-handling logic for bigger cubes
- benchmark value for future large-cube widening, not just classic `3x3`

Subordinate or later value:

- MFC/Windows viewer shell is not relevant donor value
- exact legacy UI/export surfaces are subordinate to the algorithmic core

Non-promotion decisions and rationale:

- do not promote to active runtime donor: `niche scope and restrictive license`
- do not discard: `large-cube algorithm value is not duplicated elsewhere in the retained set`

Integration call:

- retain as benchmark/reference only for later large-cube widening
- revisit only if HyperTwist explicitly opens a post-`Phase 6R` large-`N` lane
- current `2026-05-27` reconciliation overlay:
  - repo-local extraction unchanged
  - cross-lane wording sharpened to `A1 + R4 + F2` for the exact retained
    large-`N` classic-cube center-stage, edge-pairing/parity, and
    virtual-rotation strategy slice
  - do not reinterpret the landed `Hyperspeedcube`, `MagicTile`,
    `Magic120Cell`, or `MagicCube5D` packets 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` large-`N` hierarchy reconciliation note for the
    current comparative authority call

### `vwcwong/CubeSim`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/vwcwong/CubeSim/README.md:1)
- [src/cube/cube.py](C:/Workspaces/HyperTwist/mirrors/restrictive/vwcwong/CubeSim/src/cube/cube.py:1)
- [src/cube/history_cube.py](C:/Workspaces/HyperTwist/mirrors/restrictive/vwcwong/CubeSim/src/cube/history_cube.py:1)
- [src/scramble/generator.py](C:/Workspaces/HyperTwist/mirrors/restrictive/vwcwong/CubeSim/src/scramble/generator.py:1)
- [src/cube/solver.py](C:/Workspaces/HyperTwist/mirrors/restrictive/vwcwong/CubeSim/src/cube/solver.py:1)

Licensing posture:

- `GPL-3.0`
- retain as clean-room-later benchmark material
- do not use directly in first-party HyperTwist

High-value salvage:

- readable sticker-array cube state model
- clean split between state, history, scramble generation, and solver
- useful beginner-method solver decomposition into explicit procedural stages
- history semantics that can inform replay, undo, and explanation flows without tying the design to a renderer

Subordinate or later value:

- classic `3x3` scope only
- overall shell is basic compared with retained training donors

Non-promotion decisions and rationale:

- do not promote to donor or product-shell owner: `subordinate to stronger retained training lanes`
- do retain because it is a more legible clean-room benchmark than the discarded `MathewKJ2048` row

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`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/AviKaufman/Rubix-cube-trainer/README.md:1)
- [package.json](C:/Workspaces/HyperTwist/mirrors/restrictive/AviKaufman/Rubix-cube-trainer/package.json:1)
- [src/main.ts](C:/Workspaces/HyperTwist/mirrors/restrictive/AviKaufman/Rubix-cube-trainer/src/main.ts:1)

Licensing posture:

- `All Rights Reserved`
- retain only as clean-room pedagogy benchmark material
- no direct incorporation path exists

High-value salvage:

- strong guided-tutorial state machine
- per-step solve-prefix logic for lesson progression
- queue-based lesson and animation flow
- oversolve detection and step-satisfaction handling, which is real pedagogical value rather than simple rendering

Subordinate or later value:

- large monolithic `main.ts` host shell is not the desired architecture
- rendering and `cubejs` dependency usage are subordinate to the tutorial semantics

Non-promotion decisions and rationale:

- do not promote to donor use: `all-rights-reserved benchmark only`
- do not discard because its pedagogy value is stronger than several weaker simulator rows
- do not treat it as a foundation: `focused teaching-shell benchmark`

Integration call:

- retain as the primary clean-room pedagogy benchmark for stepwise beginner-method lesson behavior
- if first-party lesson implementation opens later, start from scrubbed pedagogy contracts, not repo code
- current `2026-05-27` reconciliation overlay:
  - repo-local extraction unchanged
  - cross-lane wording sharpened to `A1 + R4 + F2` for the exact retained
    named-milestone lesson-state, oversatisfied-step explanation, bounded
    step-help, and manual-turn/tutorial-coherence benchmark slice
  - do not reinterpret the current first-party training-session,
    method-drill, or coaching queue/follow-up 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` guided classic-cube pedagogy hierarchy
    reconciliation note for the current comparative authority call

### `alinen/cube`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/alinen/cube/README.md:1)
- [Assets/Scripts/CubeAnalyzer.cs](C:/Workspaces/HyperTwist/mirrors/restrictive/alinen/cube/Assets/Scripts/CubeAnalyzer.cs:1)
- [Assets/Scripts/CubePlanner.cs](C:/Workspaces/HyperTwist/mirrors/restrictive/alinen/cube/Assets/Scripts/CubePlanner.cs:1)
- [Assets/Scripts/CubeTaskSolver.cs](C:/Workspaces/HyperTwist/mirrors/restrictive/alinen/cube/Assets/Scripts/CubeTaskSolver.cs:1)
- [Assets/Scripts/CubeStateManager.cs](C:/Workspaces/HyperTwist/mirrors/restrictive/alinen/cube/Assets/Scripts/CubeStateManager.cs:1)
- [Assets/Scripts/CubeController.cs](C:/Workspaces/HyperTwist/mirrors/restrictive/alinen/cube/Assets/Scripts/CubeController.cs:1)

Licensing posture:

- `no explicit license visible`
- retain only as clean-room planner benchmark material
- direct incorporation is not permitted without a later explicit grant

High-value salvage:

- task-oriented solve planner rather than one monolithic solver pass
- scoring against constraints in `CubeTaskSolver`
- explicit task queue progression and focus-cue flow in `CubePlanner`
- useful state-manager layer/pivot grouping logic in `CubeStateManager`
- command queue and animation staging in `CubeController`

Subordinate or later value:

- `CubeAnalyzer` is effectively empty
- Unity host shell and absolute-axis command framing are not retained center value

Non-promotion decisions and rationale:

- do not promote to direct donor: `no visible license`
- do retain because planner/task segmentation is not fully duplicated elsewhere
- keep beneath `AviKaufman` for guided pedagogy ownership and beneath retained permissive core donors for runtime ownership

Integration call:

- retain as a clean-room planner and step-segmentation benchmark
- if future teaching work needs planner-style explicit tasks, start from scrubbed task contracts rather than source reuse

2026-05-27 hierarchy overlay:

- `alinen/cube` remains `A1 + R4 + F2` only for the retained lesson-task
  graph, bounded task-local planner, focus-cue targeting, and queued
  move-demonstration slice
- do not reinterpret the current first-party training-session, method-drill,
  coaching queue/follow-up, canonical replay, or bounded classic-cube
  `Phase 6R-Q`, `Phase 6R-R`, and `Phase 6R-S` shell/state families through
  this row
- use
  `C:\HyperTwist\docs\HYPERTWIST_GUIDED_CLASSIC_CUBE_TASK_PLANNER_AND_FOCUS_PLAYBACK_HIERARCHY_RECONCILIATION_2026-05-27.md`
  as the current comparative authority before later clean-room work

### `ambisinister/blindsolve`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/ambisinister/blindsolve/README.md:1)
- [main.py](C:/Workspaces/HyperTwist/mirrors/restrictive/ambisinister/blindsolve/main.py:1)
- [cube.py](C:/Workspaces/HyperTwist/mirrors/restrictive/ambisinister/blindsolve/cube.py:1)
- [algs.py](C:/Workspaces/HyperTwist/mirrors/restrictive/ambisinister/blindsolve/algs.py:1)

Licensing posture:

- `no explicit license visible`
- retain only as clean-room BLD memo benchmark material
- direct incorporation is not permitted without a later explicit grant

High-value salvage:

- narrow blindfold memo workflow instead of generic face-turn solving
- letter-pair setup/execute/reveal concept
- simple but clear cube-net visualization that supports memory confirmation rather than twisty control
- OP-method letter mapping as domain reference for memo UX expectations

Subordinate or later value:

- hardcoded algorithm tables are not donor-approved value
- shell is narrow and intentionally minimal

Non-promotion decisions and rationale:

- do not widen it into general trainer ownership: `extremely narrow scope`
- do not discard because the memo-practice behavior is specific and still strategically distinct
- do not promote source reuse: `no visible license`

Integration call:

- retain as clean-room benchmark material for any future BLD memo micro-mode
- keep it narrow and separate from broader trainer or solver implementation lanes

2026-05-27 hierarchy overlay:

- `ambisinister/blindsolve` remains `A1 + R4 + F2` only for the retained
  blindfold memo attempt-phase, conceal/reveal validation, letter-pair token
  input, parity-aware memo expectation, and lightweight repeat-cadence slice
- do not reinterpret the current first-party timing-policy templates,
  coaching-memory/follow-up surfaces, replay-verification blindfold event
  taxonomy, or broader memory doctrine through this row
- use
  `C:\HyperTwist\docs\HYPERTWIST_BLINDFOLD_MEMO_ATTEMPT_AND_VALIDATION_HIERARCHY_RECONCILIATION_2026-05-27.md`
  as the current comparative authority before later clean-room work

### `brianpeiris/RiftSketch`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/brianpeiris/RiftSketch/README.md:1)
- [js/Sketch.js](C:/Workspaces/HyperTwist/mirrors/permissive/brianpeiris/RiftSketch/js/Sketch.js:1)
- [js/SketchController.js](C:/Workspaces/HyperTwist/mirrors/permissive/brianpeiris/RiftSketch/js/SketchController.js:1)
- [js/RiftSandbox.js](C:/Workspaces/HyperTwist/mirrors/permissive/brianpeiris/RiftSketch/js/RiftSandbox.js:1)
- [js/Files/Cube.js](C:/Workspaces/HyperTwist/mirrors/permissive/brianpeiris/RiftSketch/js/Files/Cube.js:1)

Licensing posture:

- `MIT`
- discard from the active HyperTwist retained set

High-value salvage:

- hot-reload live sketch loop
- immersive textarea and monitor composition
- VR sandbox structure for interactive code-driven scene editing

Subordinate or later value:

- the entire product is a VR live-coding shell
- the included cube scene is only a sample sketch, not a cubing product subsystem

Non-promotion decisions and rationale:

- discard from the active donor set because the core value is `off topic` to HyperTwist's retained roadmap
- do not keep it active just because it is permissive: `topic fit still matters`
- generic XR prototyping value is already better covered by retained XR/runtime rows

Integration call:

- discard from the active HyperTwist retained set
- do not schedule implementation work from this row

### `yakupbilen/drl-rubiks-cube`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/yakupbilen/drl-rubiks-cube/README.md:1)
- [cube/cube.py](C:/Workspaces/HyperTwist/mirrors/permissive/yakupbilen/drl-rubiks-cube/cube/cube.py:1)
- [search/search.py](C:/Workspaces/HyperTwist/mirrors/permissive/yakupbilen/drl-rubiks-cube/search/search.py:1)
- [train/train_utils.py](C:/Workspaces/HyperTwist/mirrors/permissive/yakupbilen/drl-rubiks-cube/train/train_utils.py:1)
- [networks/modelpaper.py](C:/Workspaces/HyperTwist/mirrors/permissive/yakupbilen/drl-rubiks-cube/networks/modelpaper.py:1)
- [networks/getNetwork.py](C:/Workspaces/HyperTwist/mirrors/permissive/yakupbilen/drl-rubiks-cube/networks/getNetwork.py:1)

Licensing posture:

- `MIT`
- retain as research and experimentation benchmark material
- do not promote to direct donor or committed implementation lane

High-value salvage:

- concise one-hot `54`-sticker state encoding and move-application tables
- anti-cancellation move-sequence generation for training data
- ADI-style target generation and weighted training preparation
- batch A* search with neural evaluation
- clear value-network shape in `modelpaper.py`

Subordinate or later value:

- the repo is research and experimentation heavy rather than product-shell strong
- training infrastructure is more important than UI or end-user product behavior

Non-promotion decisions and rationale:

- do not promote above the committed perception, training, and runtime core donors: `research bench only`
- do not discard because the learned-heuristic search lane remains strategically distinct
- do not treat permissive status as proof of near-term implementation priority

Integration call:

- retain as MIT research benchmark material for `54`-sticker transition
  encoding, `ADI` state generation, batched neural search experimentation, and
  future solver-evaluation work
- do not reinterpret the repo as a live camera/perception or product-shell
  donor
- revisit only if HyperTwist explicitly opens a first-party ML search or
  experimentation lane

## Phase 0R closure result

`Phase 0R` is now fully closed.

Final non-live evaluation result:

- packet-evaluated non-live rows: `65` of `65`
- remaining `Phase 0R` backlog: `0`

Phase-wide retained split after `0R-E`:

- straight permissive candidates: `43`
- boundary-sensitive candidates: `6`
- restrictive clean-room candidates: `4`
- reference, benchmark, or clean-room-later rows still retained: `9`
- discarded from the active retained set during `0R-E`: `3`

Next move:

- `Phase 1R` is now closed:
  - [HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md:1)
- use that document as the retained-set routing authority before any `Phase 2R+` packet design or widening
- the next bounded move is `Phase 2R` retained-set ratification and packet design
