Close HyperTwist Phase 4R packet 4R-A

This commit is contained in:
axiomlogicnexus 2026-05-13 19:27:44 +02:00
parent 68a56e6cb8
commit 20a8582918
23 changed files with 1958 additions and 111 deletions

View file

@ -1,13 +1,13 @@
{
"generated_at": "2026-05-13T19:00:00Z",
"slice": "catalog-materialization",
"slice_status": "closed",
"counts": {
"content_packs": 14,
"track_manifests": 14,
"deck_import_specs": 498,
"runtime_content_bundles": 498,
"reference_targets": 36,
"overlap_pruned_exclusions": 36
}
}
"generated_at": "2026-05-13T22:00:00Z",
"slice": "catalog-materialization",
"slice_status": "closed",
"counts": {
"content_packs": 14,
"track_manifests": 14,
"deck_import_specs": 498,
"runtime_content_bundles": 498,
"reference_targets": 43,
"overlap_pruned_exclusions": 43
}
}

View file

@ -1,5 +1,5 @@
{
"generated_at": "2026-05-13T19:00:00Z",
"generated_at": "2026-05-13T22:00:00Z",
"reference_targets": [
{
"ReferenceTargetId": "reference/speedcubedb-course-reference-page-speedcubedb-root",
@ -1476,6 +1476,300 @@
"Preserve bounded state, gesture, and motion semantics while rewriting the surfaced control shell in first-party HyperTwist language.",
"This target pairs with the compiled Phase 3R-F state and motion contract."
]
},
{
"ReferenceTargetId": "reference/cubing-cubing-js-semantic-reference-page-stack",
"SurfaceType": "classic-cubing-semantic-reference",
"TrackTitle": "Classic Cubing Semantics and Runtime",
"ItemTitle": "Classic-Cubing Semantic and State Contract",
"IncorporationChannel": "semantic-contract",
"TargetAssetFamily": "semantic-contract-note",
"PuzzleFamily": "ClassicCube",
"NotationProfile": "classic-wca",
"SourceAttribution": {
"SourceMode": "DirectDonor",
"SourceRepo": "cubing/cubing.js",
"SourceLicense": "MPL-2.0 OR GPL-3.0-or-later",
"SourceTrackId": "classic-cubing/semantic-contract",
"SourceDeckId": "",
"SourceCaseId": "",
"SourceNotes": "First-party HyperTwist semantic target preserving KPuzzle, transformation, notation, and binary interop semantics from cubing.js through the practical MPL-side adapter lane."
},
"PreserveFactualElements": [
"KPuzzle definitions",
"pattern and transformation semantics",
"notation interoperability",
"binary or Twizzle protocol translation"
],
"RewriteRequiredElements": [
"all donor docs or demo wording",
"all donor app-shell assumptions",
"all donor product-shell copy"
],
"ContentSourceFile": "./raw-extracts/cubing-cubing-js-reference-pages.jsonl",
"MatchFilter": {
"source": "cubing/cubing.js",
"source_scope": "repo-backed",
"structure_template": "classic-cubing-semantic-reference-page",
"family": "classic-cubing-semantics",
"subset": "kpuzzle-state"
},
"MaterializationNotes": [
"Preserve factual classic-cubing state and interop semantics while rewriting the surfaced shell as first-party HyperTwist contract language.",
"This target pairs with the compiled Phase 4R-A semantic contract and runtime access layer."
]
},
{
"ReferenceTargetId": "reference/cubing-cubing-js-geometry-reference-page-stack",
"SurfaceType": "classic-cubing-geometry-reference",
"TrackTitle": "Classic Cubing Semantics and Runtime",
"ItemTitle": "Classic-Cubing Geometry and Named Puzzle Contract",
"IncorporationChannel": "geometry-contract",
"TargetAssetFamily": "geometry-contract-note",
"PuzzleFamily": "ClassicCube",
"NotationProfile": "classic-wca",
"SourceAttribution": {
"SourceMode": "DirectDonor",
"SourceRepo": "cubing/cubing.js",
"SourceLicense": "MPL-2.0 OR GPL-3.0-or-later",
"SourceTrackId": "classic-cubing/geometry-contract",
"SourceDeckId": "",
"SourceCaseId": "",
"SourceNotes": "First-party HyperTwist geometry target preserving named-puzzle resolution, description parsing, and geometry-backed construction semantics from cubing.js beneath the MPL-aware classic-cubing lane."
},
"PreserveFactualElements": [
"named puzzle resolution",
"description-string parsing",
"PGNotation mapping",
"geometry-backed puzzle construction"
],
"RewriteRequiredElements": [
"all donor geometry-demo wording",
"all donor browser-shell framing",
"all donor puzzle-browser copy"
],
"ContentSourceFile": "./raw-extracts/cubing-cubing-js-reference-pages.jsonl",
"MatchFilter": {
"source": "cubing/cubing.js",
"source_scope": "repo-backed",
"structure_template": "classic-cubing-geometry-reference-page",
"family": "classic-cubing-geometry",
"subset": "named-puzzle-and-geometry"
},
"MaterializationNotes": [
"Preserve named-puzzle and geometry semantics while rewriting the surfaced adapter shell in first-party HyperTwist terms.",
"This target pairs with the compiled Phase 4R-A geometry contract and keeps hyper-runtime ownership outside the cubing.js lane."
]
},
{
"ReferenceTargetId": "reference/cubing-cubing-js-viewer-reference-page-stack",
"SurfaceType": "classic-cubing-viewer-reference",
"TrackTitle": "Classic Cubing Semantics and Runtime",
"ItemTitle": "Classic-Cubing Viewer, Player, and Editor Adapter",
"IncorporationChannel": "viewer-adapter-contract",
"TargetAssetFamily": "viewer-adapter-note",
"PuzzleFamily": "ClassicCube",
"NotationProfile": "classic-wca",
"SourceAttribution": {
"SourceMode": "DirectDonor",
"SourceRepo": "cubing/cubing.js",
"SourceLicense": "MPL-2.0 OR GPL-3.0-or-later",
"SourceTrackId": "classic-cubing/viewer-adapter-contract",
"SourceDeckId": "",
"SourceCaseId": "",
"SourceNotes": "First-party HyperTwist viewer target preserving embedded TwistyPlayer, algorithm-editor, and indexer semantics from cubing.js through a bounded MPL-side adapter lane."
},
"PreserveFactualElements": [
"TwistyPlayer embedding",
"algorithm viewer and editor surfaces",
"indexer behavior",
"puzzle-switching configuration"
],
"RewriteRequiredElements": [
"all donor Twizzle shell wording",
"all donor docs/demo framing",
"all donor app-shell chrome"
],
"ContentSourceFile": "./raw-extracts/cubing-cubing-js-reference-pages.jsonl",
"MatchFilter": {
"source": "cubing/cubing.js",
"source_scope": "repo-backed",
"structure_template": "classic-cubing-viewer-reference-page",
"family": "classic-cubing-viewer-adapter",
"subset": "twisty-player-and-editor"
},
"MaterializationNotes": [
"Preserve bounded viewer and editor semantics while rewriting the surfaced playback shell in first-party HyperTwist language.",
"This target pairs with the compiled Phase 4R-A viewer-adapter contract and does not replace the separate twisty.js clean-room lane."
]
},
{
"ReferenceTargetId": "reference/cubing-cubing-js-device-reference-page-boundary",
"SurfaceType": "classic-cubing-device-reference",
"TrackTitle": "Classic Cubing Semantics and Runtime",
"ItemTitle": "Classic-Cubing Smart-Device and Protocol Adapter Boundary",
"IncorporationChannel": "device-adapter-boundary",
"TargetAssetFamily": "device-boundary-note",
"PuzzleFamily": "ClassicCube",
"NotationProfile": "classic-wca",
"SourceAttribution": {
"SourceMode": "DirectDonor",
"SourceRepo": "cubing/cubing.js",
"SourceLicense": "MPL-2.0 OR GPL-3.0-or-later",
"SourceTrackId": "classic-cubing/device-adapter-boundary",
"SourceDeckId": "",
"SourceCaseId": "",
"SourceNotes": "First-party HyperTwist smart-device boundary target preserving connector families, timer or robot entry points, and binary protocol semantics from cubing.js beneath owned HyperTwist device flows."
},
"PreserveFactualElements": [
"smart puzzle connector families",
"smart timer and smart robot entry points",
"keyboard puzzle surface",
"protocol translation helpers"
],
"RewriteRequiredElements": [
"all donor pairing-shell wording",
"all donor vendor UI framing",
"all donor example-shell assumptions"
],
"ContentSourceFile": "./raw-extracts/cubing-cubing-js-reference-pages.jsonl",
"MatchFilter": {
"source": "cubing/cubing.js",
"source_scope": "repo-backed",
"structure_template": "classic-cubing-device-reference-page",
"family": "classic-cubing-device-boundary",
"subset": "bluetooth-and-protocol"
},
"MaterializationNotes": [
"Preserve bounded smart-device and protocol semantics while rewriting the surfaced device shell in first-party HyperTwist language.",
"This target pairs with the compiled Phase 4R-A device-adapter boundary and keeps vendor policy first-party."
]
},
{
"ReferenceTargetId": "reference/cubing-cubing-js-search-reference-page-stack",
"SurfaceType": "classic-cubing-search-reference",
"TrackTitle": "Classic Cubing Semantics and Runtime",
"ItemTitle": "Classic-Cubing Search, Scramble, and Solve-Helper Contract",
"IncorporationChannel": "search-contract",
"TargetAssetFamily": "search-contract-note",
"PuzzleFamily": "ClassicCube",
"NotationProfile": "classic-wca",
"SourceAttribution": {
"SourceMode": "DirectDonor",
"SourceRepo": "cubing/cubing.js",
"SourceLicense": "MPL-2.0 OR GPL-3.0-or-later",
"SourceTrackId": "classic-cubing/search-contract",
"SourceDeckId": "",
"SourceCaseId": "",
"SourceNotes": "First-party HyperTwist search target preserving bounded solve-helper, random-state, and scramble-routing semantics from cubing.js while keeping retained solver benchmarks separate."
},
"PreserveFactualElements": [
"random-state helpers",
"solve-helper entry points",
"puzzle-kind dispatch",
"scramble export surface"
],
"RewriteRequiredElements": [
"all donor solver-shell wording",
"all donor docs/demo framing",
"all donor example-shell assumptions"
],
"ContentSourceFile": "./raw-extracts/cubing-cubing-js-reference-pages.jsonl",
"MatchFilter": {
"source": "cubing/cubing.js",
"source_scope": "repo-backed",
"structure_template": "classic-cubing-search-reference-page",
"family": "classic-cubing-search",
"subset": "search-and-scramble"
},
"MaterializationNotes": [
"Preserve bounded search and scramble semantics while rewriting the surfaced solve-helper shell in first-party HyperTwist language.",
"This target pairs with the compiled Phase 4R-A search contract and keeps retained solver benchmarks as separate validation authorities."
]
},
{
"ReferenceTargetId": "reference/cubing-cubing-js-bridge-reference-page-melinda",
"SurfaceType": "classic-cubing-bridge-reference",
"TrackTitle": "Classic Cubing Semantics and Runtime",
"ItemTitle": "Melinda 2x2x2x2 Bridge Boundary",
"IncorporationChannel": "melinda-bridge-boundary",
"TargetAssetFamily": "bridge-note",
"PuzzleFamily": "Hypercube",
"NotationProfile": "family-specific",
"SourceAttribution": {
"SourceMode": "DirectDonor",
"SourceRepo": "cubing/cubing.js",
"SourceLicense": "MPL-2.0 OR GPL-3.0-or-later",
"SourceTrackId": "classic-cubing/geometry-contract",
"SourceDeckId": "",
"SourceCaseId": "",
"SourceNotes": "First-party HyperTwist bridge target preserving Melinda 2x2x2x2 registry and loader semantics from cubing.js while keeping hyper-runtime and clean-room ownership separate."
},
"PreserveFactualElements": [
"Melinda puzzle registration",
"bounded loader semantics",
"bridge-family naming",
"non-hyper runtime separation"
],
"RewriteRequiredElements": [
"all donor puzzle-browser wording",
"all donor demo framing",
"all donor product-shell copy"
],
"ContentSourceFile": "./raw-extracts/cubing-cubing-js-reference-pages.jsonl",
"MatchFilter": {
"source": "cubing/cubing.js",
"source_scope": "repo-backed",
"structure_template": "classic-cubing-bridge-reference-page",
"family": "classic-cubing-melinda-bridge",
"subset": "melindas-2x2x2x2"
},
"MaterializationNotes": [
"Preserve the bounded Melinda bridge semantics while rewriting the surfaced shell in first-party HyperTwist language.",
"This target keeps the bridge explicit without collapsing the separate clean-room and hyper-runtime lanes."
]
},
{
"ReferenceTargetId": "reference/cubing-cubing-js-compliance-reference-page-boundary",
"SurfaceType": "classic-cubing-compliance-reference",
"TrackTitle": "Classic Cubing Semantics and Runtime",
"ItemTitle": "Classic-Cubing MPL Adapter and Notice Boundary",
"IncorporationChannel": "mpl-compliance-boundary",
"TargetAssetFamily": "compliance-boundary-note",
"PuzzleFamily": "ClassicCube",
"NotationProfile": "classic-wca",
"SourceAttribution": {
"SourceMode": "DirectDonor",
"SourceRepo": "cubing/cubing.js",
"SourceLicense": "MPL-2.0 OR GPL-3.0-or-later",
"SourceTrackId": "classic-cubing/mpl-compliance-boundary",
"SourceDeckId": "",
"SourceCaseId": "",
"SourceNotes": "First-party HyperTwist compliance target preserving the practical MPL-side library-use posture and source-file modification duties documented by cubing.js."
},
"PreserveFactualElements": [
"MPL-side library-use posture",
"source-file modification publication duty",
"license-material retention",
"vendored acknowledgement preservation"
],
"RewriteRequiredElements": [
"all donor README wording",
"all donor docs/demo framing",
"all donor product-shell copy"
],
"ContentSourceFile": "./raw-extracts/cubing-cubing-js-reference-pages.jsonl",
"MatchFilter": {
"source": "cubing/cubing.js",
"source_scope": "repo-backed",
"structure_template": "classic-cubing-compliance-reference-page",
"family": "classic-cubing-mpl-boundary",
"subset": "compliance-and-notices"
},
"MaterializationNotes": [
"Preserve the MPL-side compliance boundary while rewriting the surfaced legal and packaging shell as first-party HyperTwist guidance.",
"This target pairs with the compiled Phase 4R-A compliance boundary and keeps the no-private-fork posture explicit."
]
}
]
}
}

View file

@ -0,0 +1,7 @@
{"source":"cubing/cubing.js","source_scope":"repo-backed","family":"classic-cubing-semantics","subset":"kpuzzle-state","page_id":"classic-cubing-semantics-stack","page_title":"Classic-Cubing Semantic and State Contract","surface_type":"classic-cubing-semantic-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\kpuzzle\\index.ts","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\protocol\\index.ts"],"preserve_factual_elements":["KPuzzle definitions","pattern and transformation semantics","notation interoperability","binary or Twizzle protocol translation"],"notes":"Source-backed semantic contract target for first-party HyperTwist classic-cubing state, transformation, notation, and interop surfaces through the MPL-side cubing.js adapter lane."}
{"source":"cubing/cubing.js","source_scope":"repo-backed","family":"classic-cubing-geometry","subset":"named-puzzle-and-geometry","page_id":"classic-cubing-geometry-stack","page_title":"Classic-Cubing Geometry and Named Puzzle Contract","surface_type":"classic-cubing-geometry-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\puzzle-geometry\\index.ts","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\puzzles\\index.ts"],"preserve_factual_elements":["named puzzle resolution","description-string parsing","PGNotation mapping","geometry-backed puzzle construction"],"notes":"Source-backed geometry contract target for first-party HyperTwist classic puzzle-family adapters, including the bounded Melinda bridge, without promoting cubing.js into hyper-runtime ownership."}
{"source":"cubing/cubing.js","source_scope":"repo-backed","family":"classic-cubing-viewer-adapter","subset":"twisty-player-and-editor","page_id":"classic-cubing-viewer-adapter-stack","page_title":"Classic-Cubing Viewer, Player, and Editor Adapter","surface_type":"classic-cubing-viewer-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\twisty\\index.ts"],"preserve_factual_elements":["TwistyPlayer embedding","algorithm viewer and editor surfaces","indexer behavior","puzzle-switching configuration"],"notes":"Source-backed viewer-adapter target for first-party HyperTwist embedded classic-cubing playback and editor sidecars through bounded cubing.js surfaces rather than donor product-shell reuse."}
{"source":"cubing/cubing.js","source_scope":"repo-backed","family":"classic-cubing-device-boundary","subset":"bluetooth-and-protocol","page_id":"classic-cubing-device-adapter-boundary","page_title":"Classic-Cubing Smart-Device and Protocol Adapter Boundary","surface_type":"classic-cubing-device-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\bluetooth\\index.ts","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\protocol\\index.ts"],"preserve_factual_elements":["smart puzzle connector families","smart timer and smart robot entry points","keyboard puzzle surface","protocol translation helpers"],"notes":"Source-backed device-adapter boundary target for first-party HyperTwist smart-device flows, pairing policy, and replay or recognition interop beneath the cubing.js MPL-aware adapter lane."}
{"source":"cubing/cubing.js","source_scope":"repo-backed","family":"classic-cubing-search","subset":"search-and-scramble","page_id":"classic-cubing-search-stack","page_title":"Classic-Cubing Search, Scramble, and Solve-Helper Contract","surface_type":"classic-cubing-search-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\search\\index.ts","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\package.json"],"preserve_factual_elements":["random-state helpers","solve-helper entry points","puzzle-kind dispatch","scramble export surface"],"notes":"Source-backed search contract target for first-party HyperTwist classic-cubing solve-helper and scramble-routing surfaces while keeping retained solver benchmarks as separate correctness authorities."}
{"source":"cubing/cubing.js","source_scope":"repo-backed","family":"classic-cubing-melinda-bridge","subset":"melindas-2x2x2x2","page_id":"classic-cubing-melinda-bridge","page_title":"Melinda 2x2x2x2 Bridge Boundary","surface_type":"classic-cubing-bridge-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\puzzles\\implementations\\melindas2x2x2x2\\index.ts","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\src\\cubing\\puzzles\\index.ts"],"preserve_factual_elements":["Melinda puzzle registration","bounded loader semantics","bridge-family naming","non-hyper runtime separation"],"notes":"Source-backed bridge target for first-party HyperTwist handling of Melinda's 2x2x2x2 as a bounded classic-cubing registry surface beneath the separate clean-room and hyper-runtime lanes."}
{"source":"cubing/cubing.js","source_scope":"repo-backed","family":"classic-cubing-mpl-boundary","subset":"compliance-and-notices","page_id":"classic-cubing-mpl-compliance-boundary","page_title":"Classic-Cubing MPL Adapter and Notice Boundary","surface_type":"classic-cubing-compliance-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\README.md","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\LICENSE-MPL.md","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\cubing\\cubing.js\\package.json"],"preserve_factual_elements":["MPL-side library-use posture","source-file modification publication duty","license-material retention","vendored acknowledgement preservation"],"notes":"Source-backed compliance boundary target for first-party HyperTwist cubing.js consumption, keeping the practical MPL-side dependency posture explicit and ruling out an untracked private fork stance."}

View file

