# HyperTwist — LICENSETRACKING.md

## Project policy

Every repo should be judged as:
- incorporate as-is
- bounded sidecar
- reverse engineer
- pattern-only

Ownership and route are separate judgments:

- donor strength and legal posture are separate axes
- a restrictive, mixed-license, or boundary-sensitive repo may still be the stronger technical owner for a lane
- permissive status does not automatically win a lane
- restrictive status does not automatically lose a lane
- the route categories above answer how a winning repo may be used, not whether it was the stronger donor

## File boundary

This file is the project-level license policy file.

Use it for:

- decision categories
- status vocabulary
- phase rules
- project-level compliance reminders

Do not use it for:

- repo-specific author attribution
- repo-specific copyright notice text
- package-specific Apache `NOTICE` retention requirements
- mixed-asset attribution lists
- repo-row source-basis exceptions

Store those details only in:

- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`

If a schedule, handoff, or implementation packet needs a repo-row legal fact, point back to the root tracker instead of duplicating the detail here.

Packet docs may include a concise per-repo licensing snapshot for handoff clarity.

They still must point back to `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md` for the full repo-row legal record.

## Shallow census completion rule

A shallow portfolio census is not complete merely because README posture, queue posture, or route
posture were frozen.

Required rule:

- if a pass refreshes the portfolio universe at shallow depth, it must also bring
  `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md` into coverage for every currently active repo row
- each row must have either:
  - an explicit repo-row legal entry in the root tracker, or
  - an explicit unresolved-gap note naming the exact row and why the license posture is still
    unresolved
- do not present a shallow census as complete if queued or otherwise operationally relied-on rows
  still lack root-tracker coverage

## 2026-05-28 mirror evidence and MIT extraction rule

The root tracker remains the canonical repo-row legal ledger.

The generated legal-evidence bundle is the repo-local evidence companion.

Required rule:

- when live mirror custody changes, repo-root legal evidence changes, or a
  deep-source pass materially refreshes a relied-on repo row, update:
  - `C:\HyperTwist\docs\HYPERTWIST_REPO_LICENSE_EVIDENCE_AUDIT_2026-05-28.md`
  - `C:\HyperTwist\docs\generated\license_audit\HYPERTWIST_REPO_LICENSE_EVIDENCE_AUDIT_2026-05-28.csv`
- if a retained repo URL is not publicly resolvable and no local mirror exists,
  record that as an explicit `upstream-unavailable` exclusion in the manifest,
  generated audit bundle, and root tracker instead of leaving it as a generic
  missing-path row
- if a missing standalone repo row is only a historical alias and maintained
  public source surfaces now live elsewhere, convert it into a historical alias
  row instead of keeping it in the active mirror-restoration queue
- if HyperTwist later retains one or more of those maintained successor repos
  directly, intake them as explicit repo rows with their own legal calls rather
  than treating the historical alias row as a substitute for successor custody
- if a manifest row points at a package subpath inside a mirrored monorepo and
  the parent git root resolves to the same repo URL, normalize that row under
  the parent root authority in the generated audit rather than treating it as a
  generic exclusion
- if a repo has no root license file but does declare a repo-local license in
  package metadata, record that as metadata-only evidence in the generated
  audit and root tracker, but do not treat it as equivalent to a clear root
  license file
- if a repo resolves to `MIT` from a repo-root license file, capture the exact
  repo-root `MIT` text under:
  - `C:\HyperTwist\docs\generated\license_audit\MIT_LICENSE_TEXTS_2026-05-28\`
- if the `MIT` call is README-only or metadata-only, capture canonical `MIT`
  text there and record the evidence path, source URL, and commit hash in the
  audit ledger and third-party notices draft
- update the `MIT` third-party notice draft whenever `MIT` rows or evidence
  tiers change:
  - `C:\HyperTwist\docs\generated\license_audit\THIRD_PARTY_NOTICES_MIT_DRAFT_2026-05-28.txt`
- preserve Apache `NOTICE`, subtree, package-split, asset-term, and other
  repo-row duties in `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`; the
  generated bundle does not replace repo-row obligation tracking
- rerun the generator in the same pass:
  - `C:\HyperTwist\scripts\Write-HyperTwistRepoLicenseEvidenceAudit.ps1`

## Current verified implementation truth

Status update on `2026-05-28`:

- current curated shallow-eval set: `75` repos
- all `75` current portfolio rows have explicit root-tracker coverage
- currently verified live/implemented in checked Unreal surfaces: `33`
- permissive live lanes: `21`
- boundary-sensitive live lanes: `7`
- restrictive live lanes: `5`

The twenty-one permissive live lanes are:

- `Aarav2709/KubeTimr`
- `HactarCE/Hyperspeedcube`
- `kkoomen/qbr`
- `vivaansinghvi07/rubix-cube-solver`
- `apache/echarts`
- `abunickabhi/5style-Trainer`
- `google/model-viewer`
- `Hypercubers/hypercubing.xyz`
- `mrdoob/three.js`
- `pmndrs/react-three-fiber`
- `pmndrs/xr`
- `tao-yu/Alg-Trainer`
- `Lykos/cube_trainer`
- `met4citizen/TalkingHead`
- `newyork-anthonyng/rubiks-cross-trainer`
- `roice3/MagicTile`
- `ggml-org/whisper.cpp`
- `SYSTRAN/faster-whisper`
- `rhasspy/piper`
- `roice3/Magic120Cell`
- `roice3/MagicCube5D`

The seven boundary-sensitive live lanes are:

- `coqui-ai/TTS`
- `cubing/cubing.js`
- `cutelyaware/magiccube4d`
- `google/model-viewer/packages/shared-assets`
- `PostHog/posthog`
- `screenpipe/screenpipe`
- `remotion-dev/remotion`

The five restrictive live lanes are:

- `onionhoney/roux-trainers`
- `cubing/alg.js`
- `cubing/twisty.js`
- `HactarCE/2x2x2x2-Scrambler`
- `kash/cubedesk`

Those restrictive lanes should be treated as:

- the five historically restrictive implementation lanes remain properly
  clean-roomed and already landed/live
- `poliva/cubedex` is a restrictive-custody correction: preserve the existing
  first-party outputs already landed in HyperTwist, but do not widen from the
  donor mirror without restored source-backed license evidence or a fresh
  clean-room route

Current operational truth for live widening, later first-party speech/provider
packets, and current next-packet posture belongs in:

- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`
- `C:\HyperTwist\docs\ops\HYPERTWIST_IMPLEMENTATION_PHASE_1_KICKOFF.md`
- `C:\HyperTwist\docs\HYPERTWIST_REPO_LICENSE_EVIDENCE_AUDIT_2026-05-28.md`

