# HyperTwist Phase 2R Packet 2R-A Ownership And Acceptance Contract

Created on `2026-05-13`

## Status

`Phase 2R / Packet 2R-A` is now `closed`.

This packet converts the core retained `0R-A` rows from source-evaluated donors into implementation-ready ownership contracts.

It does not redo source parsing.

That source-value work already lives in:

- [HYPERTWIST_PHASE_0R_PACKET_0R_A_EVALUATION_2026-05-12.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_0R_PACKET_0R_A_EVALUATION_2026-05-12.md:1)
- [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1)

This packet answers the next question instead:

- what each retained core repo is allowed to own in first-party HyperTwist
- what each repo is explicitly not allowed to own
- which first-party contracts must exist before widening is accepted
- which phase each repo may enter next

## Purpose

`Phase 1R` closed retained-set routing.

`Phase 2R-A` closes the first ownership gap inside that routing for the core permissive anchors and the earliest subsystem candidate:

- `HactarCE/Hyperspeedcube`
- `kkoomen/qbr`
- `vivaansinghvi07/rubix-cube-solver`
- `Aarav2709/KubeTimr`
- `roice3/MagicTile`

These five rows define the critical entry points for:

- hyper runtime and puzzle contracts
- recognition and reconstruction contracts
- timer and stats contracts
- topology and non-Euclidean geometry contracts

Without this packet, future instances would still be able to widen the right repos for the wrong reasons.

## Authority boundary

Use the documents in this order for these five rows:

1. this packet for subsystem ownership, acceptance markers, and phase entry
2. [HYPERTWIST_PHASE_0R_PACKET_0R_A_EVALUATION_2026-05-12.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_0R_PACKET_0R_A_EVALUATION_2026-05-12.md:1) for source-value extraction and exclusion rationale
3. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1) for license, attribution, notice, and provenance obligations
4. [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) for retained-set routing

Document responsibilities are strict:

- `0R-A` owns source-value extraction and non-promotion rationale
- `REPO_LICENSE_TRACKING.md` owns repo-row legal detail
- this packet owns ownership boundaries, acceptance markers, and packet entry sequencing for the five core rows

## Packet licensing snapshot

- `HactarCE/Hyperspeedcube`: `MIT OR Apache-2.0`
- `kkoomen/qbr`: `MIT`
- `vivaansinghvi07/rubix-cube-solver`: `MIT`
- `Aarav2709/KubeTimr`: `MIT`
- `roice3/MagicTile`: `MIT`

## Packet result

`2R-A` freezes the following routing:

- `Aarav2709/KubeTimr` is the only row in this packet that may widen directly in `Phase 3R`
- `HactarCE/Hyperspeedcube`, `kkoomen/qbr`, `vivaansinghvi07/rubix-cube-solver`, and `roice3/MagicTile` are contract-frozen now, but their implementation widening stays scheduled for `Phase 6R`
- none of the five rows are newly proven live in checked Unreal surfaces

Implementation entry result:

| Repo | Ownership class | Earliest widening phase | Packet entry |
| --- | --- | --- | --- |
| `Aarav2709/KubeTimr` | bounded timer subsystem owner | `Phase 3R` | `3R-A` |
| `HactarCE/Hyperspeedcube` | runtime-side hyper foundation anchor | `Phase 6R` | `6R-A` |
| `kkoomen/qbr` | recognition calibration nucleus | `Phase 6R` | `6R-B` |
| `vivaansinghvi07/rubix-cube-solver` | reconstruction / correction / explanation companion | `Phase 6R` | `6R-C` |
| `roice3/MagicTile` | topology / non-Euclidean geometry / macro donor | `Phase 6R` | `6R-D` |

## Core ownership matrix

| Subsystem | Primary owner from this packet | Explicit support owner | Explicitly denied owner |
| --- | --- | --- | --- |
| Runtime catalog, DSL, notation, replay, verification, stats shape | `HactarCE/Hyperspeedcube` | `roice3/MagicTile` for geometry-side concepts only | `roice3/MagicTile`, `kkoomen/qbr`, `Aarav2709/KubeTimr`, `vivaansinghvi07/rubix-cube-solver` |
| Capture calibration and perceptual color matching | `kkoomen/qbr` | `vivaansinghvi07/rubix-cube-solver` | `vivaansinghvi07/rubix-cube-solver` as the primary calibration owner |
| Reconstruction correction, frame voting, browser-side explanation | `vivaansinghvi07/rubix-cube-solver` | `kkoomen/qbr` as capture input | `kkoomen/qbr` as the full explanation shell |
| Timer, inspection, splits, stats, persistence | `Aarav2709/KubeTimr` | none in this packet | every other `2R-A` row |
| Non-Euclidean topology, geometry-family, transform-aware macros | `roice3/MagicTile` | `HactarCE/Hyperspeedcube` runtime anchor | `roice3/MagicTile` as the runtime-base owner |

## Repo contracts

### `HactarCE/Hyperspeedcube`

Ownership granted:

- first-party puzzle catalog contract
- first-party puzzle-definition DSL boundary
- notation grammar and serialization boundary
- replay-event taxonomy and verification boundary
- stats-shape and solve-record contract
- runtime-side abstraction for higher-dimensional puzzle state and view/simulation separation

Ownership denied:

- do not let this repo own the entire app shell
- do not let this repo dictate Rust-specific packaging, workspace layout, or UI-shell structure
- do not let this repo absorb non-Euclidean topology ownership that `MagicTile` keeps beneath the runtime anchor