@ -0,0 +1,686 @@
#include "HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.h"
namespace HyperTwistTrainingClassicCubingLibraryInternal
{
const TCHAR* CubingLicense = TEXT("MPL-2.0 OR GPL-3.0-or-later");
FHyperTwistTrainingSourceAttribution MakeAttribution(
const FString& TrackId,
const FString& Notes
)
{
FHyperTwistTrainingSourceAttribution Attribution;
Attribution.SourceMode = EHyperTwistTrainingSourceMode::DirectDonor;
Attribution.SourceRepo = TEXT("cubing/cubing.js");
Attribution.SourceLicense = CubingLicense;
Attribution.SourceTrackId = TrackId;
Attribution.SourceNotes = Notes;
return Attribution;
}
FHyperTwistTrainingClassicCubingPackageReference MakePackageReference(
const FString& PackageId,
const FString& Label,
const FString& ExportPath,
const FString& OwnershipRole,
const FString& LicensePosture,
const FString& Summary,
const TArray<FString>& RetainedSurfaceTags,
const TArray<FString>& RequiredNoticeActions,
const TArray<FString>& ExplicitExclusions,
const FHyperTwistTrainingSourceAttribution& SourceAttribution
)
{
FHyperTwistTrainingClassicCubingPackageReference Reference;
Reference.PackageId = PackageId;
Reference.Label = Label;
Reference.ExportPath = ExportPath;
Reference.OwnershipRole = OwnershipRole;
Reference.LicensePosture = LicensePosture;
Reference.Summary = Summary;
Reference.RetainedSurfaceTags = RetainedSurfaceTags;
Reference.RequiredNoticeActions = RequiredNoticeActions;
Reference.ExplicitExclusions = ExplicitExclusions;
Reference.SourceAttribution = SourceAttribution;
return Reference;
}
void AppendJoined(FString& OutText, const TArray<FString>& Values)
{
for (int32 Index = 0; Index < Values.Num(); ++Index)
{
if (Index > 0)
{
OutText.Append(TEXT(", "));
}
OutText.Append(Values[Index]);
}
}
}
FHyperTwistTrainingClassicCubingReferenceBundle
UHyperTwistTrainingClassicCubingLibrary::BuildBundledClassicCubingReferenceBundle()
{
using namespace HyperTwistTrainingClassicCubingLibraryInternal;
FHyperTwistTrainingClassicCubingReferenceBundle Bundle;
Bundle.ReferenceUtc = TEXT("2026-05-13T00:00:00Z");
Bundle.PrimarySemanticContractId = TEXT("classic-cubing-semantics-stack");
Bundle.PrimaryGeometryContractId = TEXT("classic-cubing-geometry-stack");
Bundle.PrimaryViewerAdapterContractId = TEXT("classic-cubing-viewer-adapter-stack");
Bundle.PrimaryDeviceAdapterBoundaryId = TEXT("classic-cubing-device-adapter-boundary");
Bundle.PrimarySearchContractId = TEXT("classic-cubing-search-stack");
Bundle.PrimaryComplianceBoundaryId = TEXT("classic-cubing-mpl-compliance-boundary");
const TArray<FString> CommonNoticeActions =
{
TEXT("preserve MPL and GPL license materials with distribution packages"),
TEXT("preserve upstream acknowledgements and vendored third-party notices"),
TEXT("publish modifications to upstream MPL-covered source files if HyperTwist edits them directly")
};
Bundle.PackageReferences =
{
MakePackageReference(
TEXT("package/cubing-kpuzzle"),
TEXT("cubing/kpuzzle"),
TEXT("./kpuzzle"),
TEXT("classic-state-anchor"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Primary classic-cubing state, orbit-definition, pattern, and transformation substrate for owned HyperTwist classic semantics."),
{
TEXT("KPuzzleDefinition"),
TEXT("KPattern"),
TEXT("KTransformation"),
TEXT("orbit JSON interchange")
},
CommonNoticeActions,
{
TEXT("deep private fork of upstream kpuzzle files"),
TEXT("hyper-runtime ownership"),
TEXT("donor app-shell ownership")
},
MakeAttribution(
TEXT("classic-cubing/kpuzzle"),
TEXT("Preserves KPuzzle, KPattern, KTransformation, and orbit-definition semantics from cubing.js through a bounded MPL-aware dependency or adapter lane.")
)
),
MakePackageReference(
TEXT("package/cubing-notation"),
TEXT("cubing/notation"),
TEXT("./notation"),
TEXT("notation-support"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Notation and alg-interchange support layer for owned HyperTwist classic puzzle semantics and interop."),
{
TEXT("notation helpers"),
TEXT("alg interop"),
TEXT("string conversion")
},
CommonNoticeActions,
{
TEXT("general algorithm-language ownership"),
TEXT("GPL-only parser replacement claims")
},
MakeAttribution(
TEXT("classic-cubing/notation"),
TEXT("Preserves notation helper and alg-interchange seams from cubing.js without promoting the donor into standalone algorithm-language ownership.")
)
),
MakePackageReference(
TEXT("package/cubing-puzzle-geometry"),
TEXT("cubing/puzzle-geometry"),
TEXT("./puzzle-geometry"),
TEXT("classic-geometry-anchor"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Named-puzzle resolution, description parsing, geometry construction, and notation mapping for owned classic puzzle-family adapters."),
{
TEXT("named puzzle resolution"),
TEXT("parsePuzzleDescription"),
TEXT("PGNotation"),
TEXT("geometry-backed puzzle construction")
},
CommonNoticeActions,
{
TEXT("hyper-runtime ownership"),
TEXT("legacy donor UI shell ownership")
},
MakeAttribution(
TEXT("classic-cubing/puzzle-geometry"),
TEXT("Preserves named-puzzle resolution, description parsing, and geometry-backed puzzle construction seams from cubing.js for bounded classic-cubing adapters.")
)
),
MakePackageReference(
TEXT("package/cubing-twisty"),
TEXT("cubing/twisty"),
TEXT("./twisty"),
TEXT("classic-viewer-adapter"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Embedded viewer, player, editor, and indexer substrate for classic-cubing viewer sidecars beneath first-party HyperTwist shells."),
{
TEXT("TwistyPlayer"),
TEXT("TwistyAlgViewer"),
TEXT("TwistyAlgEditor"),
TEXT("SimpleAlgIndexer"),
TEXT("TreeAlgIndexer"),
TEXT("TwizzleLink")
},
CommonNoticeActions,
{
TEXT("Twizzle shell ownership"),
TEXT("browser-first donor app-shell ownership"),
TEXT("replacement for restrictive twisty.js clean-room lane")
},
MakeAttribution(
TEXT("classic-cubing/twisty"),
TEXT("Preserves embedded viewer, player, editor, and indexer seams from cubing.js through a bounded MPL-aware viewer-adapter lane.")
)
),
MakePackageReference(
TEXT("package/cubing-puzzles"),
TEXT("cubing/puzzles"),
TEXT("./puzzles"),
TEXT("classic-puzzle-registry"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Puzzle registry layer spanning standard WCA puzzles and strategic bridge families such as Melinda's 2x2x2x2."),
{
TEXT("puzzle registry"),
TEXT("named loaders"),
TEXT("Melinda 2x2x2x2 bridge")
},
CommonNoticeActions,
{
TEXT("sole hyper-puzzle registry ownership"),
TEXT("replacement for clean-room Melinda-specific lanes")
},
MakeAttribution(
TEXT("classic-cubing/puzzles"),
TEXT("Preserves puzzle-registry and loader seams, including Melinda's 2x2x2x2 bridge, from cubing.js without promoting it into HyperTwist's hyper-runtime owner.")
)
),
MakePackageReference(
TEXT("package/cubing-protocol"),
TEXT("cubing/protocol"),
TEXT("./protocol"),
TEXT("interop-protocol-support"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Binary, Reid, and Twizzle protocol translation surfaces for smart-device and replay-side interoperability."),
{
TEXT("binary to reid"),
TEXT("binary to twizzle"),
TEXT("spaced hex helpers")
},
CommonNoticeActions,
{
TEXT("standalone protocol-platform ownership"),
TEXT("vendor lock-in")
},
MakeAttribution(
TEXT("classic-cubing/protocol"),
TEXT("Preserves binary, Reid, and Twizzle protocol-translation seams from cubing.js for bounded smart-device and replay interoperability.")
)
),
MakePackageReference(
TEXT("package/cubing-bluetooth"),
TEXT("cubing/bluetooth"),
TEXT("./bluetooth"),
TEXT("smart-device-adapter-support"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Smart puzzle, smart timer, smart robot, and keyboard-puzzle adapter substrate beneath owned HyperTwist device flows."),
{
TEXT("connectSmartPuzzle"),
TEXT("connectSmartTimer"),
TEXT("connectSmartRobot"),
TEXT("KeyboardPuzzle")
},
CommonNoticeActions,
{
TEXT("standalone donor hardware-manager shell"),
TEXT("browser-only pairing shell ownership")
},
MakeAttribution(
TEXT("classic-cubing/bluetooth"),
TEXT("Preserves bounded smart-puzzle, smart-timer, smart-robot, and keyboard-puzzle adapter seams from cubing.js beneath owned HyperTwist device flows.")
)
),
MakePackageReference(
TEXT("package/cubing-search"),
TEXT("cubing/search"),
TEXT("./search"),
TEXT("classic-search-support"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Classic-cubing solve-helper and random-state support for owned search and validation surfaces."),
{
TEXT("random333Pattern"),
TEXT("solve helpers"),
TEXT("puzzle-kind dispatch")
},
CommonNoticeActions,
{
TEXT("sole correctness-oracle ownership"),
TEXT("replacement for retained solver benchmarks")
},
MakeAttribution(
TEXT("classic-cubing/search"),
TEXT("Preserves bounded solve-helper, random-state, and puzzle-kind search seams from cubing.js while keeping retained solver benchmarks as separate validation authorities.")
)
),
MakePackageReference(
TEXT("package/cubing-scramble"),
TEXT("cubing/scramble"),
TEXT("./scramble"),
TEXT("scramble-support"),
TEXT("MPL-side dependency or bounded adapter"),
TEXT("Scramble-entry and puzzle-kind dispatch support beneath owned HyperTwist classic-cubing case delivery."),
{
TEXT("scramble entry points"),
TEXT("puzzle dispatch"),
TEXT("classic-cube scramble routing")
},
CommonNoticeActions,
{
TEXT("sole scramble-oracle ownership"),
TEXT("replacement for benchmark scramble validation")
},
MakeAttribution(
TEXT("classic-cubing/scramble"),
TEXT("Preserves scramble entry-point and puzzle-kind routing seams from cubing.js for bounded classic-cubing delivery and interop use.")
)
)
};
FHyperTwistTrainingClassicCubingSemanticContract SemanticContract;
SemanticContract.ContractId = TEXT("classic-cubing-semantics-stack");
SemanticContract.Title = TEXT("Classic-cubing semantic and state contract");
SemanticContract.Summary = TEXT("First-party HyperTwist contract for classic-cubing state, transformations, notation, and interop using cubing.js only through an MPL-aware dependency or adapter posture.");
SemanticContract.RequiredPackageIds =
{
TEXT("package/cubing-kpuzzle"),
TEXT("package/cubing-notation"),
TEXT("package/cubing-protocol")
};
SemanticContract.PuzzleStateFields =
{
TEXT("puzzle definition"),
TEXT("orbit and piece-state layout"),
TEXT("pattern serialization"),
TEXT("transformation composition"),
TEXT("identity and inversion semantics")
};
SemanticContract.NotationSurfaceTags =
{
TEXT("alg interoperability"),
TEXT("move and transformation application"),
TEXT("string conversion"),
TEXT("classic WCA notation boundaries")
};
SemanticContract.InteropSurfaceTags =
{
TEXT("binary protocol translation"),
TEXT("Reid representation"),
TEXT("Twizzle interop"),
TEXT("owned runtime adapter seam")
};
SemanticContract.ExplicitExclusions =
{
TEXT("hyper-runtime ownership"),
TEXT("GPL-only algorithm-language ownership"),
TEXT("donor app-shell ownership")
};
SemanticContract.SourceAttribution = MakeAttribution(
TEXT("classic-cubing/semantic-contract"),
TEXT("Preserves KPuzzle, notation, and protocol semantics from cubing.js while keeping HyperTwist's classic-cubing shell and runtime ownership first-party.")
);
Bundle.SemanticContracts = {SemanticContract};
FHyperTwistTrainingClassicCubingGeometryContract GeometryContract;
GeometryContract.ContractId = TEXT("classic-cubing-geometry-stack");
GeometryContract.Title = TEXT("Classic-cubing geometry and named-puzzle contract");
GeometryContract.Summary = TEXT("First-party HyperTwist contract for classic puzzle-family resolution, description parsing, notation mapping, and geometry-backed construction beneath the classic-cubing lane.");
GeometryContract.RequiredPackageIds =
{
TEXT("package/cubing-puzzle-geometry"),
TEXT("package/cubing-puzzles")
};
GeometryContract.NamedPuzzleFamilies =
{
TEXT("2x2x2"),
TEXT("3x3x3"),
TEXT("4x4x4"),
TEXT("megaminx"),
TEXT("pyraminx"),
TEXT("skewb"),
TEXT("square-1"),
TEXT("Melinda 2x2x2x2")
};
GeometryContract.GeometrySurfaceTags =
{
TEXT("named puzzle resolution"),
TEXT("description-string parsing"),
TEXT("PGNotation mapping"),
TEXT("geometry-backed construction"),
TEXT("base-shape and cut-type semantics")
};
GeometryContract.AdapterBoundaryTags =
{
TEXT("classic-cubing-only geometry lane"),
TEXT("Melinda bridge without hyper-runtime ownership"),
TEXT("owned adapter over donor geometry")
};
GeometryContract.ExplicitExclusions =
{
TEXT("Hyperspeedcube replacement"),
TEXT("hyper-topology runtime ownership"),
TEXT("donor geometry UI shell ownership")
};
GeometryContract.SourceAttribution = MakeAttribution(
TEXT("classic-cubing/geometry-contract"),
TEXT("Preserves puzzle-geometry, named-puzzle, and Melinda bridge seams from cubing.js while keeping HyperTwist's hyper-runtime and topology ownership separate.")
);
Bundle.GeometryContracts = {GeometryContract};
FHyperTwistTrainingClassicCubingViewerAdapterContract ViewerContract;
ViewerContract.ContractId = TEXT("classic-cubing-viewer-adapter-stack");
ViewerContract.Title = TEXT("Classic-cubing viewer, player, and editor adapter contract");
ViewerContract.Summary = TEXT("First-party HyperTwist adapter contract for embedded classic-cubing viewer, player, editor, and algorithm-indexer behavior beneath owned shells.");
ViewerContract.RequiredPackageIds =
{
TEXT("package/cubing-twisty"),
TEXT("package/cubing-puzzles"),
TEXT("package/cubing-notation")
};
ViewerContract.ViewerSurfaceTags =
{
TEXT("TwistyPlayer embed"),
TEXT("algorithm viewer"),
TEXT("algorithm editor"),
TEXT("player configuration"),
TEXT("puzzle switching")
};
ViewerContract.LifecycleHooks =
{
TEXT("viewer ready"),
TEXT("alg changed"),
TEXT("timeline scrubbed"),
TEXT("index selection changed"),
TEXT("puzzle changed")
};
ViewerContract.EditorSurfaceTags =
{
TEXT("embedded player"),
TEXT("compact editor"),
TEXT("timeline controls"),
TEXT("TwizzleLink export")
};
ViewerContract.ExplicitExclusions =
{
TEXT("Twizzle product-shell ownership"),
TEXT("browser-first donor app-shell ownership"),
TEXT("replacement for restrictive twisty.js clean-room lane")
};
ViewerContract.SourceAttribution = MakeAttribution(
TEXT("classic-cubing/viewer-adapter-contract"),
TEXT("Preserves embedded TwistyPlayer, editor, and indexer seams from cubing.js while keeping the HyperTwist shell first-party and separate from the twisty.js clean-room lane.")
);
Bundle.ViewerAdapterContracts = {ViewerContract};
FHyperTwistTrainingClassicCubingDeviceAdapterBoundary DeviceBoundary;
DeviceBoundary.BoundaryId = TEXT("classic-cubing-device-adapter-boundary");
DeviceBoundary.Title = TEXT("Classic-cubing smart-device and protocol adapter boundary");
DeviceBoundary.Summary = TEXT("First-party HyperTwist adapter boundary for smart puzzle, smart timer, smart robot, keyboard-puzzle, and protocol translation seams beneath owned recognition, timer, and replay flows.");
DeviceBoundary.RequiredPackageIds =
{
TEXT("package/cubing-protocol"),
TEXT("package/cubing-bluetooth")
};
DeviceBoundary.DeviceFamilies =
{
TEXT("GAN smart cube"),
TEXT("GiiKER smart cube"),
TEXT("GoCube family"),
TEXT("smart timer"),
TEXT("smart robot"),
TEXT("keyboard puzzle")
};
DeviceBoundary.AdapterOwnedFields =
{
TEXT("pairing and consent policy"),
TEXT("device capability selection"),
TEXT("session telemetry ownership"),
TEXT("retry and fault handling"),
TEXT("first-party runtime event translation")
};
DeviceBoundary.ExplicitExclusions =
{
TEXT("standalone donor hardware-manager shell"),
TEXT("browser-only pairing shell"),
TEXT("vendor lock-in or opaque device ownership")
};
DeviceBoundary.SourceAttribution = MakeAttribution(
TEXT("classic-cubing/device-adapter-boundary"),
TEXT("Preserves smart-device and protocol seams from cubing.js beneath owned HyperTwist timer, replay, and recognition flows.")
);
Bundle.DeviceAdapterBoundaries = {DeviceBoundary};
FHyperTwistTrainingClassicCubingSearchContract SearchContract;
SearchContract.ContractId = TEXT("classic-cubing-search-stack");
SearchContract.Title = TEXT("Classic-cubing search, scramble, and solve-helper contract");
SearchContract.Summary = TEXT("First-party HyperTwist contract for classic-cubing solve-helper, random-state, and scramble-routing behavior through bounded cubing.js packages rather than donor-shell reuse.");
SearchContract.RequiredPackageIds =
{
TEXT("package/cubing-search"),
TEXT("package/cubing-scramble"),
TEXT("package/cubing-puzzles")
};
SearchContract.PuzzleFamilies =
{
TEXT("2x2x2"),
TEXT("3x3x3"),
TEXT("megaminx"),
TEXT("pyraminx"),
TEXT("skewb")
};
SearchContract.SearchSurfaceTags =
{
TEXT("random-state helpers"),
TEXT("solve-helper entry points"),
TEXT("puzzle-kind dispatch"),
TEXT("scramble routing"),
TEXT("owned adapter seam")
};
SearchContract.ExplicitExclusions =
{
TEXT("sole correctness-oracle ownership"),
TEXT("replacement for retained solver benchmarks"),
TEXT("general donor solver shell ownership")
};
SearchContract.SourceAttribution = MakeAttribution(
TEXT("classic-cubing/search-contract"),
TEXT("Preserves bounded search, random-state, and scramble-routing seams from cubing.js while keeping retained solver benchmarks and future owned search work separate.")
);
Bundle.SearchContracts = {SearchContract};
FHyperTwistTrainingClassicCubingComplianceBoundary ComplianceBoundary;
ComplianceBoundary.BoundaryId = TEXT("classic-cubing-mpl-compliance-boundary");
ComplianceBoundary.Title = TEXT("Classic-cubing MPL adapter and notice boundary");
ComplianceBoundary.Summary = TEXT("First-party HyperTwist compliance boundary for consuming cubing.js through the practical MPL side, preserving notices, and avoiding an untracked private fork posture.");
ComplianceBoundary.AllowedUseTags =
{
TEXT("MPL-side package dependency"),
TEXT("bounded adapter layer"),
TEXT("companion library consumption"),
TEXT("notice-preserving distribution")
};
ComplianceBoundary.PublicationDutyTags =
{
TEXT("publish modifications to upstream MPL-covered files if any land"),
TEXT("keep MPL and GPL license materials with distributed builds"),
TEXT("preserve vendored acknowledgements where required")
};
ComplianceBoundary.RequiredNoticeActions = CommonNoticeActions;
ComplianceBoundary.ExplicitExclusions =
{
TEXT("deep private fork of upstream source files"),
TEXT("treating the GPL side as the default operational path"),
TEXT("copying donor docs, demos, or app-shell wording into first-party surfaces"),
TEXT("untracked source-file modifications")
};
ComplianceBoundary.SourceAttribution = MakeAttribution(
TEXT("classic-cubing/mpl-compliance-boundary"),
TEXT("Preserves the practical MPL-side dependency posture documented by cubing.js while keeping notice retention and source-file modification duties explicit in first-party HyperTwist routing.")
);
Bundle.ComplianceBoundaries = {ComplianceBoundary};
return Bundle;
}
bool UHyperTwistTrainingClassicCubingLibrary::TryGetSemanticContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingSemanticContract& OutContract
)
{
for (const FHyperTwistTrainingClassicCubingSemanticContract& Contract : Bundle.SemanticContracts)
{
if (Contract.ContractId.Equals(ContractId, ESearchCase::IgnoreCase))
{
OutContract = Contract;
return true;
}
}
OutContract = FHyperTwistTrainingClassicCubingSemanticContract();
return false;
}
bool UHyperTwistTrainingClassicCubingLibrary::TryGetGeometryContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingGeometryContract& OutContract
)
{
for (const FHyperTwistTrainingClassicCubingGeometryContract& Contract : Bundle.GeometryContracts)
{
if (Contract.ContractId.Equals(ContractId, ESearchCase::IgnoreCase))
{
OutContract = Contract;
return true;
}
}
OutContract = FHyperTwistTrainingClassicCubingGeometryContract();
return false;
}
bool UHyperTwistTrainingClassicCubingLibrary::TryGetViewerAdapterContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingViewerAdapterContract& OutContract
)
{
for (const FHyperTwistTrainingClassicCubingViewerAdapterContract& Contract : Bundle.ViewerAdapterContracts)
{
if (Contract.ContractId.Equals(ContractId, ESearchCase::IgnoreCase))
{
OutContract = Contract;
return true;
}
}
OutContract = FHyperTwistTrainingClassicCubingViewerAdapterContract();
return false;
}
bool UHyperTwistTrainingClassicCubingLibrary::TryGetDeviceAdapterBoundaryById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingDeviceAdapterBoundary& OutBoundary
)
{
for (const FHyperTwistTrainingClassicCubingDeviceAdapterBoundary& Boundary : Bundle.DeviceAdapterBoundaries)
{
if (Boundary.BoundaryId.Equals(BoundaryId, ESearchCase::IgnoreCase))
{
OutBoundary = Boundary;
return true;
}
}
OutBoundary = FHyperTwistTrainingClassicCubingDeviceAdapterBoundary();
return false;
}
bool UHyperTwistTrainingClassicCubingLibrary::TryGetSearchContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingSearchContract& OutContract
)
{
for (const FHyperTwistTrainingClassicCubingSearchContract& Contract : Bundle.SearchContracts)
{
if (Contract.ContractId.Equals(ContractId, ESearchCase::IgnoreCase))
{
OutContract = Contract;
return true;
}
}
OutContract = FHyperTwistTrainingClassicCubingSearchContract();
return false;
}
bool UHyperTwistTrainingClassicCubingLibrary::TryGetComplianceBoundaryById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingComplianceBoundary& OutBoundary
)
{
for (const FHyperTwistTrainingClassicCubingComplianceBoundary& Boundary : Bundle.ComplianceBoundaries)
{
if (Boundary.BoundaryId.Equals(BoundaryId, ESearchCase::IgnoreCase))
{
OutBoundary = Boundary;
return true;
}
}
OutBoundary = FHyperTwistTrainingClassicCubingComplianceBoundary();
return false;
}
FString UHyperTwistTrainingClassicCubingLibrary::BuildPackageChecklistTsv(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle
)
{
using namespace HyperTwistTrainingClassicCubingLibraryInternal;
FString Output = TEXT("package_id\tlabel\texport_path\townership_role\tlicense_posture\tretained_surfaces\tsummary\n");
for (const FHyperTwistTrainingClassicCubingPackageReference& Reference : Bundle.PackageReferences)
{
if (!Reference.IsStructurallyValid())
{
continue;
}
FString SurfaceTags;
AppendJoined(SurfaceTags, Reference.RetainedSurfaceTags);
Output.Append(Reference.PackageId);
Output.Append(TEXT("\t"));
Output.Append(Reference.Label);
Output.Append(TEXT("\t"));
Output.Append(Reference.ExportPath);
Output.Append(TEXT("\t"));
Output.Append(Reference.OwnershipRole);
Output.Append(TEXT("\t"));
Output.Append(Reference.LicensePosture);
Output.Append(TEXT("\t"));
Output.Append(SurfaceTags);
Output.Append(TEXT("\t"));
Output.Append(Reference.Summary.Replace(TEXT("\t"), TEXT(" ")));
Output.Append(TEXT("\n"));
}
return Output;
}

View file

@ -481,6 +481,12 @@ UHyperTwistTrainingRuntimeLibrary::GetBundledBrowserSpatialReferenceBundle()
return UHyperTwistTrainingSpatialLibrary::BuildBundledBrowserSpatialReferenceBundle();
}
FHyperTwistTrainingClassicCubingReferenceBundle
UHyperTwistTrainingRuntimeLibrary::GetBundledClassicCubingReferenceBundle()
{
return UHyperTwistTrainingClassicCubingLibrary::BuildBundledClassicCubingReferenceBundle();
}
bool UHyperTwistTrainingRuntimeLibrary::TryGetLatestGeneratedModeLaunchRequestForDeck(
UObject* WorldContextObject,
const FString& UserId,
@ -789,6 +795,85 @@ FString UHyperTwistTrainingRuntimeLibrary::BuildBundledBrowserSpatialPackageChec
);
}
bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledClassicCubingSemanticContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingSemanticContract& OutContract
)
{
return UHyperTwistTrainingClassicCubingLibrary::TryGetSemanticContractById(
GetBundledClassicCubingReferenceBundle(),
ContractId,
OutContract
);
}
bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledClassicCubingGeometryContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingGeometryContract& OutContract
)
{
return UHyperTwistTrainingClassicCubingLibrary::TryGetGeometryContractById(
GetBundledClassicCubingReferenceBundle(),
ContractId,
OutContract
);
}
bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledClassicCubingViewerAdapterContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingViewerAdapterContract& OutContract
)
{
return UHyperTwistTrainingClassicCubingLibrary::TryGetViewerAdapterContractById(
GetBundledClassicCubingReferenceBundle(),
ContractId,
OutContract
);
}
bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledClassicCubingDeviceAdapterBoundary(
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingDeviceAdapterBoundary& OutBoundary
)
{
return UHyperTwistTrainingClassicCubingLibrary::TryGetDeviceAdapterBoundaryById(
GetBundledClassicCubingReferenceBundle(),
BoundaryId,
OutBoundary
);
}
bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledClassicCubingSearchContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingSearchContract& OutContract
)
{
return UHyperTwistTrainingClassicCubingLibrary::TryGetSearchContractById(
GetBundledClassicCubingReferenceBundle(),
ContractId,
OutContract
);
}
bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledClassicCubingComplianceBoundary(
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingComplianceBoundary& OutBoundary
)
{
return UHyperTwistTrainingClassicCubingLibrary::TryGetComplianceBoundaryById(
GetBundledClassicCubingReferenceBundle(),
BoundaryId,
OutBoundary
);
}
FString UHyperTwistTrainingRuntimeLibrary::BuildBundledClassicCubingPackageChecklistTsv()
{
return UHyperTwistTrainingClassicCubingLibrary::BuildPackageChecklistTsv(
GetBundledClassicCubingReferenceBundle()
);
}
FHyperTwistTrainingLearnerDeckStateSummary UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingLearnerDeckStateSummary(UObject* WorldContextObject)
{
if (UHyperTwistTrainingSubsystem* TrainingSubsystem = GetTrainingSubsystem(WorldContextObject))

View file

@ -0,0 +1,378 @@
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "HyperTwistTraining/HyperTwistTrainingTypes.h"
#include "HyperTwistTrainingClassicCubingLibrary.generated.h"
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingPackageReference
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString PackageId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Label;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString ExportPath;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString OwnershipRole;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString LicensePosture;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RetainedSurfaceTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RequiredNoticeActions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ExplicitExclusions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingSourceAttribution SourceAttribution;
bool IsStructurallyValid() const
{
return !PackageId.IsEmpty() && !Label.IsEmpty() && !ExportPath.IsEmpty()
&& !OwnershipRole.IsEmpty() && SourceAttribution.IsStructurallyValid();
}
};
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingSemanticContract
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString ContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Title;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RequiredPackageIds;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> PuzzleStateFields;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> NotationSurfaceTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> InteropSurfaceTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ExplicitExclusions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingSourceAttribution SourceAttribution;
bool IsStructurallyValid() const
{
return !ContractId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid();
}
};
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingGeometryContract
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString ContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Title;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RequiredPackageIds;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> NamedPuzzleFamilies;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> GeometrySurfaceTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> AdapterBoundaryTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ExplicitExclusions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingSourceAttribution SourceAttribution;
bool IsStructurallyValid() const
{
return !ContractId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid();
}
};
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingViewerAdapterContract
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString ContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Title;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RequiredPackageIds;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ViewerSurfaceTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> LifecycleHooks;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> EditorSurfaceTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ExplicitExclusions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingSourceAttribution SourceAttribution;
bool IsStructurallyValid() const
{
return !ContractId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid();
}
};
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingDeviceAdapterBoundary
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString BoundaryId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Title;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RequiredPackageIds;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> DeviceFamilies;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> AdapterOwnedFields;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ExplicitExclusions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingSourceAttribution SourceAttribution;
bool IsStructurallyValid() const
{
return !BoundaryId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid();
}
};
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingSearchContract
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString ContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Title;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RequiredPackageIds;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> PuzzleFamilies;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> SearchSurfaceTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ExplicitExclusions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingSourceAttribution SourceAttribution;
bool IsStructurallyValid() const
{
return !ContractId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid();
}
};
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingComplianceBoundary
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString BoundaryId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Title;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> AllowedUseTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> PublicationDutyTags;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> RequiredNoticeActions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FString> ExplicitExclusions;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingSourceAttribution SourceAttribution;
bool IsStructurallyValid() const
{
return !BoundaryId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid();
}
};
USTRUCT(BlueprintType)
struct FHyperTwistTrainingClassicCubingReferenceBundle
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString ReferenceUtc;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString PrimarySemanticContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString PrimaryGeometryContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString PrimaryViewerAdapterContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString PrimaryDeviceAdapterBoundaryId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString PrimarySearchContractId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString PrimaryComplianceBoundaryId;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FHyperTwistTrainingClassicCubingPackageReference> PackageReferences;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FHyperTwistTrainingClassicCubingSemanticContract> SemanticContracts;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FHyperTwistTrainingClassicCubingGeometryContract> GeometryContracts;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FHyperTwistTrainingClassicCubingViewerAdapterContract> ViewerAdapterContracts;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FHyperTwistTrainingClassicCubingDeviceAdapterBoundary> DeviceAdapterBoundaries;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FHyperTwistTrainingClassicCubingSearchContract> SearchContracts;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
TArray<FHyperTwistTrainingClassicCubingComplianceBoundary> ComplianceBoundaries;
bool IsStructurallyValid() const
{
return !PrimarySemanticContractId.IsEmpty() && !PrimaryGeometryContractId.IsEmpty()
&& !PrimaryViewerAdapterContractId.IsEmpty() && !PrimaryDeviceAdapterBoundaryId.IsEmpty()
&& !PrimarySearchContractId.IsEmpty() && !PrimaryComplianceBoundaryId.IsEmpty()
&& PackageReferences.Num() > 0;
}
};
UCLASS()
class UNREALHYPERTWIST_API UHyperTwistTrainingClassicCubingLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|ClassicCubing")
static FHyperTwistTrainingClassicCubingReferenceBundle BuildBundledClassicCubingReferenceBundle();
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetSemanticContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingSemanticContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetGeometryContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingGeometryContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetViewerAdapterContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingViewerAdapterContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetDeviceAdapterBoundaryById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingDeviceAdapterBoundary& OutBoundary
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetSearchContractById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& ContractId,
FHyperTwistTrainingClassicCubingSearchContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetComplianceBoundaryById(
const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle,
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingComplianceBoundary& OutBoundary
);
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|ClassicCubing")
static FString BuildPackageChecklistTsv(const FHyperTwistTrainingClassicCubingReferenceBundle& Bundle);
};

