# 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.

## 2026-05-14 ownership-routing clarification

This packet records ownership and acceptance boundaries for retained rows.

It does not retroactively collapse the earlier evaluation states.

For every row in this packet, future instances must still keep separate:

- bookmarked = intake only
- queued = sequencing only
- source-read = evidence gathered
- retained = survived evaluation
- product-fit = separate judgment that the retained value belongs in HyperTwist direction
- implementation-authorized = explicit bounded phase entry approval
- implemented = actually landed in first-party product surfaces

Therefore:

- appearance in this packet is not a claim that earlier bookmark or queue position had merit value
- retained status here is not proof of broad product ownership beyond the bounded lane described here
- phase entry permission here is not proof that implementation has already happened

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) for the state vocabulary 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) for the authority-path reading rule.

## 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)