## Required status vocabulary

For HyperTwist, keep these labels separate:

- `landed/live now`
- `selected or queued but not live`
- `future or reserve`
- `benchmark/oracle only`
- `restrictive clean-room pending`

Do not use:

- `full`
- `implemented`
- `already live`

for a repo row unless current first-party evidence supports it.

## Current reset rule

The non-live HyperTwist rows were treated as a `Phase 0R` evaluation backlog before renewed widening.

That closed with these packet classes:

- permissive rows through deep source integration evaluation
- boundary-sensitive rows through explicit adapter/dependency review
- restrictive rows through explicit clean-room scheduling unless already landed through the `onionhoney/roux-trainers` lane
- benchmark, reserve, no-license, and all-rights-reserved rows through keep/discard decisions

Current `Phase 0R` packet status:

- `0R-A` is closed
- `0R-B` is closed
- `0R-C` is closed
- `0R-D` is closed
- `0R-E` is closed
- non-live rows already packet-evaluated: `65`
- non-live rows still awaiting packet evaluation: `0`

Current practical interpretation:

- `Phase 0R` through `Phase 5R` are now closed for the current retained-set
  reset
- later widening and first-party packets through `Phase 6R-AI` are landed in
  current code
- use this policy file for legal taxonomy, legal-evidence rules, and status
  vocabulary
- do not use this policy file as the current next-packet scheduler; use
  `C:\HyperTwist\docs\ops\HYPERTWIST_IMPLEMENTATION_PHASE_1_KICKOFF.md` and
  `C:\HyperTwist\docs\v6_5_deep_manual_pack\HyperTwist\ROADMAP.md`

Read together with:

- `C:\HyperTwist\docs\HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md`
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md`
- `C:\HyperTwist\docs\HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md`
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_2R_PACKET_2R_A_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_2R_PACKET_2R_C_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md`
- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`
- `C:\HyperTwist\docs\HYPERTWIST_REPO_LICENSE_EVIDENCE_AUDIT_2026-05-28.md`
- `C:\HyperTwist\docs\HT_REPO_INCORPORATION_AUDIT_2026-05-11.md`
- `C:\HyperTwist\docs\HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md`
- `C:\HyperTwist\docs\ops\HYPERTWIST_DEEP_SOURCE_CLOSEOUT_AND_LEGAL_EVIDENCE_SEQUENCE_2026-05-26.md`

## Family-specific guidance

### Simulation foundations
Direct use can be sensible if the engine is excellent and the obligations are acceptable.
Reverse engineering is cleaner if deep proprietary/native integration is the true goal.

### CV and coaching
Often best as bounded services, donor modules, or selective reimplementations.

### Trainers and timers
These are often strategic donors or comparators rather than foundations.

Current HyperTwist correction:

- twenty-one permissive lanes are already live, including the landed analytics/reporting lane, the landed hypercubing knowledge and community-reference lane, the landed browser spatial owner trio, the landed bounded speech/voice permissive lanes, and the landed bounded hyper/simulation widening lanes
- seven boundary-sensitive lanes are already live: `coqui-ai/TTS` through an explicit `MPL` code-side boundary, `cubing/cubing.js` through an explicit `MPL`-aware adapter posture, `cutelyaware/magiccube4d` through an explicit attribution/provenance boundary, `google/model-viewer/packages/shared-assets` through an explicit allowlist/provenance boundary, `PostHog/posthog` through an explicit root-`MIT`-core-versus-`ee/` subtree boundary, `screenpipe/screenpipe` through an explicit permissive-core-versus-`ee/` subtree boundary, and `remotion-dev/remotion` through an explicit package-split commercial boundary
- five restrictive lanes are now live in custody terms, with `onionhoney/roux-trainers` preserved as the earlier clean-room precedent and the later retained restrictive rows landed through accepted clean-room routing; `poliva/cubedex` remains restrictive-custody comparison context only and is not a live restrictive lane
- supplemental row `cubing/qqTimer` is mirrored under restrictive custody with no clear root license signal
- `cubing/scrambles` is now a historical alias row rather than an active unresolved mirror-restoration target, because maintained public scramble source surfaces are already visible elsewhere in the cubing family
- the `google/model-viewer/packages/*` and `pmndrs/react-spring/packages/*`
  rows remain package-specific authority slices, but generated legal-evidence
  passes should normalize them under their parent git-root authority rather
  than counting them as generic exclusions
- timer comparators such as `cstimer` still remain benchmark/reference rows until deep evaluation says otherwise

### Hyper ecosystems
Treat carefully. Some repos matter historically or educationally even when they are not operational foundations.