View file

@ -5,6 +5,7 @@
#include "HyperTwistRecognition/HyperTwistRecognitionReplayLibrary.h"
#include "HyperTwistReplay/HyperTwistReplayReviewLibrary.h"
#include "HyperTwistTraining/HyperTwistTrainingAnalyticsLibrary.h"
#include "HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.h"
#include "HyperTwistTraining/HyperTwistTrainingCompanionLibrary.h"
#include "HyperTwistTraining/HyperTwistTrainingCoachLibrary.h"
#include "HyperTwistTraining/HyperTwistTrainingKnowledgeLibrary.h"
@ -160,6 +161,9 @@ public:
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|Spatial")
static FHyperTwistTrainingSpatialReferenceBundle GetBundledBrowserSpatialReferenceBundle();
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|ClassicCubing")
static FHyperTwistTrainingClassicCubingReferenceBundle GetBundledClassicCubingReferenceBundle();
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training", meta = (WorldContext = "WorldContextObject"))
static bool TryGetLatestGeneratedModeLaunchRequestForDeck(
UObject* WorldContextObject,
@ -289,6 +293,45 @@ public:
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|Spatial")
static FString BuildBundledBrowserSpatialPackageChecklistTsv();
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetBundledClassicCubingSemanticContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingSemanticContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetBundledClassicCubingGeometryContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingGeometryContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetBundledClassicCubingViewerAdapterContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingViewerAdapterContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetBundledClassicCubingDeviceAdapterBoundary(
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingDeviceAdapterBoundary& OutBoundary
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetBundledClassicCubingSearchContract(
const FString& ContractId,
FHyperTwistTrainingClassicCubingSearchContract& OutContract
);
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|ClassicCubing")
static bool TryGetBundledClassicCubingComplianceBoundary(
const FString& BoundaryId,
FHyperTwistTrainingClassicCubingComplianceBoundary& OutBoundary
);
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|ClassicCubing")
static FString BuildBundledClassicCubingPackageChecklistTsv();
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training", meta = (WorldContext = "WorldContextObject"))
static FHyperTwistTrainingLearnerDeckStateSummary GetActiveTrainingLearnerDeckStateSummary(UObject* WorldContextObject);

View file

@ -38,6 +38,11 @@ Important correction added on `2026-05-13`:
- `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` are now currently verified live permissive lanes through `Phase 3R-F`.
- they are live through first-party Unreal browser spatial contract code plus bundled reference-target materialization rather than through the direct training-deck bundle path used by the earlier five permissive donor lanes in this audit.
Important correction added on `2026-05-13`:
- `cubing/cubing.js` is now a currently verified live boundary-sensitive lane through `Phase 4R-A`.
- it is live through first-party Unreal classic-cubing contract code plus bundled reference-target materialization rather than through the direct training-deck bundle path used by the earlier five permissive donor lanes in this audit.
## Scope
- Current repo set audited: the 71 `HyperTwist` rows in `docs/repo_portfolio_unified_source_audit_v6_3.csv`.
@ -79,7 +84,6 @@ Important correction added on `2026-05-13`:
- `cubedesk`
- `alg.js`
- `twisty.js`
- `cubing.js`
- `Hyperspeedcube`
- `qbr`
- `MagicCube4D`
@ -117,6 +121,14 @@ These rows are now materially present in checked first-party Unreal source, even
| `pmndrs/react-three-fiber` | MIT | landed via `Phase 3R-F` | `HyperTwistTrainingSpatialLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `browser-spatial-support-reference-pages.jsonl` | First-party React-side browser renderer, createRoot/frameloop, store, and event-bridge contracts now landed in first-party source and materialized reference outputs |
| `pmndrs/xr` | MIT | landed via `Phase 3R-F` | `HyperTwistTrainingSpatialLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `browser-spatial-support-reference-pages.jsonl` | First-party browser XR session, controller/hand/gaze input, pointer-routing, and immersive interaction contracts now landed in first-party source and materialized reference outputs |
### Live boundary-sensitive code-backed
This row is now materially present in checked first-party Unreal source and materialized reference outputs through an explicit `MPL`-aware adapter posture.
| Repo | License | Current docs posture | First-party evidence | Notes |
| --- | --- | --- | --- | --- |
| `cubing/cubing.js` | `MPL-2.0 OR GPL-3.0-or-later` | landed via `Phase 4R-A` | `HyperTwistTrainingClassicCubingLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `cubing-cubing-js-reference-pages.jsonl` | First-party classic-cubing semantic, geometry, viewer-adapter, device-adapter, search-contract, and `MPL` compliance-boundary surfaces are now landed in first-party source and materialized reference outputs without direct upstream source-file modification |
### Partly implemented
No exact `source_attribution_only` rows were found in the audited 71-repo set.
@ -230,10 +242,6 @@ These rows are active or donor-shaped in docs, but this pass did not find exact
- `HactarCE/2x2x2x2-Scrambler`
- `kash/cubedesk`
#### MPL or mixed copyleft lane
- `cubing/cubing.js`
#### Custom / special-term lanes
- `cutelyaware/magiccube4d`
@ -291,6 +299,13 @@ These currently live lanes are under permissive direct-donor posture and can be
- `poliva/cubedex`
- `newyork-anthonyng/rubiks-cross-trainer`
### Boundary-sensitive but already live through explicit adapter posture
- `cubing/cubing.js`
- preserve as the landed first-party classic-cubing adapter lane
- keep the explicit `MPL` notice and publication-duty boundary visible
- do not reinterpret this lane as a quiet private fork simply because it is now live
Also important:
- the many permissive rows listed as `queued but not live` do not currently show live Unreal incorporation evidence in this pass.
@ -310,7 +325,6 @@ The following sensitive or high-risk lanes showed no exact live Unreal evidence
- `cs0x7f/cstimer`
- `cubing/alg.js`
- `cubing/twisty.js`
- `cubing/cubing.js`
- `kash/cubedesk`
- `HactarCE/Hyperspeedcube`
- `kkoomen/qbr`
@ -322,7 +336,7 @@ That does not make them legally cleared or deeply audited. It only means this pa
## Recommended next implementation slice
The next clean bounded move is to preserve the fourteen landed lanes as the current truth, keep the `onionhoney/roux-trainers` clean-room status explicit everywhere, and continue from the closed retained-set packet sequence with `Phase 4R-A` for `cubing/cubing.js`, while leaving the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap. After that, do a second pass focused on the additional live non-71 surfaces (`SpeedCubeDB` and `CubingApp`) so the active training catalog has a complete provenance board before any further widening work resumes.
The next clean bounded move is to preserve the fifteen landed lanes as the current truth, keep the `onionhoney/roux-trainers` clean-room status explicit everywhere, keep the landed `cubing/cubing.js` `MPL` boundary explicit everywhere, and continue from the closed retained-set packet sequence with `Phase 4R-B` for `cutelyaware/magiccube4d`, while leaving the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap. After that, do a second pass focused on the additional live non-71 surfaces (`SpeedCubeDB` and `CubingApp`) so the active training catalog has a complete provenance board before any further widening work resumes.
For the readable all-rows follow-up board that pairs this audit with the reset schedule, use:

View file

@ -38,8 +38,9 @@ Current handling:
The current reconciled HyperTwist truth is:
- current curated HyperTwist shallow-eval set: `71` repos
- currently verified live in checked `UnrealHyperTwist` surfaces: `14`
- currently verified live in checked `UnrealHyperTwist` surfaces: `15`
- currently verified live permissive lanes: `13`
- currently verified live boundary-sensitive lanes: `1`
- currently verified live restrictive lanes: `1`
The thirteen currently verified live permissive lanes are:
@ -58,6 +59,10 @@ The thirteen currently verified live permissive lanes are:
- `poliva/cubedex`
- `newyork-anthonyng/rubiks-cross-trainer`
The one currently verified live boundary-sensitive lane is:
- `cubing/cubing.js`
The one currently verified live restrictive lane is:
- `onionhoney/roux-trainers`
@ -69,7 +74,7 @@ That restrictive lane must be treated as:
- preserved as the current clean-room precedent
- not to be reopened as an unresolved direct-donor contamination event
The remaining `64` rows are not to be treated as already implemented.
The remaining `56` rows are not to be treated as already implemented.
`Phase 0R` is now closed for that non-live set.
@ -154,14 +159,14 @@ Use the following only as lineage or historical context unless a restart doc exp
The restart is not a mass revert.
It is a provenance and planning reset around the remaining `57` current non-live rows while preserving the fourteen already-landed lanes.
It is a provenance and planning reset around the remaining `56` current non-live rows while preserving the fifteen already-landed lanes.
Required standing rules:
- preserve the fourteen landed lanes
- preserve the fifteen landed lanes
- preserve `onionhoney/roux-trainers` as the only currently verified landed restrictive clean-room lane
- do not collapse `selected`, `retained`, `integrate`, `repurpose`, or `donor bench` into `already implemented`
- do not widen new donor-shaped implementation from the remaining `57` current non-live rows until the closed packet sequence routes it
- do not widen new donor-shaped implementation from the remaining `56` current non-live rows until the closed packet sequence routes it
- before implementing any retained repo, read the packet-level deep-source authority doc for that repo class if one exists
## 2026-05-12 packet-depth correction
@ -198,7 +203,7 @@ Practical implication:
Goal:
- deeply evaluate the remaining `64` rows repo by repo
- deeply evaluate the remaining `56` rows repo by repo
Required output per retained row:
@ -497,7 +502,7 @@ Result:
- `cahidenes/rubiks-cube-solver` and `tentone/rubix-solver` now form the retained `6R-E` recognition-comparison adjunct lane
- `NuiLab/code-vr` now forms the retained `6R-F` symbolic-to-spatial XR pedagogy experiment lane
- `pissang/claygl` and `pissang/clay-viewer` now form the retained optional `3R-G` alternative browser comparison lane
- `cubing/cubing.js` is retained only through MPL-aware dependency or adapter use
- `cubing/cubing.js` is now the fifteenth live row overall and the one live boundary-sensitive lane through the closed `Phase 4R-A` classic-cubing adapter packet
- `cutelyaware/magiccube4d` is retained as an attributed strategic donor beneath the `Hyperspeedcube` anchor
- `google/model-viewer/packages/shared-assets` is retained only as a fixture and QA pack
- `PostHog/posthog`, `screenpipe/screenpipe`, and `remotion-dev/remotion` remain bounded sidecar, allowlist, or reference lanes rather than broad donor shells
@ -506,7 +511,7 @@ License-tracking boundary:
- `docs/REPO_LICENSE_TRACKING.md` is the canonical repo-row legal and attribution ledger
- `docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md` is policy-only and must not become a second repo-row legal ledger
- `docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md` is the source-backed preservation authority for the fourteen already-live rows
- `docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md` is the source-backed preservation authority for the fifteen already-live rows
- `docs/HYPERTWIST_PHASE_2R_PACKET_2R_A_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` is the packet authority for the five core retained permissive rows once source extraction has already been read
- `docs/HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` is the packet authority for the primary retained permissive support-plane rows once source extraction has already been read
- `docs/HYPERTWIST_PHASE_2R_PACKET_2R_C_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` is the packet authority for the final residual permissive `0R-B` adjunct and alternative-support rows once source extraction has already been read
@ -520,7 +525,7 @@ License-tracking boundary:
The next bounded move is:
1. preserve the fourteen landed rows as the current truth
2. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` on preserve-and-enhance footing through their landed packets
3. open `Phase 4R-A`
4. widen `cubing/cubing.js` through the retained `MPL`-aware dependency or adapter lane, while keeping the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap
1. preserve the fifteen landed rows as the current truth
2. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, `pmndrs/xr`, and `cubing/cubing.js` on preserve-and-enhance footing through their landed packets
3. open `Phase 4R-B`
4. widen `cutelyaware/magiccube4d` as the retained attributed legacy `4D` interaction, history, and macro lane beneath the `Hyperspeedcube` anchor, while keeping the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap

View file

@ -6,12 +6,12 @@ Created on `2026-05-13`
This audit is `closed`.
It is the canonical source-backed preservation authority for the fourteen HyperTwist rows that are already live in checked first-party Unreal surfaces.
It is the canonical source-backed preservation authority for the fifteen HyperTwist rows that are already live in checked first-party Unreal surfaces.
It closes the symmetry gap that remained after `Phase 0R` and `Phase 1R`:
- the `57` non-live rows already have source-backed authority through `Packet 0R-A` through `Packet 0R-E`
- the `14` live rows now have source-backed authority through this live-lane preservation audit
- the `56` non-live rows already have source-backed authority through `Packet 0R-A` through `Packet 0R-E`
- the `15` live rows now have source-backed authority through this live-lane preservation audit
## Purpose
@ -25,9 +25,10 @@ Use this document to answer the live-lane questions that the `0R-*` packets do n
## Safe-use boundary
This document intentionally separates permissive and restrictive handling:
This document intentionally separates permissive, boundary-sensitive, and restrictive handling:
- the thirteen permissive live lanes below are documented from donor mirror source plus first-party Unreal outputs
- the one live boundary-sensitive lane, `cubing/cubing.js`, is documented from donor mirror source plus first-party Unreal outputs while preserving its explicit `MPL`-aware adapter boundary
- the one restrictive live lane, `onionhoney/roux-trainers`, is documented here only from first-party Unreal outputs, `REPO_LICENSE_TRACKING.md`, and scrubbed clean-room materials
Do not use this document as permission for `Model B` to read the restrictive mirror.
@ -37,19 +38,20 @@ Do not use this document as permission for `Model B` to read the restrictive mir
Current result:
- current curated HyperTwist shallow-eval set: `71`
- already covered by `0R-A` through `0R-E`: `57` current non-live rows
- covered by this audit: `14` live rows
- already covered by `0R-A` through `0R-E`: `56` current non-live rows
- covered by this audit: `15` live rows
- total rows with source-backed authority now visible in canonical docs: `71`
- live permissive preserve lanes: `13`
- live boundary-sensitive preserve lanes: `1`
- live restrictive clean-room preserve lanes: `1`
- additional live rows discovered beyond the original six from the 2026-05-11 audit: `8`
- additional live rows discovered beyond the original six from the 2026-05-11 audit: `9`
## Authority order
For future work on the already-live lanes, read in this order:
1. this live-lane audit
2. the relevant landed implementation packet where one exists, currently [HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md:1) for `Aarav2709/KubeTimr`, [HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md:1) for `Hypercubers/hypercubing.xyz`, [HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md:1) for `apache/echarts`, [HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md:1) for `google/model-viewer`, [HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md:1) for `met4citizen/TalkingHead`, and [HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md:1) for `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr`
2. the relevant landed implementation packet where one exists, currently [HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md:1) for `Aarav2709/KubeTimr`, [HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md:1) for `Hypercubers/hypercubing.xyz`, [HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md:1) for `apache/echarts`, [HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md:1) for `google/model-viewer`, [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) for `cubing/cubing.js`, [HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md:1) for `met4citizen/TalkingHead`, and [HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md:1) for `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr`
3. [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)
4. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1)
5. [MODEL_B_SOURCE_ACCESS_BOUNDARY.md](C:/HyperTwist/docs/MODEL_B_SOURCE_ACCESS_BOUNDARY.md:1) for the `onionhoney/roux-trainers` lane
@ -62,6 +64,7 @@ For future work on the already-live lanes, read in this order:
| `Hypercubers/hypercubing.xyz` | `MIT` | landed taxonomy, notation, progression, software-reference, and leaderboard-contract lane | the main landed permissive hypercubing knowledge and community-reference preserve lane | runtime simulation, solver execution, recognition, or timer ownership |
| `apache/echarts` | `Apache-2.0` | landed analytics, reporting, export, and progress-visualization lane | the main landed permissive analytics and report-contract preserve lane | gameplay/runtime ownership, generic BI shell ownership, or separate live-lane claims for `zrender` / `echarts-gl` |
| `google/model-viewer` | `Apache-2.0` | landed browser presentation, compact editor, and standards-aware asset-QA lane | the main landed permissive browser viewer and support-plane asset-QA preserve lane | gameplay/runtime ownership, donor docs/demo shell ownership, mixed-asset shipping from `shared-assets`, or separate live-lane claims for the subordinate package rows and Khronos sidecars |
| `cubing/cubing.js` | `MPL-2.0 OR GPL-3.0-or-later` | landed classic-cubing semantic, geometry, viewer-adapter, device-adapter, and search-contract lane | the main landed boundary-sensitive classic-cubing adapter preserve lane | private upstream fork posture, hyper-runtime replacement, donor Twizzle shell ownership, or a shortcut around future `twisty.js` clean-room discipline |
| `mrdoob/three.js` | `MIT` | landed browser scene, renderer, camera, and controller-space substrate lane | the main landed permissive browser `3D` substrate preserve lane | gameplay/runtime ownership, browser-first product-shell ownership, or separate live-lane claims for subordinate helper packages |
| `pmndrs/react-three-fiber` | `MIT` | landed React-side browser renderer, frameloop, store, and event-bridge lane | the main landed permissive React-side browser renderer preserve lane | gameplay/runtime ownership, generic app-state ownership, or standalone product-shell ownership |
| `pmndrs/xr` | `MIT` | landed browser XR session, controller, hand, gaze, and immersive interaction lane | the main landed permissive browser XR session and immersive interaction preserve lane | gameplay/runtime ownership, generic VR showroom ownership, or separate live-lane claims for subordinate UI, gesture, or motion helpers |
@ -423,6 +426,75 @@ Future widening rule:
- preserve the Apache license text and normal `NOTICE` handling expectations in redistributed builds
- read the landed [HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md:1) before treating this lane as an open donor candidate again
### `cubing/cubing.js`
Current status:
- `implemented_live_boundary_sensitive`
- preserve as a landed first-party boundary-sensitive adapter lane
Licensing posture:
- `MPL-2.0 OR GPL-3.0-or-later`
- the practical HyperTwist path remains the explicit `MPL` side
- no upstream `cubing.js` source files were modified in the landed `Phase 4R-A` packet
Source surfaces inspected:
- [package.json](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/package.json:1)
- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/README.md:1)
- [LICENSE-MPL.md](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/LICENSE-MPL.md:1)
- [LICENSE-GPL.md](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/LICENSE-GPL.md:1)
- [src/cubing/kpuzzle/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/kpuzzle/index.ts:1)
- [src/cubing/puzzle-geometry/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/puzzle-geometry/index.ts:1)
- [src/cubing/twisty/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/twisty/index.ts:1)
- [src/cubing/protocol/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/protocol/index.ts:1)
- [src/cubing/bluetooth/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/bluetooth/index.ts:1)
- [src/cubing/search/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/search/index.ts:1)
- [src/cubing/puzzles/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/puzzles/index.ts:1)
- [src/cubing/puzzles/implementations/melindas2x2x2x2/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/puzzles/implementations/melindas2x2x2x2/index.ts:1)
First-party live evidence:
- [HyperTwistTrainingClassicCubingLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.h:1)
- [HyperTwistTrainingClassicCubingLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.cpp:1)
- [HyperTwistTrainingRuntimeLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h:1)
- [HyperTwistTrainingRuntimeLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp:1)
- [hypertwist-reference-incorporation-targets.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json:1)
- [hypertwist-catalog-materialization-summary.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json:1)
- [cubing-cubing-js-reference-pages.jsonl](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/cubing-cubing-js-reference-pages.jsonl:1)
Preserved landed value:
- explicit classic-cubing state, orbit-definition, pattern, and transformation boundaries
- explicit classic notation, binary interchange, and protocol translation seams
- explicit named-puzzle, description-string, and geometry-backed construction boundaries
- explicit embedded viewer, player, editor, and indexer adapter surfaces beneath first-party shells
- explicit smart-device and protocol adapter seams beneath first-party timer, replay, and recognition flows
- explicit search, random-state, and scramble-routing seams while keeping retained solver benchmarks separate
- explicit `MPL` compliance-boundary language so later widening does not silently slide into an untracked fork posture
Excluded or non-promotion boundary:
- do not promote this lane into a private fork of upstream `cubing.js` files
- do not treat it as a replacement for the `Hyperspeedcube` hyper runtime anchor
- do not treat it as a replacement for the restrictive `twisty.js` clean-room lane
- do not flatten retained solver benchmarks into this packet
- do not promote donor Twizzle or demo-shell ownership into HyperTwist
Rationale:
- the repo is valuable because it is the strongest classic-cubing semantic/runtime donor in the set
- its highest-value surfaces are bounded state, geometry, player, interop, and device seams
- the correct legal posture is explicit `MPL`-aware adapter or dependency use rather than a silent private fork
Future widening rule:
- widen only through ordinary first-party enhancement work that preserves the explicit `MPL` boundary
- preserve upstream notices and license materials in redistributed builds
- if HyperTwist later edits upstream-covered `cubing.js` files directly, publish those source-file modifications
- read the landed [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) before treating this lane as an open donor candidate again
### `met4citizen/TalkingHead`
Current status:
@ -842,7 +914,7 @@ Future widening rule:
HyperTwist now has symmetric source-backed authority across the current `71`-row curated set:
- `57` current non-live rows through `Packet 0R-A` through `Packet 0R-E`
- `14` live rows through this live-lane preservation audit
- `56` current non-live rows through `Packet 0R-A` through `Packet 0R-E`
- `15` live rows through this live-lane preservation audit
For live-lane work, the next instance should not start from stale donor labels or from the raw mirror alone. It should start from this document, then the retained-set contract, then the repo-row license tracker.

