diff --git a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json index 54c2e39..caa1093 100644 --- a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json +++ b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json @@ -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 - } -} \ No newline at end of file + "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 + } +} diff --git a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json index 09a4c31..6e4496b 100644 --- a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json +++ b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json @@ -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." + ] } ] -} \ No newline at end of file +} diff --git a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/cubing-cubing-js-reference-pages.jsonl b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/cubing-cubing-js-reference-pages.jsonl new file mode 100644 index 0000000..681a0fd --- /dev/null +++ b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/cubing-cubing-js-reference-pages.jsonl @@ -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."} diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.cpp new file mode 100644 index 0000000..374e3a5 --- /dev/null +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.cpp @@ -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& RetainedSurfaceTags, + const TArray& RequiredNoticeActions, + const TArray& 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& 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 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; +} diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp index 738d0de..ed49936 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp @@ -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)) diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.h b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.h new file mode 100644 index 0000000..0e65b30 --- /dev/null +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingClassicCubingLibrary.h @@ -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 RetainedSurfaceTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RequiredNoticeActions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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 RequiredPackageIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray PuzzleStateFields; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray NotationSurfaceTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray InteropSurfaceTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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 RequiredPackageIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray NamedPuzzleFamilies; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray GeometrySurfaceTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray AdapterBoundaryTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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 RequiredPackageIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ViewerSurfaceTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray LifecycleHooks; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray EditorSurfaceTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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 RequiredPackageIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray DeviceFamilies; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray AdapterOwnedFields; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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 RequiredPackageIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray PuzzleFamilies; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray SearchSurfaceTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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 AllowedUseTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray PublicationDutyTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RequiredNoticeActions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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 PackageReferences; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray SemanticContracts; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray GeometryContracts; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ViewerAdapterContracts; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray DeviceAdapterBoundaries; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray SearchContracts; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray 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); +}; diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h index 21e84b3..87881c8 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h @@ -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); diff --git a/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md b/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md index 4981c2a..cb220fb 100644 --- a/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md +++ b/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md @@ -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: diff --git a/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md b/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md index 660fe93..a536d87 100644 --- a/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md +++ b/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md @@ -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 diff --git a/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md b/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md index 393d898..83fc1ff 100644 --- a/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md +++ b/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md @@ -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. diff --git a/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md b/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md index 7e048da..8adfb44 100644 --- a/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md +++ b/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md @@ -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 diff --git a/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md b/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md new file mode 100644 index 0000000..758cd04 --- /dev/null +++ b/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md @@ -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 diff --git a/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md b/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md index 189af1c..2b92c5f 100644 --- a/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md +++ b/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md @@ -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` diff --git a/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md b/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md index c48e44f..c237ae7 100644 --- a/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md +++ b/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md @@ -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. diff --git a/docs/REPO_LICENSE_TRACKING.md b/docs/REPO_LICENSE_TRACKING.md index a4dd140..8d6191e 100644 --- a/docs/REPO_LICENSE_TRACKING.md +++ b/docs/REPO_LICENSE_TRACKING.md @@ -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: diff --git a/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv b/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv index 18d8c9f..c769673 100644 --- a/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv +++ b/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv @@ -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." diff --git a/docs/repo_portfolio_unified_operational_v6_3.csv b/docs/repo_portfolio_unified_operational_v6_3.csv index 3759e49..eb901b5 100644 --- a/docs/repo_portfolio_unified_operational_v6_3.csv +++ b/docs/repo_portfolio_unified_operational_v6_3.csv @@ -1,4 +1,4 @@ -"execution_queue_order","repo","primary_url","best_fit_project_v2","project_rank","portfolio_priority_score","execution_priority_score_v3","priority_band","taxonomy_hardened","archetype_primary","archetype_secondary","portfolio_role_v3","recommended_action_v2","repurposing_potential_v2","modification_scope_detail_v3","capability_extract","integration_realization_detail","consolidation_detail","repurpose_detail","realization_checklist","inspection_depth_recommendation","hidden_value_hypothesis","source_inspection_questions","source_code_audit_targets","coding_model_instruction_v3","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","exclusion_discipline","exclusion_reasoning_v3","confidence_v3","confidence_rationale_v3","confidence_reassessed","confidence_rationale","licensing_filter_status","bookmark_project_sections","bookmark_heading_paths_top","bookmark_description_sample","memo_signal_sample","expanded_reasoning","source_attachments","in_bookmarks","in_memo","bookmark_occurrences","memo_mentions","cluster_tag","source_audit_packet_id","category_guess_v2","reasoning","best_fit_project","category_guess","recommended_action","repurposing_potential","confidence","_repo_norm","v5_primary_eval_project","v5_runtime_project","v5_scriptorium_override_status","v5_scriptorium_current_reality_status","v5_scriptorium_bucket","v5_scriptorium_stack_layer","v5_scriptorium_source_audit_priority","v5_scriptorium_actual_role","v5_scriptorium_integration_boundary","v5_scriptorium_evidence_summary","v5_scriptorium_design_language_notes","v5_scriptorium_recommended_context_packet","v5_scriptorium_supersedes_prior_assessment","v5_scriptorium_bucket_rank","v5_scriptorium_prio_rank","v5_scriptorium_sort_score","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","project_rank_num","audit_rank_num","priority_num","phase_g_bucket","phase_g_project_stack_layer","phase_g_inclusion_status","phase_g_source_audit_priority","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" +"execution_queue_order","repo","primary_url","best_fit_project_v2","project_rank","portfolio_priority_score","execution_priority_score_v3","priority_band","taxonomy_hardened","archetype_primary","archetype_secondary","portfolio_role_v3","recommended_action_v2","repurposing_potential_v2","modification_scope_detail_v3","capability_extract","integration_realization_detail","consolidation_detail","repurpose_detail","realization_checklist","inspection_depth_recommendation","hidden_value_hypothesis","source_inspection_questions","source_code_audit_targets","coding_model_instruction_v3","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","exclusion_discipline","exclusion_reasoning_v3","confidence_v3","confidence_rationale_v3","confidence_reassessed","confidence_rationale","licensing_filter_status","bookmark_project_sections","bookmark_heading_paths_top","bookmark_description_sample","memo_signal_sample","expanded_reasoning","source_attachments","in_bookmarks","in_memo","bookmark_occurrences","memo_mentions","cluster_tag","source_audit_packet_id","category_guess_v2","reasoning","best_fit_project","category_guess","recommended_action","repurposing_potential","confidence","_repo_norm","v5_primary_eval_project","v5_runtime_project","v5_scriptorium_override_status","v5_scriptorium_current_reality_status","v5_scriptorium_bucket","v5_scriptorium_stack_layer","v5_scriptorium_source_audit_priority","v5_scriptorium_actual_role","v5_scriptorium_integration_boundary","v5_scriptorium_evidence_summary","v5_scriptorium_design_language_notes","v5_scriptorium_recommended_context_packet","v5_scriptorium_supersedes_prior_assessment","v5_scriptorium_bucket_rank","v5_scriptorium_prio_rank","v5_scriptorium_sort_score","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","project_rank_num","audit_rank_num","priority_num","phase_g_bucket","phase_g_project_stack_layer","phase_g_inclusion_status","phase_g_source_audit_priority","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" "7701","HactarCE/Hyperspeedcube","https://github.com/HactarCE/Hyperspeedcube","HyperTwist","1.0","160.0","193.0","A","hypercubing / nD engine","foundation engine","simulation donor","locked core candidate","integrate","direct","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.","HactarCE/Hyperspeedcube — MIT OR Apache-2.0 — Modern 3D/4D puzzle simulator (thousands of puzzles). | This makes CubeForge the first true hypercubing training platform — solving every pain point while keeping the 3D core rock-solid.Exten...","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.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Isolate puzzle/state core; Extract render/input abstractions; Document notation and save format","full subsystem extraction review","Hidden value is likely in generalized puzzle/state representations, higher-dimensional transforms, notation systems, save formats, puzzle generators, and rendering abstractions.","Inspect generalized puzzle/state model; notation parser; transform math; rendering abstraction; save/load format; puzzle generator; input mapping; performance optimizations.","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.","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.","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.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 6","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","HactarCE/Hyperspeedcube — MIT OR Apache-2.0 — Modern 3D/4D puzzle simulator (thousands of puzzles). | This makes CubeForge the first true hypercubing training platform — solving every pain point while keeping the 3D core rock-solid.Extended Comprehensive Open-Source Building Blocks (April 2026)Updated exhaustive scan — focused on high-value for your codebase (simulators, trainers, vision, hyper).MIT or Apache Licensed (Fully permissive — fork/abs","HactarCE/Hyperspeedcube is treated as integrate for HyperTwist because visible metadata points to the hypercubing / nD simulation layer. Surface signal: HactarCE/Hyperspeedcube — MIT OR Apache-2.0 — Modern 3D/4D puzzle simulator (thousands of puzzles). | This makes CubeForge the first true hypercubing training platform — solving every pain point while keeping the 3D core rock-solid.Exten... The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","6.0","HT_hyper_engine","HT_hyper_engine_0001","hypercubing / nD simulation","Integrate as a shared building block across at least two projects. Its memo and bookmark signals place it in the hypercubing / nD simulation layer.","multi-project","hypercubing / nD simulation","integrate","direct","medium","hactarce/hyperspeedcube","HyperTwist","","","","","","","","","","","","","","","","Original global operational v3 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.","Potentially relevant","yes","v6 unified all-project source-of-truth pack","v5_carry_forward","Existing v5 row reaffirmed or widened by v6 supplemental intake.","1.0","5","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." "7704","SYSTRAN/faster-whisper","https://github.com/SYSTRAN/faster-whisper","multi-project","1.0","71.0","80.0","C","voice / multimodal I/O","subsystem donor","multimodal donor","donor bench","repurpose","moderate modification","Retain the valuable internal engine, but expect to replace UI/product shell, adapt schemas/APIs, and refactor boundaries so it can plug into the target anchors cleanly. For this repo class, that usually means preserving parsers/graph schema/indexing while swapping layout, storage, or UX layers.","huggingface/faster-whisper – https://github.com/SYSTRAN/faster-whisper – MIT – Fast Whisper STT.","Repurpose selected subsystems rather than the whole product. Mine the repo for VAD-aware segmentation, batch transcription, timestamps, hotword and prefix conditioning, and Python service ergonomics; keep what materially shortens build time, but rebind data contracts, permissions, storage, and deployment to the target architecture. Best first pairing order: ggml-org/whisper.cpp, rhasspy/piper, coqui-ai/TTS.","Consolidate under the project-specific anchor stack, 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: sentrux/sentrux, HactarCE/Hyperspeedcube, outline/outline.","Repurpose here means: turn it into a Python STT service, timestamped speech pipeline, or batch transcription donor.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Normalize graph schema; Decouple parser/indexer from UI; Expose query and layout services","deep source audit","Hidden value may sit in AST/indexing pipelines, call/dependency graph schema, incremental refresh, layout heuristics, graph query APIs, and serialization formats that can be lifted into VectorShell.","Inspect transcription API and dataclasses; batched inference; VAD chunking; word timestamps; hotwords and prefix conditioning; service-layer boundaries; benchmark and test coverage.","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, benchmark scripts, and hidden experimental modules. Look for VAD, batch inference, timestamps, hotwords, model/runtime constraints, and service-layer boundaries.","Audit SYSTRAN/faster-whisper as a voice / multimodal I/O candidate for multi-project. Do not stop at README-level features. Inspect: transcription API and dataclasses, batched inference, VAD chunking, word timestamps, hotwords and prefix conditioning, service-layer boundaries, and benchmark/test coverage. Decide whether it should remain the primary Python STT donor and what should stay behind a bounded Python service seam. 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, runtime boundaries, tests/benchmarks, and any subsystem stronger than the visible shell.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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.","project-local first","Cross-project transfer is possible, but the value is clearest inside the assigned project until source audit exposes more reusable primitives.","exclude from core, keep as donor","Do not let it consume roadmap as a full product shell; mine reusable engines, adapters, schemas, UX patterns, or datasets.","medium-low","single-source signal; clear taxonomy; mostly donor/reference role","medium","memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","huggingface/faster-whisper – https://github.com/SYSTRAN/faster-whisper – MIT – Fast Whisper STT.","SYSTRAN/faster-whisper is treated as repurpose for multi-project because visible metadata points to the voice / speech / audio layer. Surface signal: huggingface/faster-whisper – https://github.com/SYSTRAN/faster-whisper – MIT – Fast Whisper STT. The fit looks real, but more as a donor/augmenter than as a standalone foundation.","memo","False","True","0.0","1.0","MU_misc","MU_misc_0001","voice / speech / audio","Repurpose selectively for multi-project. Its source-backed role is a bounded Python STT donor and service-layer candidate, not an exclusion-only adjunct.","future/adjacent use","voice / speech / audio","repurpose","moderate modification","medium","systran/faster-whisper","multi-project","","","","","","","","","","","","","","","","Original global operational v3 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","","1.0","5","71.0","","","","","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.","Use directly as a bounded Python STT service or adapter layer; keep model/runtime selection and deployment behind a speech-input seam.","Typically preserve notices, attribution, and license text where required; review selected model checkpoints separately from the code license.","Usually unnecessary unless you later decide to replace a narrow hot path or remove Python/CTranslate2 dependencies.","high","model-artifact-review-required","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.","","","" "7705","cubing/alg.js","https://github.com/cubing/alg.js","HyperTwist","2.0","95.0","95.0","P0","puzzle_simulation_training_donor","puzzle_simulation_training_donor","geometry_renderer_or_binding","donor bench","repurpose","architecture only","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.","HyperTwist family. Likely value lies in puzzle logic, scrambler design, algorithm representations, n-dimensional geometry, rendering, bindings, or XR/game-engine surfaces relevant to hypercube and cube-training workflows.","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.","Verify actual capability surface, identify reusable subsystems, confirm integration boundary, test output formats, and decide whether promotion or demotion is justified after source inspection.","P0 tier audit. Inspect state representations, move/alg parsers, scrambler generators, geometry/math cores, renderer abstractions, engine bindings, and XR/web surfaces.","cubing/alg.js may hide higher-value reusable components in its cubing family than its surface framing suggests; inspect internals before treating it as merely a category duplicate.","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 cubing/alg.js at source level. Extract actual implemented capabilities, hidden modules, extension hooks, data models, and output contracts. Re-rank only if source evidence materially changes its donor/foundation potential for HyperTwist.","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","Source audit may reveal reusable abstractions that travel beyond the initially assigned project, especially in control-plane, visualization, renderer, or document/AI pipeline layers.","Do not omit for licensing. Exclude only from current horizon if source audit shows it is purely documentation, governance, packaging noise, or a weak duplicate with no meaningful reusable subsystem.","Current placement is preliminary and based on family fit, repo naming, and source grouping rather than source code inspection.","medium","Pre-source-audit supplemental intake classification derived from source group, owner family, project fit, and project-wide design language.","medium","Will increase only after direct source inspection.","Licensing intentionally ignored as a decision filter per canonical directive; license is tracked separately only for optional review and packaging choices.","HyperTwist","HyperTwist","","Supplemental intake row added from v6 source-group expansion; reference docs may further inform merger logic.","cubing/alg.js enters the corpus through the v6 supplemental intake. It is treated as donor bench for HyperTwist because its family suggests value in hypertwist family. likely value lies in puzzle logic, scrambler design, algorithm representations, n-dimensional geometry, rendering, bindings, or xr/game-engine surfaces relevant to hypercube and cube-training workflows. Its current judgment is intentionally provisional and should be upgraded or downgraded only after direct source inspection.","HyperTwist & ScriptoriumAI.txt","0","0","1.0","0.0","HT_cube_semantics","HT_cube_semantics_0002","puzzle_simulation_training_donor","Supplemental v6 intake from hypertwist_and_scriptoriumai; preliminary classification only.","HyperTwist","puzzle_simulation_training_donor","donor candidate","moderate modification","medium","cubing/alg.js","HyperTwist","supplemental_v6_not_runtime_anchored","","","","","","","","","","","no","","","","v6_unified_source_of_truth","GPL-3.0-or-later","known_from_reference_material","uploaded_reference_docs","yes","hypertwist_and_scriptoriumai","HyperTwist","HyperTwist & ScriptoriumAI.txt","Supplemental intake references and prior Grok/initial-research docs used as reference, not as source of truth.","Usually indirect","yes","v6 unified all-project source-of-truth pack","v6_supplemental_intake","New row created from supplemental intake (POO/Security/Agent/HyperTwist-ScriptoriumAI/Kali/Consider II).","2.0","1","95.0","Donor Bench","Focused restrictive clean-room donor target","","P2","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." @@ -10,7 +10,7 @@ "8547","ggml-org/whisper.cpp","https://github.com/ggml-org/whisper.cpp","multi-project","3.0","71.0","80.0","C","voice / multimodal I/O","subsystem donor","multimodal donor","donor bench","repurpose","moderate modification","Retain the valuable internal engine, but expect to replace UI/product shell, adapt schemas/APIs, and refactor boundaries so it can plug into the target anchors cleanly. For this repo class, that usually means preserving streaming/audio pipeline logic while adapting commands, wake flows, and assistant integration.","7. Speech / Voice Models (STT + TTS)ggml-org/whisper.cpp – https://github.com/ggml-org/whisper.cpp – MIT – Native C++ Whisper for STT.","Repurpose selected subsystems rather than the whole product. Mine the repo for native STT runtime seams, VAD, grammar-constrained decoding, segmented speech capture, and server-side deployment patterns; keep what materially shortens build time, but rebind data contracts, permissions, storage, and deployment to the target architecture. Best first pairing order: SYSTRAN/faster-whisper, rhasspy/piper, coqui-ai/TTS.","Consolidate under the project-specific anchor stack, 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: sentrux/sentrux, HactarCE/Hyperspeedcube, outline/outline.","Repurpose here means: turn it into an offline STT sidecar, grammar-constrained command surface, or native speech-input donor.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Isolate streaming/audio pipeline; Normalize command schema; Add local/offline fallback layer","deep source audit","Hidden value often lives in streaming segmentation, VAD, device abstraction, latency mitigation, translation chains, and local/offline fallback paths.","Inspect C/C++ API surface; VAD path; grammar-constrained decoding; server/runtime examples; model loading and portability seams; tests and benchmarks.","Inspect package manifests, README/docs, src/include tree, examples, tests, CI workflows, build configs, model tooling, and hidden experimental modules. Look for VAD, grammar support, streaming/segmentation, server boundaries, device/runtime abstraction, and performance shortcuts.","Audit ggml-org/whisper.cpp as a voice / multimodal I/O candidate for multi-project. Do not stop at README-level features. Inspect: C/C++ API surface, VAD, grammar-constrained decoding, server/runtime examples, model loading and portability seams, and benchmark/test coverage. Decide whether it should remain the primary offline STT sidecar candidate and what should stay behind a bounded native seam. 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, runtime boundaries, tests/benchmarks, and any subsystem stronger than the visible shell.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","exclude from core, keep as donor","Do not let it consume roadmap as a full product shell; mine reusable engines, adapters, schemas, UX patterns, or datasets.","medium-low","single-source signal; clear taxonomy; mostly donor/reference role","medium","memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","7. Speech / Voice Models (STT + TTS)ggml-org/whisper.cpp – https://github.com/ggml-org/whisper.cpp – MIT – Native C++ Whisper for STT.","ggml-org/whisper.cpp is treated as repurpose for multi-project because visible metadata points to the voice / speech / audio layer. Surface signal: 7. Speech / Voice Models (STT + TTS)ggml-org/whisper.cpp – https://github.com/ggml-org/whisper.cpp – MIT – Native C++ Whisper for STT. The fit looks real, but more as a donor/augmenter than as a standalone foundation.","memo","False","True","0.0","1.0","MU_misc","MU_misc_0003","voice / speech / audio","Repurpose selectively for multi-project. Its source-backed role is a bounded speech-input donor and offline/native STT sidecar candidate, not an exclusion-only adjunct.","future/adjacent use","voice / speech / audio","repurpose","moderate modification","medium","ggml-org/whisper.cpp","multi-project","","","","","","","","","","","","","","","","Original global operational v3 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","","3.0","5","71.0","","","","","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.","Use directly as a bounded native STT sidecar or library adapter; keep grammar, VAD, and model/runtime choices behind a speech-input seam.","Typically preserve notices, attribution, and license text where required; review selected model files or distributions separately from the code license.","Usually unnecessary unless you later choose to replace a narrow hot path or fully internalize the runtime.","high","model-artifact-review-recommended","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.","","","" "11766","tao-yu/Alg-Trainer","https://github.com/tao-yu/Alg-Trainer","HyperTwist","4.0","156.0","189.0","A","cubing trainer / solver / timing","foundation engine","training donor","locked core candidate","integrate","direct","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 cube-state, scramble, scheduling, or timer internals while adapting pedagogy, analytics, and UI.","Alg-Trainer (tao-yu/Alg-Trainer) | tao-yu/Alg-Trainer — MIT — Most powerful multi-set alg trainer (ZBLL, full custom sets, smartcube/virtual cube). Live: https://tao-yu.github.io/Alg-Trainer/. | tao-yu/Alg-Trainer — MIT — Multi-set alg t...","Integrate as a cubing / algorithm training subsystem for HyperTwist. Preserve the strongest existing pieces — scramble generation, algorithm database, recognition/training loop, timing/statistics, virtual cube, smartcube hooks, spaced repetition — and expose them behind a portfolio-stable interface. Wire first into poliva/cubedex, then into Lykos/cube_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: poliva/cubedex, Lykos/cube_trainer, cubing/cubing.js.","Repurpose here means: turn it into a trainer engine, solver/timer backend, recognition drill module, or method-specific practice mode for HyperTwist.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract cube-state model; Normalize trainer/case schema; Expose analytics and replay hooks","full subsystem extraction review","Hidden value often sits in cube-state representation, scramble generation, weighted drill scheduling, recognition datasets, replay/timer internals, and case database schemas.","Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters.","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for algorithm databases, spaced-repetition logic, scramble generation, timer/stat code, virtual cube components, smartcube adapters, and custom-trainer configuration support.","Audit tao-yu/Alg-Trainer as a cubing trainer / solver / timing candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters. Decide whether the best extraction path is direct and whether it belongs as foundation engine / training donor. Test the three merger paths in order: 1) poliva/cubedex [specialized training UX donor]; 2) Lykos/cube_trainer [sampling/analytics 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.","poliva/cubedex","specialized 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.","Lykos/cube_trainer","sampling/analytics 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.","project-local first","Cross-project transfer is possible, but the value is clearest inside the assigned project until source audit exposes more reusable primitives.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 5","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Alg-Trainer (tao-yu/Alg-Trainer) | tao-yu/Alg-Trainer — MIT — Most powerful multi-set alg trainer (ZBLL, full custom sets, smartcube/virtual cube). Live: https://tao-yu.github.io/Alg-Trainer/. | tao-yu/Alg-Trainer — MIT — Multi-set alg trainer (extend to hyper commutators). | tao-yu/Alg-Trainer — MIT — Multi-set alg trainer.","tao-yu/Alg-Trainer is treated as integrate for HyperTwist because visible metadata points to the cubing / algorithm training layer. Surface signal: Alg-Trainer (tao-yu/Alg-Trainer) | tao-yu/Alg-Trainer — MIT — Most powerful multi-set alg trainer (ZBLL, full custom sets, smartcube/virtual cube). Live: https://tao-yu.github.io/Alg-Trainer/. | tao-yu/Alg-Trainer — MIT — Multi-set alg t... The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","5.0","HT_training_stack","HT_training_stack_0001","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","tao-yu/alg-trainer","HyperTwist","","","","","","","","","","","","","","","","Original global operational v3 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","","4.0","5","156.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.","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." "11769","rhasspy/piper","https://github.com/rhasspy/piper","multi-project","4.0","71.0","80.0","C","voice / multimodal I/O","subsystem donor","multimodal donor","donor bench","repurpose","moderate modification","Retain the valuable internal engine, but expect to replace UI/product shell, adapt schemas/APIs, and refactor boundaries so it can plug into the target anchors cleanly. For this repo class, that usually means preserving streaming/audio pipeline logic while adapting commands, wake flows, and assistant integration.","rhasspy/piper – https://github.com/rhasspy/piper – MIT – Real-time TTS (recommended).","Repurpose selected subsystems rather than the whole product. Mine the repo for lean local TTS runtime, HTTP wrapping, voice loading and download logic, streaming WAV and raw output, and ONNX/eSpeak integration; keep what materially shortens build time, but rebind data contracts, permissions, storage, and deployment to the target architecture. Best first pairing order: coqui-ai/TTS, ggml-org/whisper.cpp, SYSTRAN/faster-whisper.","Consolidate under the project-specific anchor stack, 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: sentrux/sentrux, HactarCE/Hyperspeedcube, outline/outline.","Repurpose here means: turn it into a lean offline TTS sidecar or direct local narration donor.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Isolate streaming/audio pipeline; Normalize command schema; Add local/offline fallback layer","deep source audit","Hidden value often lives in streaming segmentation, VAD, device abstraction, latency mitigation, translation chains, and local/offline fallback paths.","Inspect C++ runtime core; voice loading and download path; streaming output; HTTP service boundary; speaker and phonemization config; selected voice artifact constraints.","Inspect package manifests, README/docs, src tree, examples, tests, build configs, voice catalog files, and hidden runtime switches. Look for ONNX runtime integration, phonemization, lightweight service boundaries, audio streaming, voice acquisition, and deployment constraints.","Audit rhasspy/piper as a voice / multimodal I/O candidate for multi-project. Do not stop at README-level features. Inspect: C++ runtime core, voice loading and download path, streaming output, HTTP service boundary, speaker and phonemization config, and selected voice artifact constraints. Decide whether it should remain the lean direct local TTS sidecar candidate and what should stay behind a bounded local voice seam. 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, runtime boundaries, tests/fixtures, and any subsystem stronger than the visible shell.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","exclude from core, keep as donor","Do not let it consume roadmap as a full product shell; mine reusable engines, adapters, schemas, UX patterns, or datasets.","medium-low","single-source signal; clear taxonomy; mostly donor/reference role","medium","memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","rhasspy/piper – https://github.com/rhasspy/piper – MIT – Real-time TTS (recommended).","rhasspy/piper is treated as repurpose for multi-project because visible metadata points to the voice / speech / audio layer. Surface signal: rhasspy/piper – https://github.com/rhasspy/piper – MIT – Real-time TTS (recommended). The fit looks real, but more as a donor/augmenter than as a standalone foundation.","memo","False","True","0.0","1.0","MU_misc","MU_misc_0004","voice / speech / audio","Repurpose selectively for multi-project. Its source-backed role is a lean local TTS sidecar candidate, not an exclusion-only adjunct.","future/adjacent use","voice / speech / audio","repurpose","moderate modification","medium","rhasspy/piper","multi-project","","","","","","","","","","","","","","","","Original global operational v3 retained","MIT code; voice artifacts reviewed separately","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","","4.0","5","71.0","","","","","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.","Use directly as a bounded local TTS sidecar or simple HTTP service; keep selected voice artifacts under separate review.","Typically preserve notices, attribution, and license text where required; review chosen voices or model cards separately from the code license.","Usually unnecessary unless you later replace the runtime for packaging or architecture reasons.","high","voice-artifact-review-required","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.","","","" -"11771","cubing/cubing.js","https://github.com/cubing/cubing.js","HyperTwist","5.0","152.0","185.0","A","interface / visualization / shell surface","foundation engine","visualization donor","locked strategic donor","integrate","direct","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 scene/layout primitives and replacing surrounding data models or backend assumptions.","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","Integrate as a ui / design / frontend subsystem for HyperTwist. Preserve the strongest existing pieces — component library, canvas/animation engine, interaction patterns, layout/state models, accessibility hooks, theming, editor widgets — and expose them behind a portfolio-stable interface. Wire first into HactarCE/Hyperspeedcube, then into kkoomen/qbr 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: HactarCE/Hyperspeedcube, kkoomen/qbr.","Repurpose here means: turn it into a frontend interaction donor, canvas/editor pattern library, or polished shell layer on top of existing anchors.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract layout/scene primitives; Map import/export schema; Detach UI shell from backend assumptions","full subsystem extraction review","Hidden value often sits in scene graph/canvas model, component primitives, import/export schema, gesture/keyboard interactions, and plugin-ready layout abstractions.","Inspect scene graph/canvas data model; layout primitives; component library; keyboard/gesture interactions; import/export schema; theming; plugin or extension 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 reusable canvas/editor components, design tokens, state models, keyboard shortcuts, drag/drop, accessibility, virtualization, and polished interaction patterns.","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.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","medium-high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","cubing/cubing.js is treated as integrate for HyperTwist because visible metadata points to the ui / design / frontend layer. Surface signal: Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above. The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","1.0","HT_cube_semantics","HT_cube_semantics_0001","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","cubing/cubing.js","HyperTwist","","","","","","","","","","","","","","","","Original global operational v3 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.","5.0","5","152.0","Locked Strategic Donor","Boundary-sensitive classic-cubing semantics and rendering donor","","P1","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." +"11771","cubing/cubing.js","https://github.com/cubing/cubing.js","HyperTwist","5.0","152.0","185.0","A","interface / visualization / shell surface","foundation engine","visualization donor","locked strategic donor","integrate","direct","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 scene/layout primitives and replacing surrounding data models or backend assumptions.","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","Integrate as a ui / design / frontend subsystem for HyperTwist. Preserve the strongest existing pieces — component library, canvas/animation engine, interaction patterns, layout/state models, accessibility hooks, theming, editor widgets — and expose them behind a portfolio-stable interface. Wire first into HactarCE/Hyperspeedcube, then into kkoomen/qbr 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: HactarCE/Hyperspeedcube, kkoomen/qbr.","Repurpose here means: turn it into a frontend interaction donor, canvas/editor pattern library, or polished shell layer on top of existing anchors.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract layout/scene primitives; Map import/export schema; Detach UI shell from backend assumptions","full subsystem extraction review","Hidden value often sits in scene graph/canvas model, component primitives, import/export schema, gesture/keyboard interactions, and plugin-ready layout abstractions.","Inspect scene graph/canvas data model; layout primitives; component library; keyboard/gesture interactions; import/export schema; theming; plugin or extension 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 reusable canvas/editor components, design tokens, state models, keyboard shortcuts, drag/drop, accessibility, virtualization, and polished interaction patterns.","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.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","medium-high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","cubing/cubing.js is treated as integrate for HyperTwist because visible metadata points to the ui / design / frontend layer. Surface signal: Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above. The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","1.0","HT_cube_semantics","HT_cube_semantics_0001","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","cubing/cubing.js","HyperTwist","","","","","","","","","","","","","","","","Original global operational v3 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.","5.0","5","152.0","Locked Strategic Donor","Boundary-sensitive classic-cubing semantics and rendering donor","","P1","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." "11848","cahidenes/rubiks-cube-solver","https://github.com/cahidenes/rubiks-cube-solver","HyperTwist","6.0","148.0","174.0","A","vision / perception / AR","foundation engine","vision donor","locked strategic donor","integrate","direct","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.","cahidenes/rubiks-cube-solver — MIT — OpenCV cube detection + Kociemba solver. | cahidenes/rubiks-cube-solver — MIT — OpenCV + solver. | Yes — we already have several strong open-source visual models for cube recognition from earlier in o...","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.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Benchmark calibration pipeline; Extract state reconstruction; Wrap with camera/AR adapter","full subsystem extraction review","Hidden value often sits in calibration, preprocessing, stabilization, object/state reconstruction, replay artifacts, and camera-to-domain state pipelines that are not obvious from demos.","Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts.","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.","Audit cahidenes/rubiks-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) vivaansinghvi07/rubix-cube-solver [perception + replay donor]; 3) cubing/cubing.js [state/render backend]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell.","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.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","memo mentions: 5","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","cahidenes/rubiks-cube-solver — MIT — OpenCV cube detection + Kociemba solver. | cahidenes/rubiks-cube-solver — MIT — OpenCV + solver. | Yes — we already have several strong open-source visual models for cube recognition from earlier in our conversation. I went back through the entire history and pulled the exact ones we discussed (qbr, vivaansinghvi07/rubix-cube-solver, tentone/rubix-solver, cahidenes/rubiks-cube-solver). These are still the high","cahidenes/rubiks-cube-solver is treated as integrate for HyperTwist because the current dossier keeps it active as a strategic donor for constrained capture flow, stickerless-friendly grouping, face-placement logic, and solver-handoff normalization behind the two vision anchors.","memo","False","True","0.0","5.0","HT_cube_vision","HT_cube_vision_0003","computer vision / AR","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the computer vision / AR layer.","HyperTwist","computer vision / AR","integrate","heavy modification","medium","cahidenes/rubiks-cube-solver","HyperTwist","","","","","","","","","","","","","","","","Original global operational v3 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","","6.0","5","148.0","Locked Strategic Donor","Active recognition-heuristics and validation donor","","","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 candidate-core wording to dossier-backed strategic-donor 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." "11852","tentone/rubix-solver","https://github.com/tentone/rubix-solver","HyperTwist","7.0","148.0","174.0","A","vision / perception / AR","foundation engine","vision donor","locked strategic donor","integrate","direct","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.","tentone/rubix-solver — MIT — OpenCV cube detection. | Yes — 100% possible to consolidate everything into one no-compromises, enterprise-grade platform. You're not half-arsing it, and neither am I. Modern vision models (and even classical...","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.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Benchmark calibration pipeline; Extract state reconstruction; Wrap with camera/AR adapter","full subsystem extraction review","Hidden value often sits in calibration, preprocessing, stabilization, object/state reconstruction, replay artifacts, and camera-to-domain state pipelines that are not obvious from demos.","Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts.","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.","Audit tentone/rubix-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) vivaansinghvi07/rubix-cube-solver [perception + replay donor]; 3) cubing/cubing.js [state/render backend]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell.","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.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","memo mentions: 7","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","tentone/rubix-solver — MIT — OpenCV cube detection. | Yes — 100% possible to consolidate everything into one no-compromises, enterprise-grade platform. You're not half-arsing it, and neither am I. Modern vision models (and even classical OpenCV pipelines refined over the last decade) are more than accurate enough in 2026 for reliable small-square/facelet color recognition on a standard 3x3 (or larger) Rubik's Cube under normal lighting. Productio","tentone/rubix-solver is treated as integrate for HyperTwist because the current dossier keeps it active as a strategic donor for compact C++ and OpenCV detection heuristics and comparison-bench value, not for its brute-force solver shell.","memo","False","True","0.0","7.0","HT_cube_vision","HT_cube_vision_0004","computer vision / AR","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the computer vision / AR layer.","HyperTwist","computer vision / AR","integrate","heavy modification","medium","tentone/rubix-solver","HyperTwist","","","","","","","","","","","","","","","","Original global operational v3 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","","7.0","5","148.0","Locked Strategic Donor","Active native-CV donor and comparison bench","","","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 candidate-core wording to dossier-backed strategic-donor 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." "11857","Lykos/cube_trainer","https://github.com/Lykos/cube_trainer","HyperTwist","8.0","145.0","171.0","A","cubing trainer / solver / timing","foundation engine","training donor","locked strategic donor","integrate","direct","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 cube-state, scramble, scheduling, or timer internals while adapting pedagogy, analytics, and UI.","Lykos/cube_trainer — MIT — Smart-sampled training. | CubeTrainer (Lykos/cube_trainer) | Lykos/cube_trainer — MIT — Smart-sampled alg/BLD trainer. Live: https://www.cubetrainer.org.","Integrate as a cubing / algorithm training subsystem for HyperTwist. Preserve the strongest existing pieces — scramble generation, algorithm database, recognition/training loop, timing/statistics, virtual cube, smartcube hooks, spaced repetition — and expose them behind a portfolio-stable interface. Wire first into tao-yu/Alg-Trainer, then into poliva/cubedex 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: tao-yu/Alg-Trainer, poliva/cubedex, cubing/cubing.js.","Repurpose here means: turn it into a trainer engine, solver/timer backend, recognition drill module, or method-specific practice mode for HyperTwist.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract cube-state model; Normalize trainer/case schema; Expose analytics and replay hooks","full subsystem extraction review","Hidden value often sits in cube-state representation, scramble generation, weighted drill scheduling, recognition datasets, replay/timer internals, and case database schemas.","Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters.","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for algorithm databases, spaced-repetition logic, scramble generation, timer/stat code, virtual cube components, smartcube adapters, and custom-trainer configuration support.","Audit Lykos/cube_trainer as a cubing trainer / solver / timing candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters. Decide whether the best extraction path is direct and whether it belongs as foundation engine / training donor. Test the three merger paths in order: 1) tao-yu/Alg-Trainer [base + donor swarm]; 2) poliva/cubedex [specialized 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.","tao-yu/Alg-Trainer","base + donor swarm","Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell.","poliva/cubedex","specialized 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.","project-local first","Cross-project transfer is possible, but the value is clearest inside the assigned project until source audit exposes more reusable primitives.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","strong adjacency to identified core stack; memo mentions: 4","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Lykos/cube_trainer — MIT — Smart-sampled training. | CubeTrainer (Lykos/cube_trainer) | Lykos/cube_trainer — MIT — Smart-sampled alg/BLD trainer. Live: https://www.cubetrainer.org.","Lykos/cube_trainer is treated as integrate for HyperTwist because the current dossier keeps it as a top-tier strategic donor for persisted sessions, results and statistics, personalization, and advanced BLD-oriented training-domain concepts rather than as a shell to transplant wholesale.","memo","False","True","0.0","4.0","HT_training_stack","HT_training_stack_0002","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","lykos/cube_trainer","HyperTwist","","","","","","","","","","","","","","","","Original global operational v3 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","","8.0","5","145.0","Locked Strategic Donor","Top-tier persistent training-domain donor","","","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 candidate-core wording to dossier-backed strategic-donor posture on 2026-04-25.","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." diff --git a/docs/repo_portfolio_unified_phase_g_v6_3.csv b/docs/repo_portfolio_unified_phase_g_v6_3.csv index 176be75..c8e7082 100644 --- a/docs/repo_portfolio_unified_phase_g_v6_3.csv +++ b/docs/repo_portfolio_unified_phase_g_v6_3.csv @@ -1,4 +1,4 @@ -"execution_queue_order","repo","primary_url","best_fit_project_v2","project_rank","portfolio_priority_score","execution_priority_score_v3","priority_band","taxonomy_hardened","archetype_primary","archetype_secondary","portfolio_role_v3","recommended_action_v2","repurposing_potential_v2","modification_scope_detail_v3","capability_extract","integration_realization_detail","consolidation_detail","repurpose_detail","realization_checklist","inspection_depth_recommendation","hidden_value_hypothesis","source_inspection_questions","source_code_audit_targets","coding_model_instruction_v3","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","exclusion_discipline","exclusion_reasoning_v3","confidence_v3","confidence_rationale_v3","confidence_reassessed","confidence_rationale","licensing_filter_status","bookmark_project_sections","bookmark_heading_paths_top","bookmark_description_sample","memo_signal_sample","expanded_reasoning","source_attachments","in_bookmarks","in_memo","bookmark_occurrences","memo_mentions","cluster_tag","source_audit_packet_id","category_guess_v2","reasoning","best_fit_project","category_guess","recommended_action","repurposing_potential","confidence","canonical_repo_key","alias_group_size","phase_g_bucket","phase_g_bucket_rank","phase_g_bucket_reason","phase_g_project_stack_layer","phase_g_inclusion_status","phase_g_source_audit_priority","phase_g_master_list_rationale","phase_g_project_rank","phase_g_conf_rank","phase_g_action_rank","phase_g_global_order","phase_g_project_order","phase_g_anomaly_flag","_repo_norm","v5_primary_eval_project","v5_runtime_project","v5_scriptorium_override_status","v5_scriptorium_phase_g_bucket","v5_scriptorium_phase_g_stack_layer","v5_scriptorium_phase_g_source_audit_priority","v5_scriptorium_current_reality_status","v5_scriptorium_actual_role","v5_scriptorium_evidence_summary","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","audit_rank_num","bucket_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" +"execution_queue_order","repo","primary_url","best_fit_project_v2","project_rank","portfolio_priority_score","execution_priority_score_v3","priority_band","taxonomy_hardened","archetype_primary","archetype_secondary","portfolio_role_v3","recommended_action_v2","repurposing_potential_v2","modification_scope_detail_v3","capability_extract","integration_realization_detail","consolidation_detail","repurpose_detail","realization_checklist","inspection_depth_recommendation","hidden_value_hypothesis","source_inspection_questions","source_code_audit_targets","coding_model_instruction_v3","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","exclusion_discipline","exclusion_reasoning_v3","confidence_v3","confidence_rationale_v3","confidence_reassessed","confidence_rationale","licensing_filter_status","bookmark_project_sections","bookmark_heading_paths_top","bookmark_description_sample","memo_signal_sample","expanded_reasoning","source_attachments","in_bookmarks","in_memo","bookmark_occurrences","memo_mentions","cluster_tag","source_audit_packet_id","category_guess_v2","reasoning","best_fit_project","category_guess","recommended_action","repurposing_potential","confidence","canonical_repo_key","alias_group_size","phase_g_bucket","phase_g_bucket_rank","phase_g_bucket_reason","phase_g_project_stack_layer","phase_g_inclusion_status","phase_g_source_audit_priority","phase_g_master_list_rationale","phase_g_project_rank","phase_g_conf_rank","phase_g_action_rank","phase_g_global_order","phase_g_project_order","phase_g_anomaly_flag","_repo_norm","v5_primary_eval_project","v5_runtime_project","v5_scriptorium_override_status","v5_scriptorium_phase_g_bucket","v5_scriptorium_phase_g_stack_layer","v5_scriptorium_phase_g_source_audit_priority","v5_scriptorium_current_reality_status","v5_scriptorium_actual_role","v5_scriptorium_evidence_summary","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","audit_rank_num","bucket_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" "1.0","HactarCE/Hyperspeedcube","https://github.com/HactarCE/Hyperspeedcube","HyperTwist","1.0","160.0","193.0","A","hypercubing / nD engine","foundation engine","simulation donor","locked core candidate","integrate","direct","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.","HactarCE/Hyperspeedcube — MIT OR Apache-2.0 — Modern 3D/4D puzzle simulator (thousands of puzzles). | This makes CubeForge the first true hypercubing training platform — solving every pain point while keeping the 3D core rock-solid.Exten...","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.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Isolate puzzle/state core; Extract render/input abstractions; Document notation and save format","full subsystem extraction review","Hidden value is likely in generalized puzzle/state representations, higher-dimensional transforms, notation systems, save formats, puzzle generators, and rendering abstractions.","Inspect generalized puzzle/state model; notation parser; transform math; rendering abstraction; save/load format; puzzle generator; input mapping; performance optimizations.","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.","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.","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.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 6","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","HactarCE/Hyperspeedcube — MIT OR Apache-2.0 — Modern 3D/4D puzzle simulator (thousands of puzzles). | This makes CubeForge the first true hypercubing training platform — solving every pain point while keeping the 3D core rock-solid.Extended Comprehensive Open-Source Building Blocks (April 2026)Updated exhaustive scan — focused on high-value for your codebase (simulators, trainers, vision, hyper).MIT or Apache Licensed (Fully permissive — fork/abs","HactarCE/Hyperspeedcube is treated as integrate for HyperTwist because visible metadata points to the hypercubing / nD simulation layer. Surface signal: HactarCE/Hyperspeedcube — MIT OR Apache-2.0 — Modern 3D/4D puzzle simulator (thousands of puzzles). | This makes CubeForge the first true hypercubing training platform — solving every pain point while keeping the 3D core rock-solid.Exten... The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","6.0","HT_hyper_engine","HT_hyper_engine_0001","hypercubing / nD simulation","Integrate as a shared building block across at least two projects. Its memo and bookmark signals place it in the hypercubing / nD simulation layer.","multi-project","hypercubing / nD simulation","integrate","direct","medium","hactarce/hyperspeedcube","1.0","Locked Foundation","1.0","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.","nD / hypercubing simulation substrate","Included","P0","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.","2.0","5.0","3.0","2.0","2.0","","hactarce/hyperspeedcube","HyperTwist","","","","","","","","","","Original global Phase G v4 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.","Potentially relevant","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","1.0","1","1.0","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." "1746.0","SYSTRAN/faster-whisper","https://github.com/SYSTRAN/faster-whisper","multi-project","1.0","71.0","80.0","C","voice / multimodal I/O","subsystem donor","multimodal donor","donor bench","repurpose","moderate modification","Retain the valuable internal engine, but expect to replace UI/product shell, adapt schemas/APIs, and refactor boundaries so it can plug into the target anchors cleanly. For this repo class, that usually means preserving parsers/graph schema/indexing while swapping layout, storage, or UX layers.","huggingface/faster-whisper – https://github.com/SYSTRAN/faster-whisper – MIT – Fast Whisper STT.","Repurpose selected subsystems rather than the whole product. Mine the repo for VAD-aware segmentation, batch transcription, timestamps, hotword and prefix conditioning, and Python service ergonomics; keep what materially shortens build time, but rebind data contracts, permissions, storage, and deployment to the target architecture. Best first pairing order: ggml-org/whisper.cpp, rhasspy/piper, coqui-ai/TTS.","Consolidate under the project-specific anchor stack, 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: sentrux/sentrux, HactarCE/Hyperspeedcube, outline/outline.","Repurpose here means: turn it into a Python STT service, timestamped speech pipeline, or batch transcription donor.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Normalize graph schema; Decouple parser/indexer from UI; Expose query and layout services","deep source audit","Hidden value may sit in AST/indexing pipelines, call/dependency graph schema, incremental refresh, layout heuristics, graph query APIs, and serialization formats that can be lifted into VectorShell.","Inspect transcription API and dataclasses; batched inference; VAD chunking; word timestamps; hotwords and prefix conditioning; service-layer boundaries; benchmark and test coverage.","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, benchmark scripts, and hidden experimental modules. Look for VAD, batch inference, timestamps, hotwords, model/runtime constraints, and service-layer boundaries.","Audit SYSTRAN/faster-whisper as a voice / multimodal I/O candidate for multi-project. Do not stop at README-level features. Inspect: transcription API and dataclasses, batched inference, VAD chunking, word timestamps, hotwords and prefix conditioning, service-layer boundaries, and benchmark/test coverage. Decide whether it should remain the primary Python STT donor and what should stay behind a bounded Python service seam. 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, runtime boundaries, tests/benchmarks, and any subsystem stronger than the visible shell.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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.","project-local first","Cross-project transfer is possible, but the value is clearest inside the assigned project until source audit exposes more reusable primitives.","exclude from core, keep as donor","Do not let it consume roadmap as a full product shell; mine reusable engines, adapters, schemas, UX patterns, or datasets.","medium-low","single-source signal; clear taxonomy; mostly donor/reference role","medium","memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","huggingface/faster-whisper – https://github.com/SYSTRAN/faster-whisper – MIT – Fast Whisper STT.","SYSTRAN/faster-whisper is treated as repurpose for multi-project because visible metadata points to the voice / speech / audio layer. Surface signal: huggingface/faster-whisper – https://github.com/SYSTRAN/faster-whisper – MIT – Fast Whisper STT. The fit looks real, but more as a donor/augmenter than as a standalone foundation.","memo","False","True","0.0","1.0","MU_misc","MU_misc_0001","voice / speech / audio","Repurpose selectively for multi-project. Its source-backed role is a bounded Python STT donor and service-layer candidate, not an exclusion-only adjunct.","future/adjacent use","voice / speech / audio","repurpose","moderate modification","medium","systran/faster-whisper","1.0","Donor Bench","4.0","Useful subsystem donor for multi-project, primarily in the 'Cross-project / future-adjacent' role; strongest current Python STT donor and service-layer candidate in the voice stack.","Cross-project / future-adjacent","Included","P2","SYSTRAN/faster-whisper is placed in Donor Bench for multi-project because it provides the clearest Python STT service-layer path in the voice stack. Recommended action remains repurpose, but the real retained value is batch transcription, VAD-aware chunking, timestamps, and Python-side service integration rather than any code-intelligence or graph role.","4.0","2.0","2.0","60.0","2.0","","systran/faster-whisper","multi-project","","","","","","","","","","Original global Phase G v4 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","1.0","3","4.0","71.0","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.","Use directly as a bounded Python STT service or adapter layer; keep model/runtime selection and deployment behind a speech-input seam.","Typically preserve notices, attribution, and license text where required; review selected model checkpoints separately from the code license.","Usually unnecessary unless you later decide to replace a narrow hot path or remove Python/CTranslate2 dependencies.","high","model-artifact-review-required","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.","","","" "2.0","kkoomen/qbr","https://github.com/kkoomen/qbr","HyperTwist","2.0","158.0","191.0","A","vision / perception / AR","foundation engine","vision donor","locked core candidate","integrate","direct","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.","kkoomen/qbr — MIT — Webcam-based 3x3 solver with accurate OpenCV color detection (perfect vision starter). | kkoomen/qbr — MIT — Webcam CV solver (base for 3D vision). | kkoomen/qbr — MIT — Webcam CV color detection. | poliva/cubedex, ta...","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.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Benchmark calibration pipeline; Extract state reconstruction; Wrap with camera/AR adapter","full subsystem extraction review","Hidden value often sits in calibration, preprocessing, stabilization, object/state reconstruction, replay artifacts, and camera-to-domain state pipelines that are not obvious from demos.","Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts.","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.","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.","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.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 5","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","kkoomen/qbr — MIT — Webcam-based 3x3 solver with accurate OpenCV color detection (perfect vision starter). | kkoomen/qbr — MIT — Webcam CV solver (base for 3D vision). | kkoomen/qbr — MIT — Webcam CV color detection. | poliva/cubedex, tao-yu/Alg-Trainer, kkoomen/qbr, vivaansinghvi07/rubix-cube-solver, NuiLab/code-vr, molgenis/Graph2VR (core permissive parts), brianpeiris/RiftSketch, aMonteSl/CodeXR.","kkoomen/qbr is treated as integrate for HyperTwist because visible metadata points to the computer vision / AR layer. Surface signal: kkoomen/qbr — MIT — Webcam-based 3x3 solver with accurate OpenCV color detection (perfect vision starter). | kkoomen/qbr — MIT — Webcam CV solver (base for 3D vision). | kkoomen/qbr — MIT — Webcam CV color detection. | poliva/cubedex, ta... The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","5.0","HT_cube_vision","HT_cube_vision_0001","computer vision / AR","Integrate as a shared building block across at least two projects. Its memo and bookmark signals place it in the computer vision / AR layer.","multi-project","computer vision / AR","integrate","heavy modification","medium","kkoomen/qbr","1.0","Locked Foundation","1.0","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.","Live cube-recognition substrate","Included","P0","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.","2.0","5.0","3.0","7705.0","4.0","","kkoomen/qbr","HyperTwist","","","","","","","","","","Original global Phase G v4 retained","MIT","known_from_reference_material","uploaded_reference_docs","no","","","","Supplemental intake references are advisory only; v6 adjudication remains the source of truth.","Potentially relevant","yes","v6 unified all-project source-of-truth pack","v5_carry_forward","","v6_unified_source_of_truth_pack","2.0","1","1.0","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." @@ -10,7 +10,7 @@ "1748.0","ggml-org/whisper.cpp","https://github.com/ggml-org/whisper.cpp","multi-project","3.0","71.0","80.0","C","voice / multimodal I/O","subsystem donor","multimodal donor","donor bench","repurpose","moderate modification","Retain the valuable internal engine, but expect to replace UI/product shell, adapt schemas/APIs, and refactor boundaries so it can plug into the target anchors cleanly. For this repo class, that usually means preserving streaming/audio pipeline logic while adapting commands, wake flows, and assistant integration.","7. Speech / Voice Models (STT + TTS)ggml-org/whisper.cpp – https://github.com/ggml-org/whisper.cpp – MIT – Native C++ Whisper for STT.","Repurpose selected subsystems rather than the whole product. Mine the repo for native STT runtime seams, VAD, grammar-constrained decoding, segmented speech capture, and server-side deployment patterns; keep what materially shortens build time, but rebind data contracts, permissions, storage, and deployment to the target architecture. Best first pairing order: SYSTRAN/faster-whisper, rhasspy/piper, coqui-ai/TTS.","Consolidate under the project-specific anchor stack, 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: sentrux/sentrux, HactarCE/Hyperspeedcube, outline/outline.","Repurpose here means: turn it into an offline STT sidecar, grammar-constrained command surface, or native speech-input donor.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Isolate streaming/audio pipeline; Normalize command schema; Add local/offline fallback layer","deep source audit","Hidden value often lives in streaming segmentation, VAD, device abstraction, latency mitigation, translation chains, and local/offline fallback paths.","Inspect C/C++ API surface; VAD path; grammar-constrained decoding; server/runtime examples; model loading and portability seams; tests and benchmarks.","Inspect package manifests, README/docs, src/include tree, examples, tests, CI workflows, build configs, model tooling, and hidden experimental modules. Look for VAD, grammar support, streaming/segmentation, server boundaries, device/runtime abstraction, and performance shortcuts.","Audit ggml-org/whisper.cpp as a voice / multimodal I/O candidate for multi-project. Do not stop at README-level features. Inspect: C/C++ API surface, VAD, grammar-constrained decoding, server/runtime examples, model loading and portability seams, and benchmark/test coverage. Decide whether it should remain the primary offline STT sidecar candidate and what should stay behind a bounded native seam. 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, runtime boundaries, tests/benchmarks, and any subsystem stronger than the visible shell.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","exclude from core, keep as donor","Do not let it consume roadmap as a full product shell; mine reusable engines, adapters, schemas, UX patterns, or datasets.","medium-low","single-source signal; clear taxonomy; mostly donor/reference role","medium","memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","7. Speech / Voice Models (STT + TTS)ggml-org/whisper.cpp – https://github.com/ggml-org/whisper.cpp – MIT – Native C++ Whisper for STT.","ggml-org/whisper.cpp is treated as repurpose for multi-project because visible metadata points to the voice / speech / audio layer. Surface signal: 7. Speech / Voice Models (STT + TTS)ggml-org/whisper.cpp – https://github.com/ggml-org/whisper.cpp – MIT – Native C++ Whisper for STT. The fit looks real, but more as a donor/augmenter than as a standalone foundation.","memo","False","True","0.0","1.0","MU_misc","MU_misc_0003","voice / speech / audio","Repurpose selectively for multi-project. Its source-backed role is a bounded speech-input donor and offline/native STT sidecar candidate, not an exclusion-only adjunct.","future/adjacent use","voice / speech / audio","repurpose","moderate modification","medium","ggml-org/whisper.cpp","1.0","Donor Bench","4.0","Useful subsystem donor for multi-project, primarily in the 'Cross-project / future-adjacent' role; strongest current native/offline STT sidecar candidate in the voice stack.","Cross-project / future-adjacent","Included","P2","ggml-org/whisper.cpp is placed in Donor Bench for multi-project because it is the clearest native/offline STT anchor in the voice stack. Recommended action remains repurpose, but the real retained value is a bounded speech-input runtime, VAD, grammar-constrained decoding, and portable deployment rather than a full product shell.","4.0","2.0","2.0","7850.0","6.0","","ggml-org/whisper.cpp","multi-project","","","","","","","","","","Original global Phase G v4 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","3.0","3","4.0","71.0","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.","Use directly as a bounded native STT sidecar or library adapter; keep grammar, VAD, and model/runtime choices behind a speech-input seam.","Typically preserve notices, attribution, and license text where required; review selected model files or distributions separately from the code license.","Usually unnecessary unless you later choose to replace a narrow hot path or fully internalize the runtime.","high","model-artifact-review-recommended","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.","","","" "4.0","tao-yu/Alg-Trainer","https://github.com/tao-yu/Alg-Trainer","HyperTwist","4.0","156.0","189.0","A","cubing trainer / solver / timing","foundation engine","training donor","locked core candidate","integrate","direct","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 cube-state, scramble, scheduling, or timer internals while adapting pedagogy, analytics, and UI.","Alg-Trainer (tao-yu/Alg-Trainer) | tao-yu/Alg-Trainer — MIT — Most powerful multi-set alg trainer (ZBLL, full custom sets, smartcube/virtual cube). Live: https://tao-yu.github.io/Alg-Trainer/. | tao-yu/Alg-Trainer — MIT — Multi-set alg t...","Integrate as a cubing / algorithm training subsystem for HyperTwist. Preserve the strongest existing pieces — scramble generation, algorithm database, recognition/training loop, timing/statistics, virtual cube, smartcube hooks, spaced repetition — and expose them behind a portfolio-stable interface. Wire first into poliva/cubedex, then into Lykos/cube_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: poliva/cubedex, Lykos/cube_trainer, cubing/cubing.js.","Repurpose here means: turn it into a trainer engine, solver/timer backend, recognition drill module, or method-specific practice mode for HyperTwist.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract cube-state model; Normalize trainer/case schema; Expose analytics and replay hooks","full subsystem extraction review","Hidden value often sits in cube-state representation, scramble generation, weighted drill scheduling, recognition datasets, replay/timer internals, and case database schemas.","Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters.","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for algorithm databases, spaced-repetition logic, scramble generation, timer/stat code, virtual cube components, smartcube adapters, and custom-trainer configuration support.","Audit tao-yu/Alg-Trainer as a cubing trainer / solver / timing candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters. Decide whether the best extraction path is direct and whether it belongs as foundation engine / training donor. Test the three merger paths in order: 1) poliva/cubedex [specialized training UX donor]; 2) Lykos/cube_trainer [sampling/analytics 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.","poliva/cubedex","specialized 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.","Lykos/cube_trainer","sampling/analytics 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.","project-local first","Cross-project transfer is possible, but the value is clearest inside the assigned project until source audit exposes more reusable primitives.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 5","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Alg-Trainer (tao-yu/Alg-Trainer) | tao-yu/Alg-Trainer — MIT — Most powerful multi-set alg trainer (ZBLL, full custom sets, smartcube/virtual cube). Live: https://tao-yu.github.io/Alg-Trainer/. | tao-yu/Alg-Trainer — MIT — Multi-set alg trainer (extend to hyper commutators). | tao-yu/Alg-Trainer — MIT — Multi-set alg trainer.","tao-yu/Alg-Trainer is treated as integrate for HyperTwist because visible metadata points to the cubing / algorithm training layer. Surface signal: Alg-Trainer (tao-yu/Alg-Trainer) | tao-yu/Alg-Trainer — MIT — Most powerful multi-set alg trainer (ZBLL, full custom sets, smartcube/virtual cube). Live: https://tao-yu.github.io/Alg-Trainer/. | tao-yu/Alg-Trainer — MIT — Multi-set alg t... The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","5.0","HT_training_stack","HT_training_stack_0001","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","tao-yu/alg-trainer","1.0","Locked Parallel Foundation","2.0","Part of the irreducible core stack for HyperTwist; complements a primary foundation in the 'Training / timing layer' role and should be preserved in the committed build path.","Training / timing layer","Included","P0","tao-yu/Alg-Trainer is placed in Locked Parallel Foundation for HyperTwist because it best serves the 'Training / timing layer' 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.","2.0","5.0","3.0","8548.0","111.0","","tao-yu/alg-trainer","HyperTwist","","","","","","","","","","Original global Phase G v4 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","4.0","1","2.0","156.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.","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." "1749.0","rhasspy/piper","https://github.com/rhasspy/piper","multi-project","4.0","71.0","80.0","C","voice / multimodal I/O","subsystem donor","multimodal donor","donor bench","repurpose","moderate modification","Retain the valuable internal engine, but expect to replace UI/product shell, adapt schemas/APIs, and refactor boundaries so it can plug into the target anchors cleanly. For this repo class, that usually means preserving streaming/audio pipeline logic while adapting commands, wake flows, and assistant integration.","rhasspy/piper – https://github.com/rhasspy/piper – MIT – Real-time TTS (recommended).","Repurpose selected subsystems rather than the whole product. Mine the repo for lean local TTS runtime, HTTP wrapping, voice loading and download logic, streaming WAV and raw output, and ONNX/eSpeak integration; keep what materially shortens build time, but rebind data contracts, permissions, storage, and deployment to the target architecture. Best first pairing order: coqui-ai/TTS, ggml-org/whisper.cpp, SYSTRAN/faster-whisper.","Consolidate under the project-specific anchor stack, 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: sentrux/sentrux, HactarCE/Hyperspeedcube, outline/outline.","Repurpose here means: turn it into a lean offline TTS sidecar or direct local narration donor.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Isolate streaming/audio pipeline; Normalize command schema; Add local/offline fallback layer","deep source audit","Hidden value often lives in streaming segmentation, VAD, device abstraction, latency mitigation, translation chains, and local/offline fallback paths.","Inspect C++ runtime core; voice loading and download path; streaming output; HTTP service boundary; speaker and phonemization config; selected voice artifact constraints.","Inspect package manifests, README/docs, src tree, examples, tests, build configs, voice catalog files, and hidden runtime switches. Look for ONNX runtime integration, phonemization, lightweight service boundaries, audio streaming, voice acquisition, and deployment constraints.","Audit rhasspy/piper as a voice / multimodal I/O candidate for multi-project. Do not stop at README-level features. Inspect: C++ runtime core, voice loading and download path, streaming output, HTTP service boundary, speaker and phonemization config, and selected voice artifact constraints. Decide whether it should remain the lean direct local TTS sidecar candidate and what should stay behind a bounded local voice seam. 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, runtime boundaries, tests/fixtures, and any subsystem stronger than the visible shell.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","exclude from core, keep as donor","Do not let it consume roadmap as a full product shell; mine reusable engines, adapters, schemas, UX patterns, or datasets.","medium-low","single-source signal; clear taxonomy; mostly donor/reference role","medium","memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","rhasspy/piper – https://github.com/rhasspy/piper – MIT – Real-time TTS (recommended).","rhasspy/piper is treated as repurpose for multi-project because visible metadata points to the voice / speech / audio layer. Surface signal: rhasspy/piper – https://github.com/rhasspy/piper – MIT – Real-time TTS (recommended). The fit looks real, but more as a donor/augmenter than as a standalone foundation.","memo","False","True","0.0","1.0","MU_misc","MU_misc_0004","voice / speech / audio","Repurpose selectively for multi-project. Its source-backed role is a lean local TTS sidecar candidate, not an exclusion-only adjunct.","future/adjacent use","voice / speech / audio","repurpose","moderate modification","medium","rhasspy/piper","1.0","Donor Bench","4.0","Useful subsystem donor for multi-project, primarily in the 'Cross-project / future-adjacent' role; lean direct local TTS sidecar candidate.","Cross-project / future-adjacent","Included","P2","rhasspy/piper is placed in Donor Bench for multi-project because it provides the leanest current local TTS runtime seam in the voice stack. Recommended action remains repurpose, but the real retained value is ONNX and eSpeak runtime simplicity, streaming output, and deployable local HTTP wrapping rather than broad voice-platform scope.","4.0","2.0","2.0","8565.0","8.0","","rhasspy/piper","multi-project","","","","","","","","","","Original global Phase G v4 retained","MIT code; voice artifacts reviewed separately","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","4.0","3","4.0","71.0","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.","Use directly as a bounded local TTS sidecar or simple HTTP service; keep selected voice artifacts under separate review.","Typically preserve notices, attribution, and license text where required; review chosen voices or model cards separately from the code license.","Usually unnecessary unless you later replace the runtime for packaging or architecture reasons.","high","voice-artifact-review-required","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.","","","" -"5.0","cubing/cubing.js","https://github.com/cubing/cubing.js","HyperTwist","5.0","152.0","185.0","A","interface / visualization / shell surface","foundation engine","visualization donor","locked strategic donor","integrate","direct","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 scene/layout primitives and replacing surrounding data models or backend assumptions.","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","Integrate as a ui / design / frontend subsystem for HyperTwist. Preserve the strongest existing pieces — component library, canvas/animation engine, interaction patterns, layout/state models, accessibility hooks, theming, editor widgets — and expose them behind a portfolio-stable interface. Wire first into HactarCE/Hyperspeedcube, then into kkoomen/qbr 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: HactarCE/Hyperspeedcube, kkoomen/qbr.","Repurpose here means: turn it into a frontend interaction donor, canvas/editor pattern library, or polished shell layer on top of existing anchors.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract layout/scene primitives; Map import/export schema; Detach UI shell from backend assumptions","full subsystem extraction review","Hidden value often sits in scene graph/canvas model, component primitives, import/export schema, gesture/keyboard interactions, and plugin-ready layout abstractions.","Inspect scene graph/canvas data model; layout primitives; component library; keyboard/gesture interactions; import/export schema; theming; plugin or extension 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 reusable canvas/editor components, design tokens, state models, keyboard shortcuts, drag/drop, accessibility, virtualization, and polished interaction patterns.","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.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","medium-high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","cubing/cubing.js is treated as integrate for HyperTwist because visible metadata points to the ui / design / frontend layer. Surface signal: Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above. The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","1.0","HT_cube_semantics","HT_cube_semantics_0001","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","cubing/cubing.js","1.0","Locked Strategic Donor","1.0","Dual MPL/GPL classic-cubing anchor with strong donor value, but not a carefree private-source fork candidate.","Boundary-sensitive classic-cubing semantics and rendering donor","Included","P1","Keep as the canonical classic-cubing semantics and interop donor, but only through its practical MPL path or bounded adapter/package consumption.","2.0","4.0","3.0","11771.0","112.0","","cubing/cubing.js","HyperTwist","","","","","","","","","","Original global Phase G v4 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","5.0","1","1.0","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." +"5.0","cubing/cubing.js","https://github.com/cubing/cubing.js","HyperTwist","5.0","152.0","185.0","A","interface / visualization / shell surface","foundation engine","visualization donor","locked strategic donor","integrate","direct","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 scene/layout primitives and replacing surrounding data models or backend assumptions.","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","Integrate as a ui / design / frontend subsystem for HyperTwist. Preserve the strongest existing pieces — component library, canvas/animation engine, interaction patterns, layout/state models, accessibility hooks, theming, editor widgets — and expose them behind a portfolio-stable interface. Wire first into HactarCE/Hyperspeedcube, then into kkoomen/qbr 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: HactarCE/Hyperspeedcube, kkoomen/qbr.","Repurpose here means: turn it into a frontend interaction donor, canvas/editor pattern library, or polished shell layer on top of existing anchors.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract layout/scene primitives; Map import/export schema; Detach UI shell from backend assumptions","full subsystem extraction review","Hidden value often sits in scene graph/canvas model, component primitives, import/export schema, gesture/keyboard interactions, and plugin-ready layout abstractions.","Inspect scene graph/canvas data model; layout primitives; component library; keyboard/gesture interactions; import/export schema; theming; plugin or extension 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 reusable canvas/editor components, design tokens, state models, keyboard shortcuts, drag/drop, accessibility, virtualization, and polished interaction patterns.","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.","project-local anchor","base + 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.","shared portfolio utility","augmenter","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 | HyperTwist | ScriptoriumAI","This capability is broadly portable across the portfolio because interaction, orchestration, and shell/UI patterns can be shared with thin domain adapters.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","medium-high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","portfolio anchor or repeatedly surfaced core candidate; memo mentions: 1","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above.","cubing/cubing.js is treated as integrate for HyperTwist because visible metadata points to the ui / design / frontend layer. Surface signal: Other Notable ResourcesCubing.js library (for building your own tools): https://github.com/cubing/cubing.js – Open-source core used in many trainers above. The likely value is substantial enough to preserve as a named subsystem rather than just mining isolated ideas.","memo","False","True","0.0","1.0","HT_cube_semantics","HT_cube_semantics_0001","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","cubing/cubing.js","1.0","Locked Strategic Donor","1.0","Dual MPL/GPL classic-cubing anchor with strong donor value, but not a carefree private-source fork candidate.","Boundary-sensitive classic-cubing semantics and rendering donor","Included","P1","Keep as the canonical classic-cubing semantics and interop donor, but only through its practical MPL path or bounded adapter/package consumption.","2.0","4.0","3.0","11771.0","112.0","","cubing/cubing.js","HyperTwist","","","","","","","","","","Original global Phase G v4 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","5.0","1","1.0","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." "6.0","cahidenes/rubiks-cube-solver","https://github.com/cahidenes/rubiks-cube-solver","HyperTwist","6.0","148.0","174.0","A","vision / perception / AR","foundation engine","vision donor","locked strategic donor","integrate","direct","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.","cahidenes/rubiks-cube-solver — MIT — OpenCV cube detection + Kociemba solver. | cahidenes/rubiks-cube-solver — MIT — OpenCV + solver. | Yes — we already have several strong open-source visual models for cube recognition from earlier in o...","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.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Benchmark calibration pipeline; Extract state reconstruction; Wrap with camera/AR adapter","full subsystem extraction review","Hidden value often sits in calibration, preprocessing, stabilization, object/state reconstruction, replay artifacts, and camera-to-domain state pipelines that are not obvious from demos.","Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts.","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.","Audit cahidenes/rubiks-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) vivaansinghvi07/rubix-cube-solver [perception + replay donor]; 3) cubing/cubing.js [state/render backend]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell.","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.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","memo mentions: 5","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","cahidenes/rubiks-cube-solver — MIT — OpenCV cube detection + Kociemba solver. | cahidenes/rubiks-cube-solver — MIT — OpenCV + solver. | Yes — we already have several strong open-source visual models for cube recognition from earlier in our conversation. I went back through the entire history and pulled the exact ones we discussed (qbr, vivaansinghvi07/rubix-cube-solver, tentone/rubix-solver, cahidenes/rubiks-cube-solver). These are still the high","cahidenes/rubiks-cube-solver is treated as integrate for HyperTwist because the current dossier keeps it active as a strategic donor for constrained capture flow, stickerless-friendly grouping, face-placement logic, and solver-handoff normalization behind the two vision anchors.","memo","False","True","0.0","5.0","HT_cube_vision","HT_cube_vision_0003","computer vision / AR","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the computer vision / AR layer.","HyperTwist","computer vision / AR","integrate","heavy modification","medium","cahidenes/rubiks-cube-solver","1.0","Locked Strategic Donor","3.0","High-value active vision donor for recognition heuristics, solver-bridge normalization, and validation behind qbr and vivaansinghvi07; not a foundation anchor.","Active recognition-heuristics and validation donor","Included","P1","cahidenes/rubiks-cube-solver is placed in Locked Strategic Donor for HyperTwist because it best serves the 'Active recognition-heuristics and validation 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.","2.0","5.0","3.0","11849.0","113.0","","cahidenes/rubiks-cube-solver","HyperTwist","","","","","","","","","","Original global Phase G v4 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","6.0","2","3.0","148.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 candidate-core wording to dossier-backed strategic-donor 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." "7.0","tentone/rubix-solver","https://github.com/tentone/rubix-solver","HyperTwist","7.0","148.0","174.0","A","vision / perception / AR","foundation engine","vision donor","locked strategic donor","integrate","direct","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.","tentone/rubix-solver — MIT — OpenCV cube detection. | Yes — 100% possible to consolidate everything into one no-compromises, enterprise-grade platform. You're not half-arsing it, and neither am I. Modern vision models (and even classical...","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.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Benchmark calibration pipeline; Extract state reconstruction; Wrap with camera/AR adapter","full subsystem extraction review","Hidden value often sits in calibration, preprocessing, stabilization, object/state reconstruction, replay artifacts, and camera-to-domain state pipelines that are not obvious from demos.","Inspect preprocessing/calibration; tracking stabilization; state reconstruction; replay/event model; camera abstraction; fallback heuristics; testing assets/videos; performance shortcuts.","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.","Audit tentone/rubix-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) vivaansinghvi07/rubix-cube-solver [perception + replay donor]; 3) cubing/cubing.js [state/render backend]. Return hidden modules, reusable schemas, protocol layers, plugin hooks, render/state models, datasets/test fixtures, and any subsystem stronger than the visible product shell.","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.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","memo mentions: 7","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","tentone/rubix-solver — MIT — OpenCV cube detection. | Yes — 100% possible to consolidate everything into one no-compromises, enterprise-grade platform. You're not half-arsing it, and neither am I. Modern vision models (and even classical OpenCV pipelines refined over the last decade) are more than accurate enough in 2026 for reliable small-square/facelet color recognition on a standard 3x3 (or larger) Rubik's Cube under normal lighting. Productio","tentone/rubix-solver is treated as integrate for HyperTwist because the current dossier keeps it active as a strategic donor for compact C++ and OpenCV detection heuristics and comparison-bench value, not for its brute-force solver shell.","memo","False","True","0.0","7.0","HT_cube_vision","HT_cube_vision_0004","computer vision / AR","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the computer vision / AR layer.","HyperTwist","computer vision / AR","integrate","heavy modification","medium","tentone/rubix-solver","1.0","Locked Strategic Donor","3.0","High-value active native-CV donor for detection heuristics and comparison benchmarking behind the vision anchors; not a foundation anchor.","Active native-CV donor and comparison bench","Included","P1","tentone/rubix-solver is placed in Locked Strategic Donor for HyperTwist because it best serves the 'Active native-CV donor and comparison bench' 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.","2.0","5.0","3.0","11852.0","114.0","","tentone/rubix-solver","HyperTwist","","","","","","","","","","Original global Phase G v4 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","7.0","2","3.0","148.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 candidate-core wording to dossier-backed strategic-donor 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." "8.0","Lykos/cube_trainer","https://github.com/Lykos/cube_trainer","HyperTwist","8.0","145.0","171.0","A","cubing trainer / solver / timing","foundation engine","training donor","locked strategic donor","integrate","direct","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 cube-state, scramble, scheduling, or timer internals while adapting pedagogy, analytics, and UI.","Lykos/cube_trainer — MIT — Smart-sampled training. | CubeTrainer (Lykos/cube_trainer) | Lykos/cube_trainer — MIT — Smart-sampled alg/BLD trainer. Live: https://www.cubetrainer.org.","Integrate as a cubing / algorithm training subsystem for HyperTwist. Preserve the strongest existing pieces — scramble generation, algorithm database, recognition/training loop, timing/statistics, virtual cube, smartcube hooks, spaced repetition — and expose them behind a portfolio-stable interface. Wire first into tao-yu/Alg-Trainer, then into poliva/cubedex 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: tao-yu/Alg-Trainer, poliva/cubedex, cubing/cubing.js.","Repurpose here means: turn it into a trainer engine, solver/timer backend, recognition drill module, or method-specific practice mode for HyperTwist.","Map module boundaries; Identify hidden reusable internals; Define adapter/API boundary to target anchors; Write extraction tests against upstream behavior; Extract cube-state model; Normalize trainer/case schema; Expose analytics and replay hooks","full subsystem extraction review","Hidden value often sits in cube-state representation, scramble generation, weighted drill scheduling, recognition datasets, replay/timer internals, and case database schemas.","Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters.","Inspect package manifests, README/docs, src tree, examples, tests, CI workflows, config files, migrations/schemas, and hidden feature flags or experimental modules. Look for algorithm databases, spaced-repetition logic, scramble generation, timer/stat code, virtual cube components, smartcube adapters, and custom-trainer configuration support.","Audit Lykos/cube_trainer as a cubing trainer / solver / timing candidate for HyperTwist. Do not stop at README-level features. Inspect: Inspect cube-state model; scramble generator; trainer weighting/scheduling; case database and metadata; replay/timer model; import/export of alg sets; smartcube or sensor adapters. Decide whether the best extraction path is direct and whether it belongs as foundation engine / training donor. Test the three merger paths in order: 1) tao-yu/Alg-Trainer [base + donor swarm]; 2) poliva/cubedex [specialized 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.","tao-yu/Alg-Trainer","base + donor swarm","Treat this pairing as a candidate donor merge rather than a replacement decision; inspect module boundaries to determine which side owns the final shell.","poliva/cubedex","specialized 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.","project-local first","Cross-project transfer is possible, but the value is clearest inside the assigned project until source audit exposes more reusable primitives.","do not exclude","Keep in active merge-set and force full source audit before any demotion.","high","single-source signal; clear taxonomy; active integration value; foundation-level fit","high","strong adjacency to identified core stack; memo mentions: 4","Licensing intentionally ignored as a decision filter in this canonical evaluation; assess only architecture, capability, donor value, and concept transfer.","","","","Lykos/cube_trainer — MIT — Smart-sampled training. | CubeTrainer (Lykos/cube_trainer) | Lykos/cube_trainer — MIT — Smart-sampled alg/BLD trainer. Live: https://www.cubetrainer.org.","Lykos/cube_trainer is treated as integrate for HyperTwist because the current dossier keeps it as a top-tier strategic donor for persisted sessions, results and statistics, personalization, and advanced BLD-oriented training-domain concepts rather than as a shell to transplant wholesale.","memo","False","True","0.0","4.0","HT_training_stack","HT_training_stack_0002","cubing / algorithm training","Integrate primarily for HyperTwist. Its memo and bookmark signals place it in the cubing / algorithm training layer.","HyperTwist","cubing / algorithm training","integrate","moderate modification","medium","lykos/cube_trainer","1.0","Locked Strategic Donor","3.0","Top-tier strategic donor for the persistent training-session, statistics, personalization, and advanced BLD-oriented coaching-backend domain.","Top-tier persistent training-domain donor","Included","P1","Lykos/cube_trainer is placed in Locked Strategic Donor for HyperTwist because it best serves the 'Top-tier persistent training-domain 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.","2.0","5.0","3.0","11857.0","115.0","","lykos/cube_trainer","HyperTwist","","","","","","","","","","Original global Phase G v4 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","8.0","2","3.0","145.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 candidate-core wording to dossier-backed strategic-donor posture on 2026-04-25.","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." diff --git a/docs/repo_portfolio_unified_source_audit_v6_3.csv b/docs/repo_portfolio_unified_source_audit_v6_3.csv index 31a1d11..e85e639 100644 --- a/docs/repo_portfolio_unified_source_audit_v6_3.csv +++ b/docs/repo_portfolio_unified_source_audit_v6_3.csv @@ -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 diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md b/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md index 19dfb0a..d2a5dfa 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md @@ -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 diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md index 0486cd9..2f9c333 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md @@ -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 diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md b/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md index a844ad5..a019c72 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md @@ -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 diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md b/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md index 2daed55..b3e8ae9 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md @@ -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