Acceptance markers before widening may start:

- define a first-party puzzle catalog contract with puzzle identifiers, metadata, tags, and registration boundaries
- define a first-party puzzle-definition DSL contract with parser boundary, error surface, and load lifecycle
- define a first-party notation contract covering tokens, transforms, rotations, serialization, and validation hooks
- define a replay and verification contract covering event ordering, partial twists, trust/verification flags, and solve validation
- define a stats contract covering category identity, PB surfaces, and solve summary payloads
- explicitly record what is being reauthored first-party rather than transplanted from the Rust app shell

Earliest widening route:

- `Phase 6R / Packet 6R-A`

### `kkoomen/qbr`

Ownership granted:

- first-party calibration profile contract
- perceptual color-matching and face-color normalization contract
- contour discovery, ordering, and face-completeness extraction contract
- scan-session state contract for capture and normalized face payload output

Ownership denied:

- do not let this repo own browser-side correction or explanation flow
- do not let this repo own the overall multi-size solve shell
- do not let direct webcam or terminal UI glue become the retained product boundary

Acceptance markers before widening may start:

- define a first-party calibration profile schema and persistence boundary
- define a first-party color-sampling and perceptual distance contract
- define a first-party contour acceptance, ordering, and face-grid extraction contract
- define a first-party scan-session contract that emits stable normalized face data for downstream reconstruction
- define explicit error and low-confidence states instead of assuming a single-frame happy path

Earliest widening route:

- `Phase 6R / Packet 6R-B`

### `vivaansinghvi07/rubix-cube-solver`

Ownership granted:

- first-party reconstruction session contract beyond raw capture
- frame-voting and orientation-stabilization companion contract
- browser-side correction / confirmation / explanation contract
- solve transport and normalized move/explanation contract
- multi-size staging boundary for reconstruction and explanation

Ownership denied:

- do not let this repo displace `qbr` as the primary calibration nucleus
- do not let this repo own HyperTwist's general product shell
- do not let the exact frontend stack or TwistySim coupling become required architecture

Acceptance markers before widening may start:

- define a first-party reconstruction session contract that consumes calibrated face payloads and emits validated cube states
- define a frame-voting / confidence / orientation-stabilization contract
- define a correction and confirmation surface contract for operator-side fixes before solve playback
- define a transport contract for `init`, frame/session updates, `finish`, and normalized solve output
- define a move-normalization and human-readable explanation contract separated from any specific frontend library

Earliest widening route:

- `Phase 6R / Packet 6R-C`

### `Aarav2709/KubeTimr`

Ownership granted:

- first-party timer state machine
- inspection, penalty, and split model
- solve-session persistence and stats aggregation contract
- scramble-visualization and replay support contract for timer workflows

Ownership denied:

- do not widen this row into a general training-platform owner
- do not let it own broad curriculum, recognition, or hyper-runtime architecture
- do not let its UI shell dictate the product-wide frontend surface

Acceptance markers before widening may start:

- define a first-party timer state contract including idle, inspection, solving, paused, complete, and penalty states
- define a split contract covering manual or generated split identity, ordering, and edit behavior
- define a stats contract covering session aggregates, PB summaries, rolling averages, and solve history payloads
- define a persistence contract for solves, sessions, local/offline storage, and import/export boundaries
- define a scramble visualization / replay contract that is timer-scoped rather than product-wide

Earliest widening route:

- `Phase 3R / Packet 3R-A`

### `roice3/MagicTile`

Ownership granted:

- first-party topology and geometry-family contract beneath the runtime anchor
- generalized puzzle-construction and loader contract for non-Euclidean or tiling-driven puzzle spaces
- transform-aware macro and twist-transport contract
- non-Euclidean tiling, polytope, and topology-analysis concept ownership

Ownership denied:

- do not let this repo replace `Hyperspeedcube` as the runtime-base owner
- do not let the WinForms/OpenTK shell dictate HyperTwist product architecture
- do not let this repo absorb the generic trainer, timer, or recognition stack

Acceptance markers before widening may start:

- define a first-party geometry-family and topology descriptor contract
- define a first-party generalized puzzle loader boundary for topology-derived constructions
- define a first-party macro transport contract that can express transform-aware and topology-aware twists
- define the integration boundary between the `Hyperspeedcube` runtime anchor and `MagicTile` geometry/topology enrichments
- explicitly record which legacy shell surfaces are excluded as non-owned host glue

Earliest widening route:

- `Phase 6R / Packet 6R-D`

## Dependency order

The packeted dependency order is now explicit:

1. `Aarav2709/KubeTimr` may widen first as `3R-A` because it is the bounded, low-coupling subsystem lane
2. `HactarCE/Hyperspeedcube` must freeze before the geometry/topology or recognition anchors widen, because it owns the runtime-side core contract surface
3. `kkoomen/qbr` must freeze before `vivaansinghvi07/rubix-cube-solver` widening, because calibration is upstream of reconstruction and correction
4. `roice3/MagicTile` widens only after the runtime anchor contract is fixed beneath it

## Packet-close result

`Phase 2R-A` is now closed as the ownership and acceptance authority for the five core retained rows above.

At the time `2R-A` closed, the next bounded move was `Phase 2R-B`.

That packet is now also closed.

Current forward routing now lives in:

- [HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md:1)
- [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)