View file

@ -66,21 +66,21 @@ Document responsibilities are now strict:
Current post-`Phase 1R` truth:
- curated HyperTwist shallow-eval set: `71`
- currently verified live in checked Unreal surfaces: `14`
- currently verified live in checked Unreal surfaces: `15`
- rows with source-backed authority now visible in canonical docs: `71`
- retained rows total: `68`
- discarded from the active retained set: `3`
Retained split:
- landed/live preserve lanes: `14`
- non-live active implementation-board rows: `45`
- landed/live preserve lanes: `15`
- non-live active implementation-board rows: `44`
- non-live benchmark, oracle, or clean-room-later rows outside the active implementation board: `9`
The `45` non-live active implementation-board rows break down as:
- straight permissive implementation candidates: `35`
- boundary-sensitive adapter or sidecar candidates: `6`
- boundary-sensitive adapter or sidecar candidates: `5`
- restrictive clean-room-only candidates: `4`
## Contract classes
@ -88,9 +88,10 @@ The `45` non-live active implementation-board rows break down as:
| Class | Count | Earliest next phase | Meaning |
| --- | --- | --- | --- |
| `landed_permissive_preserve` | `13` | ordinary first-party enhancement only | Already live. Preserve notices and attribution. Do not treat as speculative donor backlog. |
| `landed_boundary_sensitive_preserve` | `1` | ordinary first-party enhancement only with explicit notice discipline | Already live. Preserve the `MPL`-aware adapter boundary and do not turn it into an untracked private fork. |
| `landed_clean_room_preserve` | `1` | ordinary first-party enhancement only | Already live. Preserve the clean-room chain and work from first-party outputs, not the restrictive mirror. |
| `phase3r_permissive_candidate` | `35` | `Phase 3R` | Retained for direct permissive implementation or bounded first-party adaptation. No clean-room lane is needed. |
| `phase4r_boundary_candidate` | `6` | `Phase 4R` | Retained only through explicit adapter, allowlist, sidecar, or notice-sensitive use. |
| `phase4r_boundary_candidate` | `5` | `Phase 4R` | Retained only through explicit adapter, allowlist, sidecar, or notice-sensitive use. |
| `phase5r_clean_room_candidate` | `4` | `Phase 5R` | Retained only through refreshed Model A / Model B clean-room work. |
| `benchmark_oracle_only` | `9` | outside the active implementation board | Retained only for validation, parity, oracle behavior, or a later explicitly reopened clean-room-later lane. |
| `discarded_active_set` | `3` | none | Excluded from the retained implementation board. Do not schedule new work from these rows. |
@ -106,7 +107,7 @@ The `45` non-live active implementation-board rows break down as:
## Landed preserve lanes
These fourteen rows are the only currently verified live rows in checked Unreal surfaces.
These fifteen rows are the only currently verified live rows in checked Unreal surfaces.
### Landed permissive preserve
@ -131,6 +132,17 @@ Contract:
- read [HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md:1) before widening any of these lanes
- treat future work here as normal first-party enhancement work rather than retained-donor backlog work
### Landed boundary-sensitive preserve
- `cubing/cubing.js` — `MPL-2.0 OR GPL-3.0-or-later`
Contract:
- preserve as the landed first-party boundary-sensitive classic-cubing adapter lane
- preserve the explicit `MPL` notice and publication-duty boundary
- read [HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md:1), then [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1), before widening this lane
- do not treat the mirror as a silent private-fork surface
### Landed restrictive clean-room preserve
- `onionhoney/roux-trainers` — `GPL-3.0`
@ -231,9 +243,8 @@ Contract:
- treat `2R-B` rows as support-plane owners, subordinate packages, or helper/dependency lanes according to the packet, not as equal foundation owners
- treat `2R-C` rows as comparison adjuncts, symbolic-to-spatial experiment donors, or alternative browser comparison lanes rather than equal support-plane owners
### `0R-C` boundary-sensitive set -> `Phase 4R`
### Remaining `0R-C` boundary-sensitive set -> `Phase 4R`
- `cubing/cubing.js` — `MPL-2.0 OR GPL-3.0-or-later`; use only through MPL-aware dependency or adapter posture
- `cutelyaware/magiccube4d` — custom broad-use license; attributed strategic donor beneath the `Hyperspeedcube` anchor
- `google/model-viewer/packages/shared-assets` — fixture and QA pack only, with per-asset allowlisting
- `PostHog/posthog` — bounded telemetry/replay/feature-governance donor with `ee/` excluded
@ -327,9 +338,10 @@ Do not:
## Next move
`Phase 2R` is now closed and `Phase 3R-A` through `Phase 3R-F` are now also closed for the primary straight-permissive widening path.
`Phase 2R` is now closed, `Phase 3R-A` through `Phase 3R-F` are now also closed for the primary straight-permissive widening path, and `Phase 4R-A` is now closed for the first boundary-sensitive live lane.
The next bounded move after those closures is `Phase 4R-A`:
The next bounded move after those closures is `Phase 4R-B`:
- widen `cubing/cubing.js` through the retained `MPL`-aware adapter or dependency lane
- preserve the landed `cubing/cubing.js` lane through its live-lane audit and `Phase 4R-A` packet authority
- widen `cutelyaware/magiccube4d` as the retained attributed legacy `4D` interaction, history, and macro lane beneath the `Hyperspeedcube` anchor
- keep the optional `Phase 3R-G` `pissang/claygl` and `pissang/clay-viewer` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap that requires it

View file

@ -0,0 +1,178 @@
# HyperTwist Phase 4R Packet 4R-A cubing.js Adapter Implementation
Created on `2026-05-13`
## Status
`Phase 4R / Packet 4R-A` is now `closed`.
This packet converts the retained boundary-sensitive `cubing/cubing.js` row from a queued `MPL`-aware adapter candidate into a landed first-party HyperTwist classic-cubing semantic and runtime adapter lane.
It does not reopen `Phase 0R`, `Phase 1R`, `Phase 2R`, or the permissive `Phase 3R` packets.
Those earlier packets still own:
- source-value extraction
- retained-set routing
- ownership and acceptance boundaries
- landed permissive widening decisions
This packet owns the next question instead:
- what first-party classic-cubing implementation actually landed
- how the `MPL`-aware boundary was preserved
- which retained cubing.js value is now live
- what remains explicitly out of scope for this lane
- what validation was completed
- what the next bounded implementation move is after this landing
## Authority order
For future work on the classic-cubing boundary-sensitive lane, read in this order:
1. this packet for first-party landing scope, `MPL` boundary result, and validation result
2. [HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md:1) for live-lane preserve posture
3. [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
4. [HYPERTWIST_PHASE_0R_PACKET_0R_C_EVALUATION_2026-05-12.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_0R_PACKET_0R_C_EVALUATION_2026-05-12.md:1) for source-value extraction and non-promotion rationale
5. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1) for license, notice, and provenance obligations
## Packet licensing snapshot
Owner row widened by this packet:
- `cubing/cubing.js`: `MPL-2.0 OR GPL-3.0-or-later`
Checked local notice surfaces:
- [package.json](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/package.json:1)
- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/README.md:1)
- [LICENSE-MPL.md](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/LICENSE-MPL.md:1)
- [LICENSE-GPL.md](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/LICENSE-GPL.md:1)
Boundary result:
- no upstream `cubing.js` source files were modified in this packet
- no donor app shell, docs shell, or Twizzle shell was landed
- the landed surface remains a first-party compiled contract and reference bundle that records an `MPL`-aware dependency or adapter posture
## Packet result
`4R-A` lands the classic-cubing row as:
- `cubing/cubing.js` -> `implemented_live_boundary_sensitive`
Current portfolio effect:
- curated HyperTwist shallow-eval set: `71`
- currently verified live in checked Unreal surfaces: `15`
- live permissive lanes: `13`
- live boundary-sensitive adapter lanes: `1`
- live restrictive clean-room lanes: `1`
- active non-live implementation-board rows: `44`
## Donor source surfaces read
The source read for this widening remained bounded to semantic state, geometry, viewer, device, search, bridge, and compliance seams:
- [package.json](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/package.json:1)
- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/README.md:1)
- [src/cubing/kpuzzle/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/kpuzzle/index.ts:1)
- [src/cubing/puzzle-geometry/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/puzzle-geometry/index.ts:1)
- [src/cubing/twisty/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/twisty/index.ts:1)
- [src/cubing/protocol/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/protocol/index.ts:1)
- [src/cubing/bluetooth/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/bluetooth/index.ts:1)
- [src/cubing/search/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/search/index.ts:1)
- [src/cubing/puzzles/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/puzzles/index.ts:1)
- [src/cubing/puzzles/implementations/melindas2x2x2x2/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/cubing/cubing.js/src/cubing/puzzles/implementations/melindas2x2x2x2/index.ts:1)
## First-party landing surfaces
The landed first-party Unreal surfaces are:
- [HyperTwistTrainingClassicCubingLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.h:1)
- [HyperTwistTrainingClassicCubingLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.cpp:1)
- [HyperTwistTrainingRuntimeLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h:1)
- [HyperTwistTrainingRuntimeLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp:1)
- [hypertwist-reference-incorporation-targets.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json:1)
- [hypertwist-catalog-materialization-summary.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json:1)
- [cubing-cubing-js-reference-pages.jsonl](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/cubing-cubing-js-reference-pages.jsonl:1)
## Landed implementation scope
What landed:
- a first-party compiled classic-cubing package ledger that records the bounded `MPL`-aware roles for `kpuzzle`, `notation`, `puzzle-geometry`, `twisty`, `puzzles`, `protocol`, `bluetooth`, `search`, and `scramble`
- a first-party semantic contract for classic-cubing state, transformations, notation, and protocol interop
- a first-party geometry contract for named-puzzle resolution, description parsing, notation mapping, and geometry-backed construction
- a first-party viewer adapter contract for embedded `TwistyPlayer`, algorithm viewer/editor, and bounded player lifecycle seams
- a first-party device adapter boundary for smart puzzle, smart timer, smart robot, keyboard puzzle, and binary protocol translation seams
- a first-party search and scramble contract for random-state helpers, solve-helper entry points, and scramble-routing seams
- a first-party `MPL` compliance boundary that records allowed use, notice retention, and publication duties if upstream-covered files are ever modified directly later
- first-party runtime-library accessors and TSV checklist export for the new classic-cubing bundle
- bundled first-party reference targets and raw source-reference capture for semantics, geometry, viewer adapters, device adapters, search, the Melinda bridge, and the `MPL` boundary
What that means in practice:
- `cubing/cubing.js` now owns the landed boundary-sensitive classic-cubing semantic and runtime adapter preserve lane in HyperTwist
- the landed surface is a first-party Unreal contract and runtime API, not a vague future donor note
- the practical path remains `MPL`-aware dependency or adapter consumption rather than an invisible private fork of upstream files
- the retained solver benchmarks, `Hyperspeedcube` runtime anchor, `magiccube4d` attributed lane, and restrictive clean-room lanes remain distinct and are not flattened into this packet
## Preserved landed value
The donor value that was actually promoted is:
- explicit classic-cubing state, orbit-definition, pattern, and transformation boundaries
- explicit classic notation, binary interchange, and Twizzle or Reid protocol translation seams
- explicit named-puzzle, description-string, and geometry-backed construction boundaries
- explicit embedded viewer, player, editor, and indexer adapter surfaces beneath first-party shells
- explicit smart-device and protocol adapter seams beneath first-party timer, replay, and recognition flows
- explicit search, random-state, and scramble-routing seams while keeping retained solver benchmarks separate
- explicit `MPL` compliance boundary language so later widening does not silently slide into an untracked fork posture
## Excluded or non-promotion boundary
Do not promote this packet into:
- a private fork of upstream `cubing.js` source files
- a replacement for the `Hyperspeedcube` hyper runtime anchor
- a replacement for the restrictive `twisty.js` clean-room lane
- a claim that retained solver benchmarks are no longer needed
- donor docs, demo shells, or Twizzle shell ownership
Rationale:
- this packet was retained and widened because `cubing.js` is the strongest classic-cubing semantic/runtime donor in the set
- its highest value is bounded state, geometry, player, interop, and device seams
- the right legal path is an explicit `MPL`-aware adapter posture, not pretending it is just another ordinary permissive row
## Acceptance markers satisfied
The `0R-C` and `Phase 1R` retained-value markers for this lane are now satisfied in first-party Unreal surfaces:
- a first-party classic-cubing semantic contract exists for `KPuzzle`, `KPattern`, `KTransformation`, notation, and protocol interop seams
- a first-party geometry contract exists for named-puzzle resolution, description parsing, `PGNotation`, and geometry-backed construction
- a first-party viewer adapter contract exists for embedded player, editor, and indexer behavior
- a first-party smart-device boundary exists for puzzle, timer, robot, keyboard, and protocol adapter seams
- a first-party search contract exists for solve-helper, random-state, and scramble-routing behavior
- a first-party `MPL` compliance boundary exists for notice retention and future source-file modification duties
## Validation
Validation completed for this packet:
- `git diff --check` passed apart from CRLF conversion warnings
- JSON validation passed for the updated materialized-catalog files and workspace manifest
- Unreal build succeeded with:
- `C:\Program Files\Epic Games\UE_5.7\Engine\Build\BatchFiles\Build.bat UnrealHyperTwistEditor Win64 Development C:\HyperTwist\UnrealHyperTwist\UnrealHyperTwist.uproject -WaitMutex -NoHotReloadFromIDE`
Build result:
- `Succeeded` on `2026-05-13`
## Next move
The next bounded move is `Phase 4R-B`:
- widen `cutelyaware/magiccube4d` as the retained attributed legacy `4D` interaction, history, and macro lane beneath the `Hyperspeedcube` anchor
- keep the optional `Phase 3R-G` `pissang/claygl` and `pissang/clay-viewer` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap

View file

@ -469,7 +469,33 @@ Validation result:
Next packet:
- `4R-A`
- `4R-B`
## 2026-05-13 Phase 4R-A status
`Phase 4R / Packet 4R-A` is now closed.
- `Phase 4R-A` result doc:
- `docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md`
Implementation result:
- `cubing/cubing.js` is now landed as a first-party classic-cubing semantic, geometry, viewer-adapter, device-adapter, and search-contract lane
- `cubing/cubing.js` is now `implemented_live_boundary_sensitive`
- no upstream `cubing.js` source-file modifications landed in this packet
- current verified live rows are now:
- `15` total
- `13` permissive
- `1` boundary-sensitive
- `1` restrictive clean-room
- active non-live implementation-board rows are now `44`
- the classic-cubing `MPL`-aware adapter lane is no longer a queued `Phase 4R` candidate; it is a landed live lane
Validation result:
- `git diff --check` passed apart from CRLF conversion warnings
- JSON validation passed for the updated materialized-catalog files and workspace manifest
- Unreal build succeeded for the landed code-bearing packet
Mandatory read rule before implementing, benchmarking against, or clean-rooming any `0R-E` repo:
@ -498,20 +524,22 @@ Current curated HyperTwist shallow-eval set:
Current verified live implementation state in checked `UnrealHyperTwist` source and materialized training surfaces:
- `14` repos are implemented/live
- `15` repos are implemented/live
- `13` of those are permissive `MIT` or `Apache-2.0` lanes
- `1` of those is a boundary-sensitive `MPL`-aware adapter lane
- `1` of those is a restrictive repo that was properly clean-roomed and then implemented
Current 2026-05-11 repo-row reset counts:
- `implemented_live_permissive`: `13`
- `implemented_live_boundary_sensitive`: `1`
- `implemented_live_clean_room_verified`: `1`
- `selected_not_live_permissive_candidate`: `35`
- `selected_not_live_boundary_sensitive`: `6`
- `selected_not_live_boundary_sensitive`: `5`
- `selected_not_live_clean_room_candidate`: `4`
- `not_live_reference_or_discard_candidate`: `12`
### The fourteen currently implemented/live repos
### The fifteen currently implemented/live repos
Permissive `MIT` or `Apache-2.0` lanes already implemented/live:
@ -533,10 +561,14 @@ Restrictive lane already properly clean-roomed and implemented/live:
- `onionhoney/roux-trainers`
Boundary-sensitive lane already implemented/live:
- `cubing/cubing.js`
### What this means
- HyperTwist does **not** currently have dozens of donor repos already implemented in owned Unreal surfaces.
- HyperTwist does **not** currently show live Unreal evidence for `cstimer`, `cubedesk`, `cubing/alg.js`, `cubing/twisty.js`, `cubing/cubing.js`, `Hyperspeedcube`, `qbr`, `TalkingHead`, `MagicTile`, `MagicCube5D`, or `Magic120Cell`.
- HyperTwist does **not** currently show live Unreal evidence for `cstimer`, `cubedesk`, `cubing/alg.js`, `cubing/twisty.js`, `Hyperspeedcube`, `qbr`, `MagicTile`, `MagicCube5D`, or `Magic120Cell`.
- The previous confusion came from mixing:
- docs-state classifications such as `integrate`, `repurpose`, `donor bench`, and `locked strategic donor`
- with actual live implementation evidence
@ -577,18 +609,18 @@ At the moment, only one HyperTwist repo should be described this way:
HyperTwist should now proceed from the following rule:
- preserve the fourteen live lanes
- preserve the fifteen live lanes
- do not reopen the `onionhoney/roux-trainers` lane as if it were an unresolved accidental donor import
- do not treat the remaining `57` current non-live rows as already implemented
- do not treat the remaining `56` current non-live rows as already implemented
- keep `Phase 0R`, `Phase 1R`, and `Phase 2R` closed as completed packet classes
- continue later-phase widening from the closed packet sequence, with `Phase 4R-A` as the next non-optional move and `Phase 3R-G` deferred unless a real browser comparison gap appears
- continue later-phase widening from the closed packet sequence, with `Phase 4R-B` as the next non-optional move and `Phase 3R-G` deferred unless a real browser comparison gap appears
In practical terms:
- no, do **not** mass-revert the fourteen landed lanes
- no, do **not** pretend the remaining `57` current non-live rows are already implemented
- yes, preserve the landed `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` lanes as normal first-party enhancement surfaces
- yes, widen the next retained permissive lane only through its closed packet stack
- no, do **not** mass-revert the fifteen landed lanes
- no, do **not** pretend the remaining `56` current non-live rows are already implemented
- yes, preserve the landed `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, `pmndrs/xr`, and `cubing/cubing.js` lanes as normal first-party enhancement surfaces within their packet-specific legal boundaries
- yes, widen the next retained lane only through its closed packet stack and packet-specific legal boundary
## Phase reset sequence
@ -953,9 +985,9 @@ Only after that:
The clean practical sequence is:
1. preserve the fourteen landed lanes
1. preserve the fifteen landed lanes
2. make the current truth explicit everywhere
3. deep-evaluate the remaining `57`
3. deep-evaluate the remaining `56`
4. discard what should not survive
5. re-schedule what remains by permissive, boundary-sensitive, clean-room, and benchmark lanes
6. resume later-phase widening from that corrected retained set
@ -972,7 +1004,8 @@ Current status:
- `Phase 3R-D` is now also complete
- `Phase 3R-E` is now also complete
- `Phase 3R-F` is now also complete
- the next bounded move is `Phase 4R-A` for `cubing/cubing.js`, with the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap
- `Phase 4R-A` is now also complete
- the next bounded move is `Phase 4R-B` for `cutelyaware/magiccube4d`, with the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap
## Companion docs
@ -983,6 +1016,7 @@ Read together with:
- `docs/HYPERTWIST_PHASE_2R_PACKET_2R_A_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- `docs/HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- `docs/HYPERTWIST_PHASE_2R_PACKET_2R_C_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- `docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md`
- `docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md`
- `docs/REPO_LICENSE_TRACKING.md`
- `docs/HYPERTWIST_ROADMAP_OVERHAUL_EXPANSION_GUIDE.md`

View file

