# HyperTwist Phase 6R-N HactarCE/Hyperspeedcube puzzle-definition DSL implementation packet

Created on `2026-05-22`

## Status

- first-party HyperTwist packet
- bounded permissive `Phase 6R-N` implementation slice

## Purpose

This packet lands the final currently justified retained family from the `HactarCE/Hyperspeedcube`
runtime-anchor row:

- first-party hyper puzzle-definition DSL authoring contract and module/evaluation boundary

It is not:

- a whole `Hyperspeedcube` runtime transplant
- a donor viewer or editor shell packet
- a generic scripting-platform packet
- a broader analytics, publication, or host-shell ownership packet

## Current authority basis

This implementation packet stands on:

- `docs/REPO_LICENSE_TRACKING.md`
- `docs/ops/HYPERTWIST_CROSS_LANE_AUTHORITY_HIERARCHY_AND_RECONCILIATION_2026-05-20.md`
- `docs/arch/HYPERTWIST_PHASE6R_N_HYPERSPEEDCUBE_PUZZLE_DEFINITION_DSL_PREPARATION_PACKET_2026-05-22.md`

The retained owner remains:

- `HactarCE/Hyperspeedcube`

The top-level runtime-anchor owner does not change here:

- first-party HyperTwist remains the broader runtime owner
- this packet keeps `HactarCE/Hyperspeedcube` bounded to the narrower `A1 / R1 / F2`
  puzzle-definition DSL authoring slice

## Landed scope

The current code now owns a retained `Hyperspeedcube` DSL contract through:

- the existing first-party `UHyperTwistTrainingHyperspeedcubeLibrary`
- retained package references for:
  - Hyperpuzzlescript entrypoints
  - module/file-store loading
  - runtime registration
  - engine callbacks
  - HPS-thread request bridging
  - parser grammar
  - puzzle-authoring builtins
  - source-emission helpers
  - built-in FT-cube authoring example
- one bounded DSL contract for:
  - syntax and grammar shape
  - generator-authoring builtins
  - bounded diagnostics
  - example authoring evidence
- one bounded DSL boundary for:
  - built-in HPS extraction
  - module-path normalization and `index.hps` folding
  - engine registry routing
  - blocking HPS-thread evaluation and non-reentrant request rules
- updated donor-attribution boundary
- runtime-library accessors and package-checklist export through:
  - `UHyperTwistTrainingRuntimeLibrary`
- focused automation coverage in:
  - `HyperTwistHyperspeedcubePhase6RNPuzzleDslContractTest.cpp`

## Why this is still intentionally bounded

This packet lands the retained DSL seam, but it does not widen into neighboring families or
broader product ownership.

Still excluded:

- whole runtime-anchor ownership
- whole puzzle catalog ownership
- whole puzzle corpus ownership
- viewer or editor shell ownership
- generic scripting-platform ownership

## Validation

Build validation:

- `C:\Program Files\Epic Games\UE_5.7\Engine\Build\BatchFiles\Build.bat UnrealHyperTwistEditor Win64 Development -Project='C:\HyperTwist\UnrealHyperTwist\UnrealHyperTwist.uproject' -WaitMutex -NoHotReloadFromIDE`

Focused automation validation:

- `C:\Program Files\Epic Games\UE_5.7\Engine\Binaries\Win64\UnrealEditor-Cmd.exe C:\HyperTwist\UnrealHyperTwist\UnrealHyperTwist.uproject -unattended -nop4 -nosplash -NullRHI -log -stdout -FullStdOutLogOutput -AbsLog=C:\HyperTwist\UnrealHyperTwist\Saved\Logs\Phase6R-N-Hyperspeedcube-Verify.log -ReportExportPath=C:\HyperTwist\UnrealHyperTwist\Saved\AutomationReports\Phase6R-N-Hyperspeedcube-Verify -ExecCmds="Automation RunTests HyperTwist.Permissive.Hyperspeedcube.Phase6R.N; Quit" -TestExit="Automation Test Queue Empty"`

Regression automation validation:

- `HyperTwist.Permissive.Hyperspeedcube.Phase6R.M`
- `HyperTwist.Permissive.Hyperspeedcube.Phase6R.L`
- `HyperTwist.Permissive.Hyperspeedcube.Phase6R.K`
- `HyperTwist.Permissive.Hyperspeedcube.Phase6R.A`
- `HyperTwist.Permissive.MagicCube5D.Phase6R.J`
- `HyperTwist.Permissive.Magic120Cell.Phase6R.I`
- `HyperTwist.Permissive.MagicTile.Phase6R.D`
- `HyperTwist.CleanRoom.CubeDesk`

Expected covered tests:

- `DslContract`
- `DslBoundary`
- `PackageChecklist`
- existing `Hyperspeedcube`, `MagicCube5D`, `Magic120Cell`, `MagicTile`, and `CubeDesk`
  regression suites

## Queue effect

This packet consumes the current `Phase 6R-N` implementation slice.

`HactarCE/Hyperspeedcube` is now closed for the currently justified retained families:

- landed now:
  - puzzle catalog contract
  - notation contract
  - replay-log serialization boundary
  - replay verification boundary
  - stats-shape and solve-record boundary
  - puzzle-definition DSL authoring contract
  - puzzle-definition DSL module/evaluation boundary
- no current additional widening is justified from this row by default

The next clean move is:

- source-backed `Phase 6R-O` `kkoomen/qbr` webcam UI shell preparation/control pass

Keep the future sequencing guards visible:

- keep the next widening slice on `qbr` webcam UI shell rather than widening directly into bundled
  font redistribution, multilingual solve shell, or multi-face correction/explanation ownership
- preserve the existing legal guard that `src/assets/arial-unicode-ms.ttf` must be confirmed or
  replaced before any redistribution path ships it