@ -7,14 +7,15 @@ This board is the readable row-by-row companion to the v6.3 CSVs. It is derived
## Canonical summary
- Current curated HyperTwist shallow-eval set: `71` repos
- Currently verified live in checked `UnrealHyperTwist` surfaces: `14` repos
- Currently verified live in checked `UnrealHyperTwist` surfaces: `15` repos
- Live permissive lanes: `13`
- Live boundary-sensitive lanes: `1`
- Live restrictive clean-room lanes: `1`
- Remaining rows requiring `Phase 0R` deep repo evaluation: `0`
## 2026-05-13 packet and contract overlay
The baseline live-state counts above now include the landed `Phase 3R-C` analytics lane, the landed `Phase 3R-D` browser viewer lane, the landed `Phase 3R-E` embodied companion lane, and the landed `Phase 3R-F` browser spatial owner stack, while `Phase 0R` and `Phase 1R` remain closed.
The baseline live-state counts above now include the landed `Phase 3R-C` analytics lane, the landed `Phase 3R-D` browser viewer lane, the landed `Phase 3R-E` embodied companion lane, the landed `Phase 3R-F` browser spatial owner stack, and the landed `Phase 4R-A` classic-cubing boundary-sensitive adapter lane, while `Phase 0R` and `Phase 1R` remain closed.
Read together with:
@ -34,6 +35,7 @@ Read together with:
- [HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md:1)
- [HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md:1)
- [HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md:1)
- [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1)
That overlay closes evaluation for:
@ -53,7 +55,7 @@ Important authority correction:
- `Packet 0R-C` is now the deep-source value-extraction and exclusion-rationale authority for its six boundary-sensitive repos
- `Packet 0R-D` is now the governance and Model A authority for its four restrictive clean-room repos
- `Packet 0R-E` is now the deep-source benchmark, reference, clean-room-later, and discard authority for its twelve rows
- the live-lane preservation audit is now the source-backed authority for the fourteen already-landed rows
- the live-lane preservation audit is now the source-backed authority for the fifteen already-landed rows
- `Phase 1R` is now the retained-set contract and handoff authority for all post-`Phase 0R` routing
- `Phase 2R-A` is now the core ownership and acceptance authority for the five retained core permissive rows
- `Phase 2R-B` is now the support-plane ownership and acceptance authority for the primary retained permissive support rows
@ -64,10 +66,11 @@ Important authority correction:
- `Phase 3R-D` is now the landed implementation authority for `google/model-viewer`
- `Phase 3R-E` is now the landed implementation authority for `met4citizen/TalkingHead`
- `Phase 3R-F` is now the landed implementation authority for `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr`
- future enhancement or preservation work for the fourteen landed rows should start from the live-lane audit, then the repo-specific landed packet where one exists, not from this board alone
- future enhancement or preservation work for the fifteen landed rows should start from the live-lane audit, then the repo-specific landed packet where one exists, not from this board alone
- future implementation of those seven repos should start from `Packet 0R-A`, not from this board alone
- future implementation of the `0R-B` permissive set should start from `Packet 0R-B`, then the relevant closed `2R-B` or `2R-C` ownership packet, not from this board alone
- future implementation of those six boundary-sensitive repos should start from `Packet 0R-C`, not from this board alone
- future implementation of the remaining five non-live boundary-sensitive repos should start from `Packet 0R-C`, not from this board alone
- future widening of the landed `cubing/cubing.js` lane should start from the live-lane audit, then `Phase 4R-A`, then `REPO_LICENSE_TRACKING.md`
- future implementation of those four restrictive repos should start from `Packet 0R-D`, then `REPO_LICENSE_TRACKING.md`, then the repo-specific scrubbed Model A handoff
- future implementation or benchmarking decisions for the twelve `0R-E` rows should start from `Packet 0R-E`, not from this board alone
- future routing by phase entry should start from `Phase 1R`, not from this board alone
@ -79,7 +82,7 @@ Packet overlay result:
- all `6` boundary-sensitive rows have now been packet-evaluated
- all `4` restrictive clean-room rows have now been packet-evaluated
- all `12` reference, benchmark, reserve, and discard rows have now been packet-evaluated
- all `14` live rows now also have symmetric source-backed preservation authority
- all `15` live rows now also have symmetric source-backed preservation authority
- `Phase 2R-A` is now closed for the five core retained permissive rows
- `Phase 2R-B` is now closed for the retained permissive support-plane owners, subordinate packages, and helper/dependency lanes in scope
- `Phase 2R-C` is now closed for the final retained permissive `0R-B` residual rows
@ -103,14 +106,15 @@ Packet overlay result:
- the `0R-E` result split is:
- `9` retained benchmark, oracle, or clean-room-later rows
- `3` discarded active-set rows
- the next bounded move is `Phase 4R-A`
- the next bounded move is `Phase 4R-B`
## Count by live-state class
- `implemented_live_permissive`: `13`
- `implemented_live_boundary_sensitive`: `1`
- `implemented_live_clean_room_verified`: `1`
- `selected_not_live_permissive_candidate`: `35`
- `selected_not_live_boundary_sensitive`: `6`
- `selected_not_live_boundary_sensitive`: `5`
- `selected_not_live_clean_room_candidate`: `4`
- `not_live_reference_or_discard_candidate`: `12`
@ -143,6 +147,16 @@ Count: `13`
| `poliva/cubedex` | `MIT` | Locked Strategic Donor | `integrate` | `implemented_live_permissive` | `landed_permissive_preserve` | Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible; start future widening from the live-lane audit, then `REPO_LICENSE_TRACKING.md`, then ordinary owned enhancement work. |
| `tao-yu/Alg-Trainer` | `MIT` | Locked Parallel Foundation | `integrate` | `implemented_live_permissive` | `landed_permissive_preserve` | Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible; start future widening from the live-lane audit, then `REPO_LICENSE_TRACKING.md`, then ordinary owned enhancement work. |
## Landed Boundary-Sensitive Lane
This is the currently verified live boundary-sensitive repo already implemented through an explicit adapter boundary.
Count: `1`
| Repo | License | Prior bucket | Prior action | Current live state | Reset lane | Next step |
| --- | --- | --- | --- | --- | --- | --- |
| `cubing/cubing.js` | `MPL-2.0 OR GPL-3.0-or-later` | Locked Strategic Donor | `integrate` | `implemented_live_boundary_sensitive` | `landed_boundary_sensitive_preserve` | `Phase 4R-A` closed. Preserve as the landed first-party classic-cubing semantic/runtime adapter lane; start future widening from the live-lane audit, then `Phase 4R-A`, then `REPO_LICENSE_TRACKING.md`; keep the explicit `MPL` notice and publication-duty boundary visible. |
## Landed Restrictive Clean-Room Lane
This is the only currently verified restrictive repo that was properly clean-roomed and then implemented.
@ -201,11 +215,10 @@ Count: `35`
These rows are not currently proven live and have now cleared `Phase 0R` deep evaluation. `Phase 1R` places them on the active implementation board with earliest re-entry through `Phase 4R`.
Count: `6`
Count: `5`
| Repo | License | Prior bucket | Prior action | Current live state | Reset lane | Next step |
| --- | --- | --- | --- | --- | --- | --- |
| `cubing/cubing.js` | `MPL-2.0 OR GPL-3.0-or-later` | Locked Strategic Donor | `integrate` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain as the classic-cubing semantic/runtime donor through MPL-side dependency or adapter consumption; avoid deep private forks unless publication obligations are acceptable. |
| `cutelyaware/magiccube4d` | `Custom broad-use license with attribution requested` | Locked Strategic Donor | `repurpose` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain as an attributed direct donor for history, macros, generic puzzle description, and legacy `4D` interaction beneath the `Hyperspeedcube` anchor. |
| `google/model-viewer/packages/shared-assets` | `Apache-2.0 container; mixed per-asset terms` | Donor Bench | `repurpose` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain only as a local fixture and QA pack with per-asset allowlisting before any shipping use. |
| `PostHog/posthog` | `MIT outside ee/; enterprise-restricted in ee/` | Donor Bench | `repurpose` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain only as a bounded telemetry, replay-diagnostic, and feature-governance donor; keep `ee/` excluded and use MIT-path allowlists or selective first-party reimplementation. |
@ -248,8 +261,9 @@ Count: `12`
## Implementation rule going forward
- Preserve the fourteen landed lanes as current truth.
- Preserve the fifteen landed lanes as current truth.
- Keep `onionhoney/roux-trainers` explicitly marked as the only currently verified restrictive clean-room lane already implemented.
- `Phase 0R` is now fully closed for the remaining `57` non-live rows.
- Keep `cubing/cubing.js` explicitly marked as the one currently verified live boundary-sensitive adapter lane.
- `Phase 0R` is now fully closed for the remaining `56` non-live rows.
- `Phase 1R` is now the routing authority for retained-set widening and benchmark exclusion.
- The next bounded move is `Phase 4R-A` for the retained `cubing/cubing.js` `MPL`-aware dependency or adapter lane, while the optional `Phase 3R-G` browser comparison lane remains deferred unless the landed primary browser spatial stack exposes a real gap.
- The next bounded move is `Phase 4R-B` for the retained `cutelyaware/magiccube4d` attributed legacy `4D` interaction, history, and macro lane, while the optional `Phase 3R-G` browser comparison lane remains deferred unless the landed primary browser spatial stack exposes a real gap.

View file

@ -53,8 +53,9 @@ Do not use it as the primary architecture ledger. The architecture and donor dec
This file now also preserves the current truth that future models must not lose:
- current curated HyperTwist shallow-eval set: `71` repos
- currently verified live/implemented in checked `UnrealHyperTwist` surfaces: `14`
- currently verified live/implemented in checked `UnrealHyperTwist` surfaces: `15`
- permissive live lanes: `13`
- boundary-sensitive live lanes: `1`
- restrictive live lanes: `1`
The thirteen permissive live lanes are:
@ -73,6 +74,10 @@ The thirteen permissive live lanes are:
- `poliva/cubedex`
- `newyork-anthonyng/rubiks-cross-trainer`
The one boundary-sensitive live lane is:
- `cubing/cubing.js`
The one restrictive live lane is:
- `onionhoney/roux-trainers`
@ -90,7 +95,7 @@ Interpretation rule:
Reset rule:
- preserve the fourteen landed/live lanes
- preserve the fifteen landed/live lanes
- do not treat the remaining non-live rows as already absorbed
- route all non-live rows only through the closed `Phase 1R` retained-set contract and the relevant `0R-*` packet
@ -123,7 +128,8 @@ Current practical interpretation:
- the landed `google/model-viewer` widening packet now lives in `docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md`
- the landed `met4citizen/TalkingHead` widening packet now lives in `docs/HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md`
- the landed `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` widening packet now lives in `docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md`
- the next bounded move is `Phase 4R-A`
- the landed `cubing/cubing.js` boundary-sensitive widening packet now lives in `docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md`
- the next bounded move is `Phase 4R-B`
Companion docs:
@ -461,6 +467,13 @@ Recommended working posture:
- avoid deep private forks unless you are prepared to publish the modified `cubing.js` source files
- treat it as a strong semantic/runtime donor for classic-cubing state, notation, scramble, rendering, and smartcube integration, but not as the proprietary core you freely rewrite in place without consequences
Current landed posture added on `2026-05-13`:
- `Phase 4R-A` is now closed
- `cubing/cubing.js` is now live in checked Unreal surfaces as a first-party classic-cubing semantic/runtime adapter lane
- no upstream `cubing.js` source files were modified in that landed packet
- keep the practical `MPL` path explicit in future widening; if HyperTwist later edits upstream-covered files directly, publish those source-file modifications
### `cubing/alg.js`
Decision date:

View file

@ -1,4 +1,4 @@
"repo","primary_url","best_fit_project_v2","phase_g_bucket","portfolio_role_v3","recommended_action_v2","repurposing_potential_v2","v6_license_annotation","v6_license_annotation_status","v6_license_annotation_source","copyleft_relevance_v6_1","copyleft_strategy_v6_1","copyleft_rationale_v6_1","copyleft_strategy_confidence_v6_1","copyleft_manual_review_trigger_v6_1","v6_3_source_of_truth","v6_3_live_state_2026_05_11","v6_3_reset_lane_2026_05_11","v6_3_reset_next_step_2026_05_11"
"repo","primary_url","best_fit_project_v2","phase_g_bucket","portfolio_role_v3","recommended_action_v2","repurposing_potential_v2","v6_license_annotation","v6_license_annotation_status","v6_license_annotation_source","copyleft_relevance_v6_1","copyleft_strategy_v6_1","copyleft_rationale_v6_1","copyleft_strategy_confidence_v6_1","copyleft_manual_review_trigger_v6_1","v6_3_source_of_truth","v6_3_live_state_2026_05_11","v6_3_reset_lane_2026_05_11","v6_3_reset_next_step_2026_05_11"
"HactarCE/Hyperspeedcube","https://github.com/HactarCE/Hyperspeedcube","HyperTwist","","locked core candidate","integrate","direct","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness.","high","strategic-or-implemented-component","v6.3_final_source_of_truth","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R."
"SYSTRAN/faster-whisper","https://github.com/SYSTRAN/faster-whisper","multi-project","","donor bench","repurpose","moderate modification","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded Python STT donor/service candidate; review chosen model checkpoints separately, but no clean-room path is required by default.","high","model-artifact-review-required","v6.3_final_source_of_truth","","",""
"cubing/alg.js","https://github.com/cubing/alg.js","HyperTwist","Donor Bench","donor bench","repurpose","architecture only","GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","reverse_engineer_preferred","The repo is GPL-3.0-or-later and should remain a focused clean-room donor lane rather than direct donor code. Preserve the parser/AST/traversal semantics through a scrubbed Model A handoff only.","high","gpl-clean-room-donor","v6.3_final_source_of_truth","selected_not_live_clean_room_candidate","phase0r_clean_room_eval_then_model_a_model_b","Phase 1R closed. Retain as a Phase 5R clean-room-only algorithm-language candidate; implement only from the scrubbed Model A dossier and retained-set contract."
@ -10,13 +10,13 @@
"ggml-org/whisper.cpp","https://github.com/ggml-org/whisper.cpp","multi-project","","donor bench","repurpose","moderate modification","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. This repo is best used as a bounded offline STT sidecar or native speech-input seam; no clean-room path is required by default.","high","model-artifact-review-recommended","v6.3_final_source_of_truth","","",""
"tao-yu/Alg-Trainer","https://github.com/tao-yu/Alg-Trainer","HyperTwist","","locked core candidate","integrate","direct","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness.","high","strategic-or-implemented-component","v6.3_final_source_of_truth","implemented_live_permissive","landed_permissive_preserve","Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible and widen only through ordinary owned enhancement work."
"rhasspy/piper","https://github.com/rhasspy/piper","multi-project","","donor bench","repurpose","moderate modification","MIT code; voice artifacts reviewed separately","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. The real review point is selected voice artifacts, not the runtime code; keep voice selection separate from code adoption.","high","voice-artifact-review-required","v6.3_final_source_of_truth","","",""
"cubing/cubing.js","https://github.com/cubing/cubing.js","HyperTwist","Locked Strategic Donor","locked strategic donor","integrate","direct","MPL-2.0 OR GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The repo is dual-licensed MPL-2.0 OR GPL-3.0-or-later. HyperTwist can consume it as a package or bounded adapter under the MPL side, but should avoid a carefree deep private source fork of upstream files.","high","dual-license-boundary-review","v6.3_final_source_of_truth","selected_not_live_boundary_sensitive","phase0r_boundary_sensitive_eval_then_adapter_or_sidecar","Phase 1R closed. Retain as a Phase 4R boundary-sensitive candidate through MPL-side dependency or adapter use; avoid deep private forks unless publication obligations are acceptable."
"cubing/cubing.js","https://github.com/cubing/cubing.js","HyperTwist","Locked Strategic Donor","locked strategic donor","integrate","direct","MPL-2.0 OR GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The repo is dual-licensed MPL-2.0 OR GPL-3.0-or-later. HyperTwist can consume it as a package or bounded adapter under the MPL side, but should avoid a carefree deep private source fork of upstream files.","high","dual-license-boundary-review","v6.3_final_source_of_truth","implemented_live_boundary_sensitive","landed_boundary_sensitive_preserve","Phase 4R-A closed. Preserve as the landed first-party classic-cubing semantic/runtime adapter lane through explicit MPL-aware dependency or adapter use; keep notices and publication duties explicit before any future direct upstream file modification."
"cahidenes/rubiks-cube-solver","https://github.com/cahidenes/rubiks-cube-solver","HyperTwist","Locked Strategic Donor","locked strategic donor","integrate","direct","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness.","high","strategic-or-implemented-component","v6.3_final_source_of_truth","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R."
"tentone/rubix-solver","https://github.com/tentone/rubix-solver","HyperTwist","Locked Strategic Donor","locked strategic donor","integrate","direct","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness.","high","strategic-or-implemented-component","v6.3_final_source_of_truth","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R."
"Lykos/cube_trainer","https://github.com/Lykos/cube_trainer","HyperTwist","Locked Strategic Donor","locked strategic donor","integrate","direct","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness.","high","strategic-or-implemented-component","v6.3_final_source_of_truth","implemented_live_permissive","landed_permissive_preserve","Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible and widen only through ordinary owned enhancement work."
"poliva/cubedex","https://github.com/poliva/cubedex","HyperTwist","Locked Strategic Donor","locked strategic donor","integrate","direct","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness.","high","strategic-or-implemented-component","v6.3_final_source_of_truth","implemented_live_permissive","landed_permissive_preserve","Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible and widen only through ordinary owned enhancement work."
"kash/cubedesk","https://github.com/kash/cubedesk","HyperTwist","Locked Strategic Donor","locked strategic donor","repurpose","architecture only","GPLv3-or-later in README/LICENSE; package.json says All Rights Reserved","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","reverse_engineer_preferred","The repo has conflicting license signals and should remain in restrictive clean-room custody. Treat it as a strategic product-pattern and subsystem extraction target, not as direct donor code.","high","license-contradiction-clean-room-donor","v6.3_final_source_of_truth","selected_not_live_clean_room_candidate","phase0r_clean_room_eval_then_model_a_model_b","Phase 1R closed. Retain as a Phase 5R clean-room-only timer, trainer, stats, and smart-cube product-pattern candidate; implement only from the scrubbed Model A dossier."
"cutelyaware/magiccube4d","https://github.com/cutelyaware/magiccube4d/tree/master","HyperTwist","Locked Strategic Donor","locked strategic donor","repurpose","moderate modification","Custom broad-use license with attribution requested","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","direct_incorporation_ok","The repo is operationally usable because the custom license explicitly allows use, modification, and redistribution, but attribution and provenance obligations must be preserved and tracked.","medium","custom-license-attribution-review","v6.3_final_source_of_truth","selected_not_live_boundary_sensitive","phase0r_boundary_sensitive_eval_then_adapter_or_sidecar","Phase 1R closed. Retain as a Phase 4R attributed donor beneath the Hyperspeedcube anchor; preserve attribution and provenance explicitly."
"cutelyaware/magiccube4d","https://github.com/cutelyaware/magiccube4d/tree/master","HyperTwist","Locked Strategic Donor","locked strategic donor","repurpose","moderate modification","Custom broad-use license with attribution requested","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","direct_incorporation_ok","The repo is operationally usable because the custom license explicitly allows use, modification, and redistribution, but attribution and provenance obligations must be preserved and tracked.","medium","custom-license-attribution-review","v6.3_final_source_of_truth","implemented_live_boundary_sensitive","landed_boundary_sensitive_preserve","Phase 1R closed. Retain as a Phase 4R attributed donor beneath the Hyperspeedcube anchor; preserve attribution and provenance explicitly."
"roice3/Magic120Cell","https://github.com/roice3/Magic120Cell","HyperTwist","Locked Strategic Donor","locked strategic donor","repurpose","moderate modification","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The repo is MIT and should remain a specialized 4D interaction donor. Direct donor use is legally straightforward if HyperTwist wants to preserve its dedicated UX and puzzle-handling surfaces.","high","permissive-specialized-donor","v6.3_final_source_of_truth","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R."
"roice3/MagicCube5D","https://github.com/roice3/MagicCube5D","HyperTwist","Locked Strategic Donor","locked strategic donor","repurpose","moderate modification","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The repo is MIT and should remain a specialized 5D interaction donor. Direct donor use is legally straightforward if HyperTwist wants to preserve its advanced cube-specific UX and macro behavior.","high","permissive-specialized-donor","v6.3_final_source_of_truth","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R."
"cs0x7f/cstimer","https://github.com/cs0x7f/cstimer","HyperTwist","Reserve Bench","Reserve Bench","future candidate","architecture only","GPL-3.0","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","pattern_only_preferred","The repo is GPL-3.0 and remains the primary restrictive timer, stats, scramble, and smart-device benchmark. Use it for behavioral parity and acceptance criteria, not direct source incorporation.","high","gpl-timer-benchmark","v6.3_final_source_of_truth","not_live_reference_or_discard_candidate","phase0r_reference_benchmark_or_discard_eval","Packet 0R-E closed. Retain as the primary restrictive timer/stats/scramble/smart-device benchmark and future clean-room timer-pattern oracle."

1 repo primary_url best_fit_project_v2 phase_g_bucket portfolio_role_v3 recommended_action_v2 repurposing_potential_v2 v6_license_annotation v6_license_annotation_status v6_license_annotation_source copyleft_relevance_v6_1 copyleft_strategy_v6_1 copyleft_rationale_v6_1 copyleft_strategy_confidence_v6_1 copyleft_manual_review_trigger_v6_1 v6_3_source_of_truth v6_3_live_state_2026_05_11 v6_3_reset_lane_2026_05_11 v6_3_reset_next_step_2026_05_11
2 HactarCE/Hyperspeedcube https://github.com/HactarCE/Hyperspeedcube HyperTwist locked core candidate integrate direct MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. high strategic-or-implemented-component v6.3_final_source_of_truth selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
3 SYSTRAN/faster-whisper https://github.com/SYSTRAN/faster-whisper multi-project donor bench repurpose moderate modification MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok The code license is MIT and direct use is allowed. Treat it as a bounded Python STT donor/service candidate; review chosen model checkpoints separately, but no clean-room path is required by default. high model-artifact-review-required v6.3_final_source_of_truth
4 cubing/alg.js https://github.com/cubing/alg.js HyperTwist Donor Bench donor bench repurpose architecture only GPL-3.0-or-later known_from_reference_material uploaded_reference_docs mixed_or_boundary_sensitive_known reverse_engineer_preferred The repo is GPL-3.0-or-later and should remain a focused clean-room donor lane rather than direct donor code. Preserve the parser/AST/traversal semantics through a scrubbed Model A handoff only. high gpl-clean-room-donor v6.3_final_source_of_truth selected_not_live_clean_room_candidate phase0r_clean_room_eval_then_model_a_model_b Phase 1R closed. Retain as a Phase 5R clean-room-only algorithm-language candidate; implement only from the scrubbed Model A dossier and retained-set contract.
10 ggml-org/whisper.cpp https://github.com/ggml-org/whisper.cpp multi-project donor bench repurpose moderate modification MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok The code license is MIT and direct use is allowed. This repo is best used as a bounded offline STT sidecar or native speech-input seam; no clean-room path is required by default. high model-artifact-review-recommended v6.3_final_source_of_truth
11 tao-yu/Alg-Trainer https://github.com/tao-yu/Alg-Trainer HyperTwist locked core candidate integrate direct MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. high strategic-or-implemented-component v6.3_final_source_of_truth implemented_live_permissive landed_permissive_preserve Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible and widen only through ordinary owned enhancement work.
12 rhasspy/piper https://github.com/rhasspy/piper multi-project donor bench repurpose moderate modification MIT code; voice artifacts reviewed separately known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok The code license is MIT and direct use is allowed. The real review point is selected voice artifacts, not the runtime code; keep voice selection separate from code adoption. high voice-artifact-review-required v6.3_final_source_of_truth
13 cubing/cubing.js https://github.com/cubing/cubing.js HyperTwist Locked Strategic Donor locked strategic donor integrate direct MPL-2.0 OR GPL-3.0-or-later known_from_reference_material uploaded_reference_docs mixed_or_boundary_sensitive_known bounded_sidecar_or_selective_reimplementation The repo is dual-licensed MPL-2.0 OR GPL-3.0-or-later. HyperTwist can consume it as a package or bounded adapter under the MPL side, but should avoid a carefree deep private source fork of upstream files. high dual-license-boundary-review v6.3_final_source_of_truth selected_not_live_boundary_sensitive implemented_live_boundary_sensitive phase0r_boundary_sensitive_eval_then_adapter_or_sidecar landed_boundary_sensitive_preserve Phase 1R closed. Retain as a Phase 4R boundary-sensitive candidate through MPL-side dependency or adapter use; avoid deep private forks unless publication obligations are acceptable. Phase 4R-A closed. Preserve as the landed first-party classic-cubing semantic/runtime adapter lane through explicit MPL-aware dependency or adapter use; keep notices and publication duties explicit before any future direct upstream file modification.
14 cahidenes/rubiks-cube-solver https://github.com/cahidenes/rubiks-cube-solver HyperTwist Locked Strategic Donor locked strategic donor integrate direct MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. high strategic-or-implemented-component v6.3_final_source_of_truth selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
15 tentone/rubix-solver https://github.com/tentone/rubix-solver HyperTwist Locked Strategic Donor locked strategic donor integrate direct MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. high strategic-or-implemented-component v6.3_final_source_of_truth selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
16 Lykos/cube_trainer https://github.com/Lykos/cube_trainer HyperTwist Locked Strategic Donor locked strategic donor integrate direct MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. high strategic-or-implemented-component v6.3_final_source_of_truth implemented_live_permissive landed_permissive_preserve Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible and widen only through ordinary owned enhancement work.
17 poliva/cubedex https://github.com/poliva/cubedex HyperTwist Locked Strategic Donor locked strategic donor integrate direct MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. high strategic-or-implemented-component v6.3_final_source_of_truth implemented_live_permissive landed_permissive_preserve Phase 1R closed. Preserve as a landed first-party permissive lane; keep notices and attribution visible and widen only through ordinary owned enhancement work.
18 kash/cubedesk https://github.com/kash/cubedesk HyperTwist Locked Strategic Donor locked strategic donor repurpose architecture only GPLv3-or-later in README/LICENSE; package.json says All Rights Reserved known_from_reference_material uploaded_reference_docs mixed_or_boundary_sensitive_known reverse_engineer_preferred The repo has conflicting license signals and should remain in restrictive clean-room custody. Treat it as a strategic product-pattern and subsystem extraction target, not as direct donor code. high license-contradiction-clean-room-donor v6.3_final_source_of_truth selected_not_live_clean_room_candidate phase0r_clean_room_eval_then_model_a_model_b Phase 1R closed. Retain as a Phase 5R clean-room-only timer, trainer, stats, and smart-cube product-pattern candidate; implement only from the scrubbed Model A dossier.
19 cutelyaware/magiccube4d https://github.com/cutelyaware/magiccube4d/tree/master HyperTwist Locked Strategic Donor locked strategic donor repurpose moderate modification Custom broad-use license with attribution requested known_from_reference_material uploaded_reference_docs mixed_or_boundary_sensitive_known direct_incorporation_ok The repo is operationally usable because the custom license explicitly allows use, modification, and redistribution, but attribution and provenance obligations must be preserved and tracked. medium custom-license-attribution-review v6.3_final_source_of_truth selected_not_live_boundary_sensitive implemented_live_boundary_sensitive phase0r_boundary_sensitive_eval_then_adapter_or_sidecar landed_boundary_sensitive_preserve Phase 1R closed. Retain as a Phase 4R attributed donor beneath the Hyperspeedcube anchor; preserve attribution and provenance explicitly.
20 roice3/Magic120Cell https://github.com/roice3/Magic120Cell HyperTwist Locked Strategic Donor locked strategic donor repurpose moderate modification MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok The repo is MIT and should remain a specialized 4D interaction donor. Direct donor use is legally straightforward if HyperTwist wants to preserve its dedicated UX and puzzle-handling surfaces. high permissive-specialized-donor v6.3_final_source_of_truth selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
21 roice3/MagicCube5D https://github.com/roice3/MagicCube5D HyperTwist Locked Strategic Donor locked strategic donor repurpose moderate modification MIT known_from_reference_material uploaded_reference_docs permissive_or_noncopyleft_known direct_incorporation_ok The repo is MIT and should remain a specialized 5D interaction donor. Direct donor use is legally straightforward if HyperTwist wants to preserve its advanced cube-specific UX and macro behavior. high permissive-specialized-donor v6.3_final_source_of_truth selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
22 cs0x7f/cstimer https://github.com/cs0x7f/cstimer HyperTwist Reserve Bench Reserve Bench future candidate architecture only GPL-3.0 known_from_reference_material uploaded_reference_docs mixed_or_boundary_sensitive_known pattern_only_preferred The repo is GPL-3.0 and remains the primary restrictive timer, stats, scramble, and smart-device benchmark. Use it for behavioral parity and acceptance criteria, not direct source incorporation. high gpl-timer-benchmark v6.3_final_source_of_truth not_live_reference_or_discard_candidate phase0r_reference_benchmark_or_discard_eval Packet 0R-E closed. Retain as the primary restrictive timer/stats/scramble/smart-device benchmark and future clean-room timer-pattern oracle.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
"repo","primary_url","project","phase_g_bucket","stack_layer","audit_tier","tier_queue_order","global_order","wave_number","portfolio_priority_score","execution_priority_score_v3","current_confidence","modification_scope_detail_v3","recommended_action_v2","repurposing_potential_v2","audit_goal","inspect_emphasis","source_code_audit_targets","source_inspection_questions","integration_realization_detail","consolidation_detail","repurpose_detail","merger_partner_1","merger_type_1","merger_rationale_1","merger_partner_2","merger_type_2","merger_rationale_2","merger_partner_3","merger_type_3","merger_rationale_3","cross_project_transfer_targets","cross_project_transfer_rationale","reclassify_up_if","reclassify_down_if","deliverable_expected","session_note_template","recommended_context_packet","phase_g_master_list_rationale","phase_g_bucket_reason","coding_model_instruction_v3","source_audit_packet_id","cluster_tag","_repo_norm","v5_runtime_project","v5_scriptorium_override_status","v5_scriptorium_bucket","v5_scriptorium_stack_layer","v5_scriptorium_current_reality_status","v5_scriptorium_supersedes_prior_assessment","v5_source_of_truth","v6_license_annotation","v6_license_annotation_status","v6_license_annotation_source","v6_supplemental_intake_present","v6_supplemental_source_groups","v6_supplemental_source_sections","v6_supplemental_source_files","v6_reference_material_position","v6_kali_agent_access_relevance","v6_branch_seed_prompt_included","v6_branch_seed_scope","v6_intake_wave","v6_notes","v6_source_of_truth","project_rank_num","tier_rank_num","priority_num","copyleft_relevance_v6_1","copyleft_strategy_v6_1","copyleft_rationale_v6_1","preferred_boundary_model_v6_1","open_compliance_if_used_as_is_v6_1","reverse_engineer_if_proprietary_core_needed_v6_1","copyleft_strategy_confidence_v6_1","copyleft_manual_review_trigger_v6_1","as_is_incorporation_sensible_v6_1","v6_2_sre_layer","v6_2_sre_stratum","v6_2_sre_role","v6_2_sre_family","v6_2_related_kali_package","v6_2_related_upstream_repo","v6_2_kali_package_suffices_for_tool_execution","v6_2_upstream_repo_preferred_for_deep_eval","v6_2_index_page_followup_useful","v6_2_index_page_followup_reason","v6_2_sre_notes","v6_2_dnspy_ilspy_relevance","v6_3_source_of_truth","v6_3_merge_note","v6_3_live_state_2026_05_11","v6_3_reset_lane_2026_05_11","v6_3_reset_next_step_2026_05_11"
"repo","primary_url","project","phase_g_bucket","stack_layer","audit_tier","tier_queue_order","global_order","wave_number","portfolio_priority_score","execution_priority_score_v3","current_confidence","modification_scope_detail_v3","recommended_action_v2","repurposing_potential_v2","audit_goal","inspect_emphasis","source_code_audit_targets","source_inspection_questions","integration_realization_detail","consolidation_detail","repurpose_detail","merger_partner_1","merger_type_1","merger_rationale_1","merger_partner_2","merger_type_2","merger_rationale_2","merger_partner_3","merger_type_3","merger_rationale_3","cross_project_transfer_targets","cross_project_transfer_rationale","reclassify_up_if","reclassify_down_if","deliverable_expected","session_note_template","recommended_context_packet","phase_g_master_list_rationale","phase_g_bucket_reason","coding_model_instruction_v3","source_audit_packet_id","cluster_tag","_repo_norm","v5_runtime_project","v5_scriptorium_override_status","v5_scriptorium_bucket","v5_scriptorium_stack_layer","v5_scriptorium_current_reality_status","v5_scriptorium_supersedes_prior_assessment","v5_source_of_truth","v6_license_annotation","v6_license_annotation_status","v6_license_annotation_source","v6_supplemental_intake_present","v6_supplemental_source_groups","v6_supplemental_source_sections","v6_supplemental_source_files","v6_reference_material_position","v6_kali_agent_access_relevance","v6_branch_seed_prompt_included","v6_branch_seed_scope","v6_intake_wave","v6_notes","v6_source_of_truth","project_rank_num","tier_rank_num","priority_num","copyleft_relevance_v6_1","copyleft_strategy_v6_1","copyleft_rationale_v6_1","preferred_boundary_model_v6_1","open_compliance_if_used_as_is_v6_1","reverse_engineer_if_proprietary_core_needed_v6_1","copyleft_strategy_confidence_v6_1","copyleft_manual_review_trigger_v6_1","as_is_incorporation_sensible_v6_1","v6_2_sre_layer","v6_2_sre_stratum","v6_2_sre_role","v6_2_sre_family","v6_2_related_kali_package","v6_2_related_upstream_repo","v6_2_kali_package_suffices_for_tool_execution","v6_2_upstream_repo_preferred_for_deep_eval","v6_2_index_page_followup_useful","v6_2_index_page_followup_reason","v6_2_sre_notes","v6_2_dnspy_ilspy_relevance","v6_3_source_of_truth","v6_3_merge_note","v6_3_live_state_2026_05_11","v6_3_reset_lane_2026_05_11","v6_3_reset_next_step_2026_05_11"
"HactarCE/Hyperspeedcube","https://github.com/HactarCE/Hyperspeedcube","HyperTwist","Locked Foundation","nD / hypercubing simulation substrate","P0","20","9203","2.0","160.0","193.0","high","Keep the core engine or major subsystem mostly intact; change wrappers, branding, storage/auth, and integration seams so it becomes a first-class part of the target stack. For this repo class, that usually means preserving generalized puzzle/state/render logic while building a new application shell around it.","integrate","direct","Validate whether HactarCE/Hyperspeedcube truly deserves its current foundation-tier role for HyperTwist; extract the irreducible core abstractions, extension points, and transplantable subsystems.","state representation, move engine, notation parser, solver interfaces, renderer/projection abstraction, serialization/save formats, input mapping, performance/accuracy tradeoffs","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for higher-dimensional state/notation representations, projection math, renderer abstractions, puzzle serialization, controls, and replay/training hooks.","Inspect generalized puzzle/state model; notation parser; transform math; rendering abstraction; save/load format; puzzle generator; input mapping; performance optimizations.","Integrate as a hypercubing / nD simulation subsystem for HyperTwist. Preserve the strongest existing pieces — nD state model, move notation, renderer, projection controls, solver/traversal logic, puzzle serialization, replay — and expose them behind a portfolio-stable interface. Wire first into cubing/cubing.js, then into tao-yu/Alg-Trainer for orchestration, visualization, or data exchange.","Consolidate under the Hyperspeedcube + cubing.js + qbr nucleus, not beside it as a separate silo. Normalize data contracts, auth/permissions, storage, and telemetry; then attach as a service, plugin, canvas layer, trainer, or analysis module. Descending combination order: cubing/cubing.js, tao-yu/Alg-Trainer, poliva/cubedex.","Repurpose here means: turn it into a higher-dimensional renderer/simulator donor and shared interaction grammar for HyperTwist and long-horizon VectorShell.","cubing/cubing.js","3D engine + notation/state donor","Use the partner for canonical state or rendering abstractions and merge this repo's specialized logic on top.","tao-yu/Alg-Trainer","training UX donor","Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell.","cross-project transfer candidate","future merger","Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell.","VectorShell | ScriptoriumAI","VectorShell can borrow spatial/rendering and perception primitives; ScriptoriumAI can borrow tutorial/educational visualization patterns rather than the full engine.","Keep current tier unless source audit reveals architectural shallowness, hard-coded assumptions, missing extension points, or brittle internals.","Downgrade if core capabilities are thinner than claimed, architecture is too brittle or narrow, maintenance reality is poor, or the differentiating thesis collapses under code inspection.","Architecture note + salvage map + integration recipe + reclassification verdict","1) Confirmed visible capabilities
2) Hidden capabilities found only in source
3) Best salvageable modules/files/packages
@ -43,7 +43,7 @@
6) Best merge partners and exact coupling seam
7) Reasons to promote / retain / demote
8) Confidence change after source audit
9) Open questions / blockers","Primary: Phase G v4 board (canonical ranking and current bucket); Operational v3 board filtered to this repo; Merger matrix rows involving this repo; VS Code packet row for this repo, if present. Optional: Cluster narratives row for matching cluster; Bookmark occurrence rows for this repo; Relevant project-locked board sheet. Do not attach v1/v2 or preliminary memo unless a judgment conflict, lineage ambiguity, or rationale gap needs arbitration.","Keep as the canonical classic-cubing semantics and interop donor, but only through its practical MPL path or bounded adapter/package consumption.","Dual MPL/GPL classic-cubing anchor with strong donor value, but not a carefree private-source fork candidate.","Audit cubing/cubing.js as a interface / visualization / shell surface candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect scene graph/canvas data model; layout primitives; component library; keyboard/gesture interactions; import/export schema; theming; plugin or extension hooks. Decide whether the best extraction path is direct and whether it belongs as foundation engine / visualization donor. Test the three merger paths in order: 1) project-local anchor [base + donor]; 2) shared portfolio utility [augmenter]; 3) cross-project transfer candidate [future merger]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell.","HT_cube_semantics_0001","HT_cube_semantics","cubing/cubing.js","","","","","","","Original global P0-P3 source audit retained","MPL-2.0 OR GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","yes","hypertwist_and_scriptoriumai","HyperTwist","HyperTwist & ScriptoriumAI.txt","Supplemental intake references are advisory only; v6 adjudication remains the source of truth.","Usually indirect","yes","v6 unified all-project source-of-truth pack","v5_carry_forward","Existing v5 row reaffirmed or widened by v6 supplemental intake.","v6_unified_source_of_truth_pack","2","1","152.0","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The repo is dual-licensed MPL-2.0 OR GPL-3.0-or-later. HyperTwist can consume it as a package or bounded adapter under the MPL side, but should avoid a carefree deep private source fork of upstream files.","Prefer package/dependency consumption or a bounded adapter seam under the MPL side; avoid deep private forks of upstream source files.","Preserve MPL notices and publish modifications to MPL-covered files when distribution obligations apply; avoid assuming the GPL side is the intended operational path.","Only if you later need to replace narrow upstream-covered seams with first-party equivalents or avoid carrying MPL-governed source modifications.","high","dual-license-boundary-review","yes","","","","","","","","","","","","","v6.3_final_source_of_truth","Assigned to HT_cube_semantics during cluster normalization on 2026-04-25.","selected_not_live_boundary_sensitive","phase0r_boundary_sensitive_eval_then_adapter_or_sidecar","Phase 1R closed. Retain as a Phase 4R boundary-sensitive candidate through MPL-side dependency or adapter use; avoid deep private forks unless publication obligations are acceptable."
9) Open questions / blockers","Primary: Phase G v4 board (canonical ranking and current bucket); Operational v3 board filtered to this repo; Merger matrix rows involving this repo; VS Code packet row for this repo, if present. Optional: Cluster narratives row for matching cluster; Bookmark occurrence rows for this repo; Relevant project-locked board sheet. Do not attach v1/v2 or preliminary memo unless a judgment conflict, lineage ambiguity, or rationale gap needs arbitration.","Keep as the canonical classic-cubing semantics and interop donor, but only through its practical MPL path or bounded adapter/package consumption.","Dual MPL/GPL classic-cubing anchor with strong donor value, but not a carefree private-source fork candidate.","Audit cubing/cubing.js as a interface / visualization / shell surface candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect scene graph/canvas data model; layout primitives; component library; keyboard/gesture interactions; import/export schema; theming; plugin or extension hooks. Decide whether the best extraction path is direct and whether it belongs as foundation engine / visualization donor. Test the three merger paths in order: 1) project-local anchor [base + donor]; 2) shared portfolio utility [augmenter]; 3) cross-project transfer candidate [future merger]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell.","HT_cube_semantics_0001","HT_cube_semantics","cubing/cubing.js","","","","","","","Original global P0-P3 source audit retained","MPL-2.0 OR GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","yes","hypertwist_and_scriptoriumai","HyperTwist","HyperTwist & ScriptoriumAI.txt","Supplemental intake references are advisory only; v6 adjudication remains the source of truth.","Usually indirect","yes","v6 unified all-project source-of-truth pack","v5_carry_forward","Existing v5 row reaffirmed or widened by v6 supplemental intake.","v6_unified_source_of_truth_pack","2","1","152.0","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The repo is dual-licensed MPL-2.0 OR GPL-3.0-or-later. HyperTwist can consume it as a package or bounded adapter under the MPL side, but should avoid a carefree deep private source fork of upstream files.","Prefer package/dependency consumption or a bounded adapter seam under the MPL side; avoid deep private forks of upstream source files.","Preserve MPL notices and publish modifications to MPL-covered files when distribution obligations apply; avoid assuming the GPL side is the intended operational path.","Only if you later need to replace narrow upstream-covered seams with first-party equivalents or avoid carrying MPL-governed source modifications.","high","dual-license-boundary-review","yes","","","","","","","","","","","","","v6.3_final_source_of_truth","Assigned to HT_cube_semantics during cluster normalization on 2026-04-25.","implemented_live_boundary_sensitive","landed_boundary_sensitive_preserve","Phase 4R-A closed. Preserve as the landed first-party classic-cubing semantic/runtime adapter lane through explicit MPL-aware dependency or adapter use; keep notices and publication duties explicit before any future direct upstream file modification."
"cubing/alg.js","https://github.com/cubing/alg.js","HyperTwist","Donor Bench","Focused restrictive clean-room donor target","P2","25","9208","0.0","95.0","95.0","medium","Moderate modification. Treat cubing/alg.js as a family-level donor for HyperTwist: extract the implementation layer that matches its strongest domain contribution, preserve its protocols/data models/CLI or renderer boundaries, and adapt only the surface integration needed for HyperTwist rather than rewriting it wholesale.","repurpose","architecture only","Determine the real reusable value of cubing/alg.js for HyperTwist and decide whether it should be promoted, retained, or demoted in the v6 corpus.","Inspect state representations, move/alg parsers, scrambler generators, geometry/math cores, renderer abstractions, engine bindings, and XR/web surfaces.","Inspect state representations, move/alg parsers, scrambler generators, geometry/math cores, renderer abstractions, engine bindings, and XR/web surfaces.","Inspect state representations, move/alg parsers, scrambler generators, geometry/math cores, renderer abstractions, engine bindings, and XR/web surfaces.","Primary realization path: use as a simulation, training, renderer, binding, or integration donor inside HyperTwist's dual stack of physical-cube analysis and higher-dimensional virtual training.","Consolidate by HyperTwist layer: core puzzle logic, scramblers/algs, renderer/bindings, XR/game-engine surfaces, experiments/comparators.","Repurpose toward renderer abstractions, puzzle-logic libraries, solver bindings, training UIs, or XR/engine adapters.","HactarCE/Hyperspeedcube","foundation repo + feature donor","Use cubing/alg.js as a HyperTwist donor into HactarCE/Hyperspeedcube for puzzle logic, bindings, renderer ideas, or training/runtime augmentation.","cubing/cubing.js","engine repo + interface donor","Use cubing/alg.js as a HyperTwist donor into cubing/cubing.js for puzzle logic, bindings, renderer ideas, or training/runtime augmentation.","kkoomen/qbr","feature extraction only","Use cubing/alg.js as a HyperTwist donor into kkoomen/qbr for puzzle logic, bindings, renderer ideas, or training/runtime augmentation.","multi-project","Audit for hidden abstractions that travel across projects.","Source reveals a strong reusable subsystem, extensibility layer, protocol boundary, renderer core, data model, or automation surface that clearly strengthens one of the project stacks.","Source reveals the repo is mostly documentation, thin wrappers, packaging glue, stale scaffolding, or a weak duplicate with no meaningful transplantable subsystem.","Source-audit note, role recommendation, hidden-value extraction, exact integration path, and reclassification decision.","Implemented capability; hidden reusable modules; strongest integration path; strongest merger path; upgrade triggers; downgrade triggers; final recommended bucket.","Use v6 unified board + P0 tier packet + project design language + relevant family references.","Keep as its own clean-room donor lane because it isolates parser, AST, traversal, validation, keyboard-move, and URL/interchange semantics.","Standalone GPL parser/AST package with focused semantics value best preserved through Model A / Model B separation.","Inspect cubing/alg.js directly in source. Do not dismiss for license. Preserve nuanced distinctions between donor, reserve, comparator, and exclusion.","HT_cube_semantics_0002","HT_cube_semantics","cubing/alg.js","supplemental_v6_not_runtime_anchored","","","","","no","v6_unified_source_of_truth_pack","GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","","","2","1","95.0","mixed_or_boundary_sensitive_known","reverse_engineer_preferred","The repo is GPL-3.0-or-later and should remain a focused clean-room donor lane rather than direct donor code. Preserve the parser/AST/traversal semantics through a scrubbed Model A handoff only.","Model A may inspect the restrictive source; Model B should implement only from a scrubbed first-party specification.","Direct incorporation would require GPL-compatible distribution/compliance and is not the planned HyperTwist path.","Yes — preferred path for reproducing parser/AST/traversal semantics in first-party code.","high","gpl-clean-room-donor","no","","","","","","","","","","","","","v6.3_final_source_of_truth","Assigned to HT_cube_semantics during cluster normalization on 2026-04-25.","selected_not_live_clean_room_candidate","phase0r_clean_room_eval_then_model_a_model_b","Phase 1R closed. Retain as a Phase 5R clean-room-only algorithm-language candidate; implement only from the scrubbed Model A dossier and retained-set contract."
"cubing/twisty.js","https://github.com/cubing/twisty.js","HyperTwist","Donor Bench","Focused restrictive clean-room donor target","P2","27","9210","0.0","95.0","95.0","medium","Moderate modification. Treat cubing/twisty.js as a family-level donor for HyperTwist: extract the implementation layer that matches its strongest domain contribution, preserve its protocols/data models/CLI or renderer boundaries, and adapt only the surface integration needed for HyperTwist rather than rewriting it wholesale.","repurpose","architecture only","Determine the real reusable value of cubing/twisty.js for HyperTwist and decide whether it should be promoted, retained, or demoted in the v6 corpus.","Inspect state representations, move/alg parsers, scrambler generators, geometry/math cores, renderer abstractions, engine bindings, and XR/web surfaces.","Inspect state representations, move/alg parsers, scrambler generators, geometry/math cores, renderer abstractions, engine bindings, and XR/web surfaces.","Inspect state representations, move/alg parsers, scrambler generators, geometry/math cores, renderer abstractions, engine bindings, and XR/web surfaces.","Primary realization path: use as a simulation, training, renderer, binding, or integration donor inside HyperTwist's dual stack of physical-cube analysis and higher-dimensional virtual training.","Consolidate by HyperTwist layer: core puzzle logic, scramblers/algs, renderer/bindings, XR/game-engine surfaces, experiments/comparators.","Repurpose toward renderer abstractions, puzzle-logic libraries, solver bindings, training UIs, or XR/engine adapters.","HactarCE/Hyperspeedcube","foundation repo + feature donor","Use cubing/twisty.js as a HyperTwist donor into HactarCE/Hyperspeedcube for puzzle logic, bindings, renderer ideas, or training/runtime augmentation.","cubing/cubing.js","engine repo + interface donor","Use cubing/twisty.js as a HyperTwist donor into cubing/cubing.js for puzzle logic, bindings, renderer ideas, or training/runtime augmentation.","kkoomen/qbr","feature extraction only","Use cubing/twisty.js as a HyperTwist donor into kkoomen/qbr for puzzle logic, bindings, renderer ideas, or training/runtime augmentation.","multi-project","Audit for hidden abstractions that travel across projects.","Source reveals a strong reusable subsystem, extensibility layer, protocol boundary, renderer core, data model, or automation surface that clearly strengthens one of the project stacks.","Source reveals the repo is mostly documentation, thin wrappers, packaging glue, stale scaffolding, or a weak duplicate with no meaningful transplantable subsystem.","Source-audit note, role recommendation, hidden-value extraction, exact integration path, and reclassification decision.","Implemented capability; hidden reusable modules; strongest integration path; strongest merger path; upgrade triggers; downgrade triggers; final recommended bucket.","Use v6 unified board + P0 tier packet + project design language + relevant family references.","Keep as its own clean-room donor lane because it isolates browser twisty-viewer/player shell behavior and control-bar semantics.","Standalone GPL viewer/player shell with focused browser twisty behavior best preserved through Model A / Model B separation.","Inspect cubing/twisty.js directly in source. Do not dismiss for license. Preserve nuanced distinctions between donor, reserve, comparator, and exclusion.","HT_cube_semantics_0003","HT_cube_semantics","cubing/twisty.js","supplemental_v6_not_runtime_anchored","","","","","no","v6_unified_source_of_truth_pack","GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","","","2","1","95.0","mixed_or_boundary_sensitive_known","reverse_engineer_preferred","The repo is GPL-3.0-or-later and should remain a focused clean-room donor lane rather than direct donor code. Preserve viewer/player shell, scrubber, and twisty-element behavior through a scrubbed Model A handoff only.","Model A may inspect the restrictive source; Model B should implement only from a scrubbed first-party specification.","Direct incorporation would require GPL-compatible distribution/compliance and is not the planned HyperTwist path.","Yes — preferred path for reproducing compact twisty-viewer behavior in first-party code.","high","gpl-clean-room-donor","no","","","","","","","","","","","","","v6.3_final_source_of_truth","Assigned to HT_cube_semantics during cluster normalization on 2026-04-25.","selected_not_live_clean_room_candidate","phase0r_clean_room_eval_then_model_a_model_b","Phase 1R closed. Retain as a Phase 5R clean-room-only embedded viewer candidate; implement only from the scrubbed Model A dossier and retained-set contract."
"cahidenes/rubiks-cube-solver","https://github.com/cahidenes/rubiks-cube-solver","HyperTwist","Locked Strategic Donor","Vision / reconstruction donor layer","P1","55","9211","4.0","148.0","174.0","high","Keep the core engine or major subsystem mostly intact; change wrappers, branding, storage/auth, and integration seams so it becomes a first-class part of the target stack. For this repo class, that usually means preserving calibration/detection/state-reconstruction logic while replacing camera UX and integration surfaces.","integrate","direct","Confirm the donor thesis for cahidenes/rubiks-cube-solver in HyperTwist: what should be harvested, how tightly it couples to the current stack, and whether it should ever be promoted upward.","image pipeline, detection heuristics/models, cube-state reconstruction, calibration, temporal smoothing, replay model, solver handoff, AR/overlay hooks","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for calibration routines, detection heuristics/models, color/state normalization, replay serialization, solver bridges, camera abstraction layers, and debug visualizations.","Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts.","Integrate as a computer vision / AR subsystem for HyperTwist. Preserve the strongest existing pieces — camera ingest, calibration, segmentation/detection, pose or facelet extraction, state normalization, solver bridge, replay overlay, AR anchors — and expose them behind a portfolio-stable interface. Wire first into kkoomen/qbr, then into vivaansinghvi07/rubix-cube-solver for orchestration, visualization, or data exchange.","Consolidate under the Hyperspeedcube + cubing.js + qbr nucleus, not beside it as a separate silo. Normalize data contracts, auth/permissions, storage, and telemetry; then attach as a service, plugin, canvas layer, trainer, or analysis module. Descending combination order: kkoomen/qbr, vivaansinghvi07/rubix-cube-solver, cubing/cubing.js.","Repurpose here means: turn it into a perception microservice, cube-state API, replay generator, or AR overlay donor for HyperTwist.","kkoomen/qbr","foundation + perception donor","Use this repo against the partner as an augmenting layer; preserve the partner as the likely base and mine this repo for capabilities that improve breadth, UX, or specialization.","vivaansinghvi07/rubix-cube-solver","perception + replay donor","Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell.","cubing/cubing.js","state/render backend","Use the partner for canonical state or rendering abstractions and merge this repo's specialized logic on top.","VectorShell | ScriptoriumAI","VectorShell can borrow spatial/rendering and perception primitives; ScriptoriumAI can borrow tutorial/educational visualization patterns rather than the full engine.","Keep current tier unless source audit reveals architectural shallowness, hard-coded assumptions, missing extension points, or brittle internals.","Downgrade if valuable capability is too entangled to salvage, too shallow, duplicated better elsewhere, or far weaker than the current donor thesis.","Donor extraction note + merge recipe + reclassification verdict","1) Confirmed visible capabilities

1 repo primary_url project phase_g_bucket stack_layer audit_tier tier_queue_order global_order wave_number portfolio_priority_score execution_priority_score_v3 current_confidence modification_scope_detail_v3 recommended_action_v2 repurposing_potential_v2 audit_goal inspect_emphasis source_code_audit_targets source_inspection_questions integration_realization_detail consolidation_detail repurpose_detail merger_partner_1 merger_type_1 merger_rationale_1 merger_partner_2 merger_type_2 merger_rationale_2 merger_partner_3 merger_type_3 merger_rationale_3 cross_project_transfer_targets cross_project_transfer_rationale reclassify_up_if reclassify_down_if deliverable_expected session_note_template recommended_context_packet phase_g_master_list_rationale phase_g_bucket_reason coding_model_instruction_v3 source_audit_packet_id cluster_tag _repo_norm v5_runtime_project v5_scriptorium_override_status v5_scriptorium_bucket v5_scriptorium_stack_layer v5_scriptorium_current_reality_status v5_scriptorium_supersedes_prior_assessment v5_source_of_truth v6_license_annotation v6_license_annotation_status v6_license_annotation_source v6_supplemental_intake_present v6_supplemental_source_groups v6_supplemental_source_sections v6_supplemental_source_files v6_reference_material_position v6_kali_agent_access_relevance v6_branch_seed_prompt_included v6_branch_seed_scope v6_intake_wave v6_notes v6_source_of_truth project_rank_num tier_rank_num priority_num copyleft_relevance_v6_1 copyleft_strategy_v6_1 copyleft_rationale_v6_1 preferred_boundary_model_v6_1 open_compliance_if_used_as_is_v6_1 reverse_engineer_if_proprietary_core_needed_v6_1 copyleft_strategy_confidence_v6_1 copyleft_manual_review_trigger_v6_1 as_is_incorporation_sensible_v6_1 v6_2_sre_layer v6_2_sre_stratum v6_2_sre_role v6_2_sre_family v6_2_related_kali_package v6_2_related_upstream_repo v6_2_kali_package_suffices_for_tool_execution v6_2_upstream_repo_preferred_for_deep_eval v6_2_index_page_followup_useful v6_2_index_page_followup_reason v6_2_sre_notes v6_2_dnspy_ilspy_relevance v6_3_source_of_truth v6_3_merge_note v6_3_live_state_2026_05_11 v6_3_reset_lane_2026_05_11 v6_3_reset_next_step_2026_05_11
2 HactarCE/Hyperspeedcube https://github.com/HactarCE/Hyperspeedcube HyperTwist Locked Foundation nD / hypercubing simulation substrate P0 20 9203 2.0 160.0 193.0 high Keep the core engine or major subsystem mostly intact; change wrappers, branding, storage/auth, and integration seams so it becomes a first-class part of the target stack. For this repo class, that usually means preserving generalized puzzle/state/render logic while building a new application shell around it. integrate direct Validate whether HactarCE/Hyperspeedcube truly deserves its current foundation-tier role for HyperTwist; extract the irreducible core abstractions, extension points, and transplantable subsystems. state representation, move engine, notation parser, solver interfaces, renderer/projection abstraction, serialization/save formats, input mapping, performance/accuracy tradeoffs Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for higher-dimensional state/notation representations, projection math, renderer abstractions, puzzle serialization, controls, and replay/training hooks. Inspect generalized puzzle/state model; notation parser; transform math; rendering abstraction; save/load format; puzzle generator; input mapping; performance optimizations. Integrate as a hypercubing / nD simulation subsystem for HyperTwist. Preserve the strongest existing pieces — nD state model, move notation, renderer, projection controls, solver/traversal logic, puzzle serialization, replay — and expose them behind a portfolio-stable interface. Wire first into cubing/cubing.js, then into tao-yu/Alg-Trainer for orchestration, visualization, or data exchange. Consolidate under the Hyperspeedcube + cubing.js + qbr nucleus, not beside it as a separate silo. Normalize data contracts, auth/permissions, storage, and telemetry; then attach as a service, plugin, canvas layer, trainer, or analysis module. Descending combination order: cubing/cubing.js, tao-yu/Alg-Trainer, poliva/cubedex. Repurpose here means: turn it into a higher-dimensional renderer/simulator donor and shared interaction grammar for HyperTwist and long-horizon VectorShell. cubing/cubing.js 3D engine + notation/state donor Use the partner for canonical state or rendering abstractions and merge this repo's specialized logic on top. tao-yu/Alg-Trainer training UX donor Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell. cross-project transfer candidate future merger Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell. VectorShell | ScriptoriumAI VectorShell can borrow spatial/rendering and perception primitives; ScriptoriumAI can borrow tutorial/educational visualization patterns rather than the full engine. Keep current tier unless source audit reveals architectural shallowness, hard-coded assumptions, missing extension points, or brittle internals. Downgrade if core capabilities are thinner than claimed, architecture is too brittle or narrow, maintenance reality is poor, or the differentiating thesis collapses under code inspection. Architecture note + salvage map + integration recipe + reclassification verdict 1) Confirmed visible capabilities 2) Hidden capabilities found only in source 3) Best salvageable modules/files/packages 4) Integration path into target project 5) Repurpose path outside the original thesis 6) Best merge partners and exact coupling seam 7) Reasons to promote / retain / demote 8) Confidence change after source audit 9) Open questions / blockers Primary: Phase G v4 board (canonical ranking and current bucket); Operational v3 board filtered to this repo; Merger matrix rows involving this repo; VS Code packet row for this repo, if present. Optional: Cluster narratives row for matching cluster; Bookmark occurrence rows for this repo; Relevant project-locked board sheet. Do not attach v1/v2 or preliminary memo unless a judgment conflict, lineage ambiguity, or rationale gap needs arbitration. HactarCE/Hyperspeedcube is placed in Locked Foundation for HyperTwist because it best serves the 'nD / hypercubing simulation substrate' role; recommended action is 'integrate' with repurposing scope 'direct'. Confidence is high because this remains a metadata-level judgment until source audit confirms hidden modules, plugin points, adapters, or architectural strengths. Primary architectural anchor for HyperTwist; strongest current fit in corpus for the 'nD / hypercubing simulation substrate' role and should be source-audited before alternative bases. Audit HactarCE/Hyperspeedcube as a hypercubing / nD engine candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect generalized puzzle/state model; notation parser; transform math; rendering abstraction; save/load format; puzzle generator; input mapping; performance optimizations. Decide whether the best extraction path is direct and whether it belongs as foundation engine / simulation donor. Test the three merger paths in order: 1) cubing/cubing.js [3D engine + notation/state donor]; 2) tao-yu/Alg-Trainer [training UX donor]; 3) cross-project transfer candidate [future merger]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell. HT_hyper_engine_0001 HT_hyper_engine hactarce/hyperspeedcube Original global P0-P3 source audit retained MIT known_from_reference_material uploaded_reference_docs yes hypertwist_and_scriptoriumai HyperTwist HyperTwist & ScriptoriumAI.txt Supplemental intake references are advisory only; v6 adjudication remains the source of truth. Usually indirect yes v6 unified all-project source-of-truth pack v5_carry_forward Existing v5 row reaffirmed or widened by v6 supplemental intake. v6_unified_source_of_truth_pack 2 1 160.0 permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. Direct embed, vendored module, package dependency, or tightly integrated adapter as the architecture requires. Typically preserve notices, attribution, and license text where required; no special copyleft-driven disclosure posture is normally needed. Usually unnecessary unless you later decide the existing implementation is too constraining architecturally. high strategic-or-implemented-component yes v6.3_final_source_of_truth Merged v6.1 copyleft layer and v6.2 SRE layer; use v6.3 docs + workbook as canonical handoff. selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
3 kkoomen/qbr https://github.com/kkoomen/qbr HyperTwist Locked Foundation Live cube-recognition substrate P0 21 9204 4.0 158.0 191.0 high Keep the core engine or major subsystem mostly intact; change wrappers, branding, storage/auth, and integration seams so it becomes a first-class part of the target stack. For this repo class, that usually means preserving calibration/detection/state-reconstruction logic while replacing camera UX and integration surfaces. integrate direct Validate whether kkoomen/qbr truly deserves its current foundation-tier role for HyperTwist; extract the irreducible core abstractions, extension points, and transplantable subsystems. puzzle model, learning flow, UX loops, data schema, replay/export, plugin/hooks Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for calibration routines, detection heuristics/models, color/state normalization, replay serialization, solver bridges, camera abstraction layers, and debug visualizations. Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts. Integrate as a computer vision / AR subsystem for HyperTwist. Preserve the strongest existing pieces — camera ingest, calibration, segmentation/detection, pose or facelet extraction, state normalization, solver bridge, replay overlay, AR anchors — and expose them behind a portfolio-stable interface. Wire first into vivaansinghvi07/rubix-cube-solver, then into cubing/cubing.js for orchestration, visualization, or data exchange. Consolidate under the Hyperspeedcube + cubing.js + qbr nucleus, not beside it as a separate silo. Normalize data contracts, auth/permissions, storage, and telemetry; then attach as a service, plugin, canvas layer, trainer, or analysis module. Descending combination order: vivaansinghvi07/rubix-cube-solver, cubing/cubing.js, HactarCE/Hyperspeedcube. Repurpose here means: turn it into a perception microservice, cube-state API, replay generator, or AR overlay donor for HyperTwist. vivaansinghvi07/rubix-cube-solver perception + replay donor Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell. cubing/cubing.js state/render backend Use the partner for canonical state or rendering abstractions and merge this repo's specialized logic on top. cross-project transfer candidate future merger Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell. VectorShell | ScriptoriumAI VectorShell can borrow spatial/rendering and perception primitives; ScriptoriumAI can borrow tutorial/educational visualization patterns rather than the full engine. Keep current tier unless source audit reveals architectural shallowness, hard-coded assumptions, missing extension points, or brittle internals. Downgrade if core capabilities are thinner than claimed, architecture is too brittle or narrow, maintenance reality is poor, or the differentiating thesis collapses under code inspection. Architecture note + salvage map + integration recipe + reclassification verdict 1) Confirmed visible capabilities 2) Hidden capabilities found only in source 3) Best salvageable modules/files/packages 4) Integration path into target project 5) Repurpose path outside the original thesis 6) Best merge partners and exact coupling seam 7) Reasons to promote / retain / demote 8) Confidence change after source audit 9) Open questions / blockers Primary: Phase G v4 board (canonical ranking and current bucket); Operational v3 board filtered to this repo; Merger matrix rows involving this repo; VS Code packet row for this repo, if present. Optional: Cluster narratives row for matching cluster; Bookmark occurrence rows for this repo; Relevant project-locked board sheet. Do not attach v1/v2 or preliminary memo unless a judgment conflict, lineage ambiguity, or rationale gap needs arbitration. kkoomen/qbr is placed in Locked Foundation for HyperTwist because it best serves the 'Live cube-recognition substrate' role; recommended action is 'integrate' with repurposing scope 'direct'. Confidence is high because this remains a metadata-level judgment until source audit confirms hidden modules, plugin points, adapters, or architectural strengths. Primary architectural anchor for HyperTwist; strongest current fit in corpus for the 'Live cube-recognition substrate' role and should be source-audited before alternative bases. Audit kkoomen/qbr as a vision / perception / AR candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts. Decide whether the best extraction path is direct and whether it belongs as foundation engine / vision donor. Test the three merger paths in order: 1) vivaansinghvi07/rubix-cube-solver [perception + replay donor]; 2) cubing/cubing.js [state/render backend]; 3) cross-project transfer candidate [future merger]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell. HT_cube_vision_0001 HT_cube_vision kkoomen/qbr Original global P0-P3 source audit retained MIT known_from_reference_material uploaded_reference_docs no Supplemental intake references are advisory only; v6 adjudication remains the source of truth. Usually indirect yes v6 unified all-project source-of-truth pack v5_carry_forward v6_unified_source_of_truth_pack 2 1 158.0 permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. Direct embed, vendored module, package dependency, or tightly integrated adapter as the architecture requires. Typically preserve notices, attribution, and license text where required; no special copyleft-driven disclosure posture is normally needed. Usually unnecessary unless you later decide the existing implementation is too constraining architecturally. high strategic-or-implemented-component yes v6.3_final_source_of_truth Merged v6.1 copyleft layer and v6.2 SRE layer; use v6.3 docs + workbook as canonical handoff. selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
4 vivaansinghvi07/rubix-cube-solver https://github.com/vivaansinghvi07/rubix-cube-solver HyperTwist Locked Parallel Foundation Vision / reconstruction donor layer P0 22 9205 8.0 158.0 191.0 high Keep the core engine or major subsystem mostly intact; change wrappers, branding, storage/auth, and integration seams so it becomes a first-class part of the target stack. For this repo class, that usually means preserving calibration/detection/state-reconstruction logic while replacing camera UX and integration surfaces. integrate direct Validate whether vivaansinghvi07/rubix-cube-solver truly deserves its current foundation-tier role for HyperTwist; extract the irreducible core abstractions, extension points, and transplantable subsystems. image pipeline, detection heuristics/models, cube-state reconstruction, calibration, temporal smoothing, replay model, solver handoff, AR/overlay hooks Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for calibration routines, detection heuristics/models, color/state normalization, replay serialization, solver bridges, camera abstraction layers, and debug visualizations. Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts. Integrate as a computer vision / AR subsystem for HyperTwist. Preserve the strongest existing pieces — camera ingest, calibration, segmentation/detection, pose or facelet extraction, state normalization, solver bridge, replay overlay, AR anchors — and expose them behind a portfolio-stable interface. Wire first into kkoomen/qbr, then into cubing/cubing.js for orchestration, visualization, or data exchange. Consolidate under the Hyperspeedcube + cubing.js + qbr nucleus, not beside it as a separate silo. Normalize data contracts, auth/permissions, storage, and telemetry; then attach as a service, plugin, canvas layer, trainer, or analysis module. Descending combination order: kkoomen/qbr, cubing/cubing.js, HactarCE/Hyperspeedcube. Repurpose here means: turn it into a perception microservice, cube-state API, replay generator, or AR overlay donor for HyperTwist. kkoomen/qbr foundation + perception donor Use this repo against the partner as an augmenting layer; preserve the partner as the likely base and mine this repo for capabilities that improve breadth, UX, or specialization. cubing/cubing.js state/render backend Use the partner for canonical state or rendering abstractions and merge this repo's specialized logic on top. cross-project transfer candidate future merger Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell. VectorShell | ScriptoriumAI VectorShell can borrow spatial/rendering and perception primitives; ScriptoriumAI can borrow tutorial/educational visualization patterns rather than the full engine. Keep current tier unless source audit reveals architectural shallowness, hard-coded assumptions, missing extension points, or brittle internals. Downgrade if core capabilities are thinner than claimed, architecture is too brittle or narrow, maintenance reality is poor, or the differentiating thesis collapses under code inspection. Architecture note + salvage map + integration recipe + reclassification verdict 1) Confirmed visible capabilities 2) Hidden capabilities found only in source 3) Best salvageable modules/files/packages 4) Integration path into target project 5) Repurpose path outside the original thesis 6) Best merge partners and exact coupling seam 7) Reasons to promote / retain / demote 8) Confidence change after source audit 9) Open questions / blockers Primary: Phase G v4 board (canonical ranking and current bucket); Operational v3 board filtered to this repo; Merger matrix rows involving this repo; VS Code packet row for this repo, if present. Optional: Cluster narratives row for matching cluster; Bookmark occurrence rows for this repo; Relevant project-locked board sheet. Do not attach v1/v2 or preliminary memo unless a judgment conflict, lineage ambiguity, or rationale gap needs arbitration. vivaansinghvi07/rubix-cube-solver is placed in Locked Parallel Foundation for HyperTwist because it best serves the 'Parallel foundation and reconstruction companion donor' role; recommended action is 'integrate' with repurposing scope 'direct'. Confidence is high because this remains a metadata-level judgment until source audit confirms hidden modules, plugin points, adapters, or architectural strengths. Part of the irreducible core stack for HyperTwist; kept as the parallel foundation and strongest reconstruction companion to qbr. Audit vivaansinghvi07/rubix-cube-solver as a vision / perception / AR candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts. Decide whether the best extraction path is direct and whether it belongs as foundation engine / vision donor. Test the three merger paths in order: 1) kkoomen/qbr [foundation + perception donor]; 2) cubing/cubing.js [state/render backend]; 3) cross-project transfer candidate [future merger]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell. HT_cube_vision_0002 HT_cube_vision vivaansinghvi07/rubix-cube-solver Original global P0-P3 source audit retained MIT known_from_reference_material uploaded_reference_docs no Supplemental intake references are advisory only; v6 adjudication remains the source of truth. Usually indirect yes v6 unified all-project source-of-truth pack v5_carry_forward v6_unified_source_of_truth_pack 2 1 158.0 permissive_or_noncopyleft_known direct_incorporation_ok This repo is aligned with a direct integration path for HyperTwist because it is either already implemented, strategically central, or donor-grade without a visible copyleft constraint in the current materials. Deep incorporation is sensible if the source audit confirms architectural cleanliness. Direct embed, vendored module, package dependency, or tightly integrated adapter as the architecture requires. Typically preserve notices, attribution, and license text where required; no special copyleft-driven disclosure posture is normally needed. Usually unnecessary unless you later decide the existing implementation is too constraining architecturally. high strategic-or-implemented-component yes v6.3_final_source_of_truth Normalized legacy wording to dossier-backed parallel-foundation posture on 2026-04-25. selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 1R closed. Retain as a Phase 3R permissive implementation candidate; implement only from its packet authority and the retained-set contract, not by reopening Phase 0R.
43 apache/echarts https://github.com/apache/echarts HyperTwist Donor Bench Browser analytics and reporting surface P2 medium Retain the reusable chart runtime and reporting patterns, but keep HyperTwist domain schemas, page shell, and training logic outside the upstream system. repurpose moderate modification Determine whether echarts should remain the primary browser analytics and reporting donor for HyperTwist companion surfaces. option manager, datastore, zoom and history, thumbnail and export, SSR, chart modularity Inspect manifests, README/docs, src core, model, data, component, export, and SSR folders. Look for modular chart runtime, data-store abstractions, export surfaces, and reporting-specific UI behavior. Inspect OptionManager, DataStore, zoom and history behavior, thumbnail and export features, SSR and hydration seams, and accessibility surface. Repurpose selected subsystems rather than the whole product. Mine the repo for chart runtime, option and data-store patterns, export and save-as-image behavior, zoom and history handling, and SSR reporting surfaces; keep what shortens build time, but rebind analytics schemas and application shell to the HyperTwist architecture. Repurpose here means: turn it into a bounded browser analytics and reporting layer for dashboards, replay summaries, and coaching views. Upgrade if source reveals unusually reusable browser-runtime seams, clean adapter boundaries, robust tests, and direct leverage for HyperTwist companion surfaces. Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos in the same lane. Capability inventory + salvage targets + donor-tier verdict 1) Confirmed source-backed browser/XR capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended pairing or dependency posture; 5) Risks or licensing notes. Primary: HT_browser_surface cluster packet plus the repo-specific Markdown dossier. Optional: companion browser/XR rows in the same cluster. apache/echarts is placed in Donor Bench for HyperTwist because it provides the strongest current browser analytics and reporting stack with SSR, export, and serious data-store behavior. Recommended action remains repurpose, but the retained value is bounded reporting and coaching analytics rather than a product shell. Useful subsystem donor for HyperTwist, primarily in the browser companion layer; strongest current analytics and reporting donor in the browser stack. Audit apache/echarts as a browser analytics and reporting candidate for HyperTwist. Inspect the modular chart runtime, OptionManager and DataStore, export surfaces, zoom and history behavior, SSR path, and accessibility seams. Decide which parts should remain direct dependencies versus concept-only references. HT_browser_surface_0002 HT_browser_surface apache/echarts Apache-2.0 known_from_reference_material uploaded_reference_docs v6_unified_source_of_truth_pack permissive_or_noncopyleft_known direct_incorporation_ok The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded reporting and analytics donor. Use directly as a bounded browser analytics dependency; keep HyperTwist data contracts and product logic outside the upstream shell. Preserve LICENSE and NOTICE materials where required and review redistributed assets separately from the code license. Usually unnecessary unless you later replace a narrow upstream layer for product-shaping reasons. high notice-file-review yes v6.3_markdown_backfill Backfilled from canonized Markdown dossier pass on 2026-04-24. implemented_live_permissive landed_permissive_preserve Phase 3R-C closed. Preserve as the landed first-party analytics, reporting, export, and progress-visualization lane; start future widening from the live-lane audit, then the 3R-C implementation packet, then REPO_LICENSE_TRACKING.md.
44 ecomfe/echarts-gl https://github.com/ecomfe/echarts-gl HyperTwist Merge Bench Browser 3D analytics and explainer surface P3 medium Retain selective 3D analytics surfaces, but keep HyperTwist domain models, scene ownership, and broader product shell outside the upstream package. integrate moderate modification Determine whether echarts-gl should remain the bounded 3D analytics extension beneath echarts and what should stay outside HyperTwist core. 3D chart exports, GL layer mounting, graph and flow surfaces, view helper behavior, interaction model Inspect manifests, README/docs, src chart and component exports, GL helper modules, and integration points with echarts and zrender. Inspect 3D and GL chart exports, GL layer mounting, graph and flow surfaces, view helper behavior, and chart-space interaction handling. Integrate selected subsystems rather than the whole product. Mine the repo for 3D analytics and explainer surfaces, GL layer mounting, and view helper behavior; keep what shortens build time, but bind it to HyperTwist analytics schemas and browser companion UI. Integrate here means: merge bounded 3D analytics and explainer surfaces into the browser reporting stack. Upgrade if source reveals unusually reusable browser-runtime seams, clean adapter boundaries, robust tests, and direct leverage for HyperTwist companion surfaces. Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos in the same lane. Capability inventory + salvage targets + donor-tier verdict 1) Confirmed source-backed browser/XR capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended pairing or dependency posture; 5) Risks or licensing notes. Primary: HT_browser_surface cluster packet plus the repo-specific Markdown dossier. Optional: companion browser/XR rows in the same cluster. ecomfe/echarts-gl is placed in Merge Bench for HyperTwist because it adds bounded 3D analytics and explainer value on top of echarts. Recommended action remains integrate, but the retained value is selective 3D reporting and graph surface behavior rather than a product runtime. Useful merge candidate for HyperTwist, primarily in the browser companion layer; strongest value sits in 3D chart and GL explainer surfaces beneath the echarts lane. Audit ecomfe/echarts-gl as a browser 3D analytics companion to apache/echarts. Inspect the 3D chart exports, GL view handling, and interaction seams. Decide which pieces deserve direct dependency use versus conceptual guidance only. HT_browser_surface_0003 HT_browser_surface ecomfe/echarts-gl BSD-3-Clause known_from_reference_material uploaded_reference_docs v6_unified_source_of_truth_pack permissive_or_noncopyleft_known direct_incorporation_ok The code license is BSD-3-Clause and direct use is allowed. Treat it as a bounded 3D analytics extension rather than a runtime foundation. Use directly as a bounded browser-side dependency beneath the reporting stack; keep HyperTwist scene ownership and product logic outside the upstream shell. Typically preserve notices, attribution, and license text where required. Usually unnecessary unless you later replace a narrow upstream layer for product-shaping reasons. high standard-notice-review yes v6.3_markdown_backfill Backfilled from canonized Markdown dossier pass on 2026-04-24. selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 3R-C closed for the anchor. Retain as an optional subordinate 3D analytics and explainer sidecar beneath the landed apache/echarts lane; do not treat it as separately live.
45 KhronosGroup/glTF-Sample-Viewer https://github.com/KhronosGroup/glTF-Sample-Viewer HyperTwist Donor Bench Browser asset validation and viewer surface P3 medium Retain the useful asset-validation and viewer surfaces, but keep HyperTwist asset flows, editor shell, and product logic outside the upstream viewer. repurpose moderate modification Determine whether glTF-Sample-Viewer should remain the primary standards-validation viewer donor for browser asset tooling. validator integration, material variants, environment controls, capture flow, renderer handoff, viewer shell Inspect manifests, README/docs, src main and UI logic, bundled renderer submodule, and validation-related surfaces. Inspect validator integration, material-variant support, environment and tone-mapping controls, capture behavior, and the relationship to glTF-Sample-Renderer. Repurpose selected subsystems rather than the whole product. Mine the repo for standards-aware asset preview, validation, capture, environment control, and viewer-shell behavior; keep what shortens build time, but bind it to HyperTwist asset tooling and browser companion surfaces. Repurpose here means: turn it into a bounded asset-validation and preview donor for browser tooling. Upgrade if source reveals unusually reusable browser-runtime seams, clean adapter boundaries, robust tests, and direct leverage for HyperTwist companion surfaces. Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos in the same lane. Capability inventory + salvage targets + donor-tier verdict 1) Confirmed source-backed browser/XR capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended pairing or dependency posture; 5) Risks or licensing notes. Primary: HT_browser_surface cluster packet plus the repo-specific Markdown dossier. Optional: companion browser/XR rows in the same cluster. KhronosGroup/glTF-Sample-Viewer is placed in Donor Bench for HyperTwist because it provides standards-aware asset validation, inspection, and viewer behavior. Recommended action remains repurpose, but the retained value is bounded asset QA and preview tooling rather than gameplay or runtime ownership. Useful subsystem donor for HyperTwist, primarily in the browser companion layer; strongest value sits in official glTF standards validation and inspection tooling. Audit KhronosGroup/glTF-Sample-Viewer as a browser asset-validation and inspection candidate for HyperTwist. Inspect validator integration, capture flow, material variants, environment controls, and the renderer handoff. Decide which surfaces deserve direct use or selective extraction. HT_browser_surface_0004 HT_browser_surface khronosgroup/gltf-sample-viewer Apache-2.0 known_from_reference_material uploaded_reference_docs v6_unified_source_of_truth_pack permissive_or_noncopyleft_known direct_incorporation_ok The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded standards-viewer and asset-QA donor. Use directly as a bounded asset-validation dependency or sidecar; keep HyperTwist asset workflows and product logic outside the upstream viewer shell. Preserve LICENSE and NOTICE materials where required. Usually unnecessary unless you later replace a narrow upstream layer for product-shaping reasons. high notice-file-review yes v6.3_markdown_backfill Backfilled from canonized Markdown dossier pass on 2026-04-24. selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 3R-D closed for the anchor. Retain as the subordinate standards-aware asset QA and validation sidecar beneath the landed google/model-viewer lane; do not treat it as separately live.
46 google/model-viewer https://github.com/google/model-viewer HyperTwist Donor Bench Browser 3D presentation and inspection surface P2 medium Retain the useful browser presentation and inspection layers, but keep HyperTwist product logic, page shell, and owned runtime direction outside the upstream project. repurpose moderate modification Determine whether model-viewer should remain the primary browser presentation and inspection donor for HyperTwist companion surfaces. custom element runtime, annotations, AR and controls, scene graph access, space-opera/editor package, render fidelity tools Inspect manifests, README/docs, packages/model-viewer runtime, space-opera, render-fidelity-tools, model-viewer-effects, and docs/example surfaces. Inspect model-viewer runtime mixins, annotation and AR behavior, scene-graph access, space-opera editor surfaces, and render-fidelity support. Repurpose selected subsystems rather than the whole product. Mine the repo for browser 3D presentation, annotations, inspection, snippet and export behavior, hotspot editing, and fidelity tooling; keep what shortens build time, but bind it to HyperTwist browser companion surfaces and asset workflows. Repurpose here means: turn it into a bounded browser 3D presentation, inspection, and editor donor. Upgrade if source reveals unusually reusable browser-runtime seams, clean adapter boundaries, robust tests, and direct leverage for HyperTwist companion surfaces. Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos in the same lane. Capability inventory + salvage targets + donor-tier verdict 1) Confirmed source-backed browser/XR capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended pairing or dependency posture; 5) Risks or licensing notes. Primary: HT_browser_surface cluster packet plus the repo-specific Markdown dossier. Optional: companion browser/XR rows in the same cluster. google/model-viewer is placed in Donor Bench for HyperTwist because it provides the strongest current browser 3D presentation and inspection stack, plus bundled editor and fidelity packages. Recommended action remains repurpose, but the retained value is bounded web preview, inspection, and AR-friendly presentation rather than a gameplay runtime. Useful subsystem donor for HyperTwist, primarily in the browser companion layer; strongest current browser 3D presentation and inspection donor in the stack. Audit google/model-viewer as a browser 3D presentation and inspection candidate for HyperTwist. Inspect the custom element runtime, annotation and AR behavior, scene-graph access, bundled editor and fidelity packages, and docs/demo tooling. Decide which surfaces merit direct use versus selective extraction. HT_browser_surface_0005 HT_browser_surface google/model-viewer Apache-2.0 known_from_reference_material uploaded_reference_docs v6_unified_source_of_truth_pack permissive_or_noncopyleft_known direct_incorporation_ok The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded browser presentation and inspection donor. Use directly as a bounded browser-side dependency or adapter layer; keep HyperTwist runtime ownership, asset workflows, and product logic outside the upstream shell. Preserve LICENSE and NOTICE materials where required and review bundled assets separately from the code license. Usually unnecessary unless you later replace a narrow upstream layer for product-shaping reasons. high notice-file-review yes v6.3_markdown_backfill Backfilled from canonized Markdown dossier pass on 2026-04-24. implemented_live_permissive landed_permissive_preserve Phase 3R-D closed. Preserve as the landed first-party browser presentation, compact editor, and standards-aware asset-QA lane; start future widening from the live-lane audit, then the 3R-D implementation packet, then REPO_LICENSE_TRACKING.md.
47 mrdoob/three.js https://github.com/mrdoob/three.js HyperTwist Donor Bench Browser 3D substrate P2 medium Retain it mainly as a dependency substrate. Do not treat it as the owned gameplay foundation or let it reshape the Unreal-first runtime direction. repurpose moderate modification Determine whether three.js should remain the default browser 3D substrate beneath HyperTwist companion surfaces. renderer, scene, camera, math core, loaders, WebXR manager, addons, editor Inspect manifests, README/docs, src core and renderer folders, WebXR manager, addons, examples references, and editor shell. Inspect core renderer and scene stack, loaders and exporters, WebXR manager, addons surface, and editor shell. Repurpose selected subsystems rather than the whole product. Mine the repo for the browser 3D substrate, loader and exporter behavior, WebXR runtime hooks, and utility layers; keep what shortens build time, but leave HyperTwist gameplay and owned runtime direction outside the upstream engine. Repurpose here means: use it as the bounded browser-side 3D substrate and keep HyperTwist product logic above it. Upgrade if source reveals unusually reusable browser-runtime seams, clean adapter boundaries, robust tests, and direct leverage for HyperTwist companion surfaces. Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos in the same lane. Capability inventory + salvage targets + donor-tier verdict 1) Confirmed source-backed browser/XR capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended pairing or dependency posture; 5) Risks or licensing notes. Primary: HT_browser_surface cluster packet plus the repo-specific Markdown dossier. Optional: companion browser/XR rows in the same cluster. mrdoob/three.js is placed in Donor Bench for HyperTwist because it is the core browser 3D substrate beneath the newer viewer, XR, and companion-surface repos. Recommended action remains repurpose, but the retained value is a bounded browser dependency layer rather than product differentiation. Useful subsystem donor for HyperTwist, primarily in the browser companion layer; strongest commodity browser 3D substrate in the current stack. Audit mrdoob/three.js as the browser 3D substrate beneath HyperTwist companion surfaces. Inspect renderer, scene, camera, math, loader, WebXR, and editor behavior. Decide what should be used directly as dependency substrate versus what should remain conceptual. HT_browser_surface_0006 HT_browser_surface mrdoob/three.js MIT known_from_reference_material uploaded_reference_docs v6_unified_source_of_truth_pack permissive_or_noncopyleft_known direct_incorporation_ok The code license is MIT and direct use is allowed. Treat it as a bounded browser 3D substrate rather than as an owned runtime foundation. Use directly as a bounded browser-side dependency; keep HyperTwist gameplay, puzzle logic, and owned runtime direction outside the upstream engine. Typically preserve notices, attribution, and license text where required. Usually unnecessary unless you later replace a narrow upstream layer for product-shaping reasons. high standard-notice-review yes v6.3_markdown_backfill Backfilled from canonized Markdown dossier pass on 2026-04-24. implemented_live_permissive landed_permissive_preserve Phase 3R-F closed. Preserve as the landed first-party browser `3D` substrate lane; start future widening from the live-lane audit, then the 3R-F implementation packet, then REPO_LICENSE_TRACKING.md.
48 pmndrs/postprocessing https://github.com/pmndrs/postprocessing HyperTwist Merge Bench Browser post-processing substrate P3 medium Retain selective effect infrastructure, but keep HyperTwist scene ownership, domain logic, and product shell outside the upstream package. integrate moderate modification Determine whether postprocessing should remain the bounded browser effect-composer substrate beneath the companion stack. EffectComposer, EffectPass, outline, SSAO, effect catalog, performance assumptions Inspect manifests, README/docs, core composer and pass code, major effects, and integration seams with three.js. Inspect EffectComposer and EffectPass, outline and SSAO effect behavior, effect catalog breadth, and performance assumptions. Integrate selected subsystems rather than the whole product. Mine the repo for effect-composer, outline, SSAO, and bounded browser emphasis behavior; keep what shortens build time, but bind it to HyperTwist browser viewers and coach surfaces. Integrate here means: merge bounded browser-side effect and emphasis infrastructure into the companion stack. Upgrade if source reveals unusually reusable browser-runtime seams, clean adapter boundaries, robust tests, and direct leverage for HyperTwist companion surfaces. Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos in the same lane. Capability inventory + salvage targets + donor-tier verdict 1) Confirmed source-backed browser/XR capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended pairing or dependency posture; 5) Risks or licensing notes. Primary: HT_browser_surface cluster packet plus the repo-specific Markdown dossier. Optional: companion browser/XR rows in the same cluster. pmndrs/postprocessing is placed in Merge Bench for HyperTwist because it provides bounded browser post-processing infrastructure beneath three.js-based viewers and companion surfaces. Recommended action remains integrate, but the retained value is selective effect infrastructure rather than a standalone feature lane. Useful merge candidate for HyperTwist, primarily in the browser companion layer; strongest value sits in outline, SSAO, and effect-composer infrastructure beneath browser viewers. Audit pmndrs/postprocessing as a bounded browser post-processing substrate for HyperTwist. Inspect composer, pass, outline, and SSAO behavior and decide what should remain direct dependency use versus conceptual reference. HT_browser_surface_0007 HT_browser_surface pmndrs/postprocessing Zlib known_from_reference_material uploaded_reference_docs v6_unified_source_of_truth_pack permissive_or_noncopyleft_known direct_incorporation_ok The code license is Zlib and direct use is allowed. Treat it as a bounded browser post-processing dependency. Use directly as a bounded browser-side dependency beneath three.js-based viewers; keep HyperTwist product logic outside the upstream package. Typically preserve notices, attribution, and license text where required. Usually unnecessary unless you later replace a narrow upstream layer for product-shaping reasons. high standard-notice-review yes v6.3_markdown_backfill Backfilled from canonized Markdown dossier pass on 2026-04-24. selected_not_live_permissive_candidate phase0r_permissive_eval_then_implement Phase 3R-F closed for the owner trio. Retain as the subordinate browser post-effect substrate beneath the landed browser spatial owner trio; do not treat it as separately live.
49 pmndrs/react-three-fiber https://github.com/pmndrs/react-three-fiber HyperTwist Donor Bench Browser React 3D substrate P2 medium Retain it mainly as a dependency substrate. Keep HyperTwist domain logic, product shell, and runtime ownership above the upstream renderer. repurpose moderate modification Determine whether react-three-fiber should remain the default React renderer substrate for browser companion scenes. Canvas, createRoot, reconciler runtime, event system, hooks, native path Inspect manifests, README/docs, fiber package runtime, core renderer code, event handling, hooks, and native entry points. Inspect Canvas and createRoot behavior, reconciler and store wiring, event system, hooks, and the native path. Repurpose selected subsystems rather than the whole product. Mine the repo for React renderer and event behavior, scene hook patterns, and browser companion ergonomics; keep what shortens build time, but leave HyperTwist product logic and owned runtime direction outside the upstream layer. Repurpose here means: use it as the bounded React renderer substrate for browser-side 3D and XR surfaces. Upgrade if source reveals unusually reusable browser-runtime seams, clean adapter boundaries, robust tests, and direct leverage for HyperTwist companion surfaces. Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos in the same lane. Capability inventory + salvage targets + donor-tier verdict 1) Confirmed source-backed browser/XR capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended pairing or dependency posture; 5) Risks or licensing notes. Primary: HT_browser_surface cluster packet plus the repo-specific Markdown dossier. Optional: companion browser/XR rows in the same cluster. pmndrs/react-three-fiber is placed in Donor Bench for HyperTwist because it is the React runtime and event substrate above three.js for browser companion scenes. Recommended action remains repurpose, but the retained value is a bounded browser renderer layer rather than product differentiation. Useful subsystem donor for HyperTwist, primarily in the browser companion layer; strongest current React renderer substrate above three.js in the stack. Audit pmndrs/react-three-fiber as the React renderer substrate for HyperTwist browser companion scenes. Inspect Canvas, createRoot, event handling, hooks, and runtime boundaries. Decide which parts should remain direct dependency use versus conceptual reference. HT_browser_surface_0008 HT_browser_surface pmndrs/react-three-fiber MIT known_from_reference_material uploaded_reference_docs v6_unified_source_of_truth_pack permissive_or_noncopyleft_known direct_incorporation_ok The code license is MIT and direct use is allowed. Treat it as a bounded browser React renderer substrate. Use directly as a bounded browser-side dependency above three.js; keep HyperTwist product logic and runtime ownership outside the upstream layer. Typically preserve notices, attribution, and license text where required. Usually unnecessary unless you later replace a narrow upstream layer for product-shaping reasons. high standard-notice-review yes v6.3_markdown_backfill Backfilled from canonized Markdown dossier pass on 2026-04-24. implemented_live_permissive landed_permissive_preserve Phase 3R-F closed. Preserve as the landed first-party React-side browser renderer lane; start future widening from the live-lane audit, then the 3R-F implementation packet, then REPO_LICENSE_TRACKING.md.

View file

@ -75,7 +75,7 @@ For any HyperTwist repo, the coding model must determine:
For HyperTwist, keep this explicit:
- current shallow-eval set: `71` repos
- currently verified live/implemented in checked Unreal surfaces: `14`
- currently verified live/implemented in checked Unreal surfaces: `15`
- permissive live lanes: `13`
- restrictive live lane: `1`
- the restrictive landed lane is `onionhoney/roux-trainers`, and it is to be treated as properly clean-roomed and then implemented
@ -93,8 +93,8 @@ into:
## Reset rule
Before recommending new HyperTwist donor-shaped widening from the remaining `57` current non-live rows:
Before recommending new HyperTwist donor-shaped widening from the remaining `56` current non-live rows:
- do not reopen the already closed `Phase 0R`, `Phase 1R`, or `Phase 2R` packets
- preserve the fourteen landed rows as current truth
- continue from the closed packet sequence, with `Phase 4R-A` as the next non-optional move and the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap
- preserve the fifteen landed rows as current truth
- continue from the closed packet sequence, with `Phase 4R-B` as the next non-optional move and the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap

View file

@ -15,10 +15,11 @@ Do not reopen broad donor-driven widening as if the whole retained portfolio wer
Current truth:
- `14` repos are currently verified live in checked Unreal surfaces
- `15` repos are currently verified live in checked Unreal surfaces
- `13` are permissive `MIT` or `Apache-2.0`
- `1` is the boundary-sensitive `cubing/cubing.js` lane now landed through the practical `MPL` adapter path
- `1` is the restrictive `onionhoney/roux-trainers` lane that is already properly clean-roomed and implemented
- `Phase 0R` is now closed for the remaining `57` non-live rows
- `Phase 0R` is now closed for the remaining `56` non-live rows
- `Phase 1R` is now closed as the retained-set contract and handoff overhaul
- `Phase 2R` is now closed as the retained-set ownership and acceptance packet sequence
- `Phase 3R-A` is now closed as the landed `Aarav2709/KubeTimr` widening packet
@ -27,13 +28,15 @@ Current truth:
- `Phase 3R-D` is now closed as the landed `google/model-viewer` widening packet
- `Phase 3R-E` is now closed as the landed `met4citizen/TalkingHead` widening packet
- `Phase 3R-F` is now closed as the landed `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` widening packet
- `Phase 4R-A` is now closed as the landed `cubing/cubing.js` classic-cubing adapter widening packet
Next sequence:
1. preserve the fourteen landed lanes
2. use the retained-set contract as the only legal/roadmap routing surface for non-live rows
3. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, and `met4citizen/TalkingHead` on preserve-and-enhance footing through their landed packets
4. continue broader widening from `Phase 4R-A`, with optional `Phase 3R-G` comparison work only if the landed primary browser spatial stack exposes a real gap
1. preserve the fifteen landed lanes
2. preserve the landed `cubing/cubing.js` boundary-sensitive adapter lane with its `MPL` notice posture explicit
3. use the retained-set contract as the only legal/roadmap routing surface for non-live rows
4. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, and `cubing/cubing.js` on preserve-and-enhance footing through their landed packets
5. continue broader widening from `Phase 4R-B`, with optional `Phase 3R-G` comparison work only if the landed primary browser spatial stack exposes a real gap
## Suggested repo structure

View file

@ -42,8 +42,9 @@ They still must point back to `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md` for
At the moment, HyperTwist should be described this way:
- current curated shallow-eval set: `71` repos
- currently verified live/implemented in checked Unreal surfaces: `14`
- currently verified live/implemented in checked Unreal surfaces: `15`
- permissive live lanes: `13`
- boundary-sensitive live lanes: `1`
- restrictive live lanes: `1`
The thirteen permissive live lanes are:
@ -66,6 +67,10 @@ The one restrictive live lane is:
- `onionhoney/roux-trainers`
The one boundary-sensitive live lane is:
- `cubing/cubing.js`
That restrictive lane should be treated as:
- properly clean-roomed
@ -119,7 +124,7 @@ Current practical interpretation:
- `Phase 2R-B` is now fully closed for the primary retained permissive support-plane rows in scope
- `Phase 2R-C` is now fully closed for the final residual `0R-B` permissive rows
- `Phase 2R` is now fully closed for the retained permissive set
- the fourteen already-live rows now have source-backed preservation authority in `C:\HyperTwist\docs\HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md`
- the fifteen already-live rows now have source-backed preservation authority in `C:\HyperTwist\docs\HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md`
- the retained-set contract now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md`
- the core ownership and acceptance packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_2R_PACKET_2R_A_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- the support-plane ownership and acceptance packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
@ -130,7 +135,8 @@ Current practical interpretation:
- the landed `google/model-viewer` widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md`
- the landed `met4citizen/TalkingHead` widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md`
- the landed `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md`
- the next bounded move is `Phase 4R-A`
- the landed `cubing/cubing.js` boundary-sensitive widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md`
- the next bounded move is `Phase 4R-B`
Read together with:
@ -160,6 +166,7 @@ These are often strategic donors or comparators rather than foundations.
Current HyperTwist correction:
- thirteen permissive lanes are already live, including the landed analytics/reporting lane, the landed hypercubing knowledge and community-reference lane, and the landed browser spatial owner trio
- one boundary-sensitive lane is already live: `cubing/cubing.js` through an explicit `MPL`-aware adapter posture
- `onionhoney/roux-trainers` is the one restrictive training lane already landed through clean-room implementation
- timer comparators such as `cstimer` still remain benchmark/reference rows until deep evaluation says otherwise

View file

@ -5,11 +5,12 @@
Before widening new HyperTwist donor-driven implementation beyond the already landed lanes, preserve this current truth:
- current shallow-eval set: `71` repos
- currently verified live/implemented in checked Unreal surfaces: `14`
- currently verified live/implemented in checked Unreal surfaces: `15`
- permissive live lanes: `13`
- boundary-sensitive live lane: `1`
- restrictive live lane: `1`
- the restrictive landed lane is `onionhoney/roux-trainers`, and it is to be treated as properly clean-roomed and then implemented
- `Phase 0R` is now closed for the remaining `57` non-live rows
- `Phase 0R` is now closed for the remaining `56` non-live rows
- `Phase 1R` is now closed as the retained-set contract and handoff overhaul
- `Phase 2R` is now closed as the retained-set ownership and acceptance packet sequence
- `Phase 3R-A` is now closed as the landed `Aarav2709/KubeTimr` timer subsystem widening packet
@ -18,15 +19,16 @@ Before widening new HyperTwist donor-driven implementation beyond the already la
- `Phase 3R-D` is now closed as the landed `google/model-viewer` browser presentation, compact editor, and standards-aware asset-QA widening packet
- `Phase 3R-E` is now closed as the landed `met4citizen/TalkingHead` embodied companion, narration, lip-sync, gesture, subtitle, and avatar-embed widening packet
- `Phase 3R-F` is now closed as the landed `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` browser spatial support widening packet
- `Phase 4R-A` is now closed as the landed `cubing/cubing.js` classic-cubing semantic/runtime adapter widening packet
Current routing truth:
- retained rows total: `68`
- discarded from the active retained set: `3`
- active non-live implementation-board rows: `45`
- active non-live implementation-board rows: `44`
- retained benchmark, oracle, or clean-room-later rows outside the active implementation board: `9`
The next bounded move is `Phase 4R-A`, with the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap.
The next bounded move is `Phase 4R-B`, with the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap.
## Reset phases