Backfill timer hierarchy after cstimer qqTimer review
This commit is contained in:
parent
d28366348f
commit
10132b0bb7
4 changed files with 212 additions and 5 deletions
|
|
@ -93,6 +93,27 @@ What that means in practice:
|
|||
- the coach dashboard no longer carries the live timer as widget-local hidden state
|
||||
- the timer/stats lane is now preserved as a first-party subsystem surface rather than a future donor candidate
|
||||
|
||||
## 2026-05-27 selective hierarchy backfill
|
||||
|
||||
Later timer-family source comparison does not reopen the landed product code,
|
||||
but it does sharpen the ownership wording for this packet.
|
||||
|
||||
This packet should be read as:
|
||||
|
||||
- the landed `R1/F2` first-party implementation packet for the local timer
|
||||
subsystem slice
|
||||
- not as a whole-family displacement of `cs0x7f/cstimer`
|
||||
|
||||
Preserved external hierarchy after the backfill:
|
||||
|
||||
- `cs0x7f/cstimer` remains the broader restrictive `A1` benchmark/oracle for
|
||||
competitive timer, stats, scramble-registry, and smart-device behavior
|
||||
- `Aarav2709/KubeTimr` remains the landed permissive implementation owner for
|
||||
the narrower local timer lifecycle, split capture/editing, session stats,
|
||||
persistence, and timer-scoped replay slice
|
||||
- `cubing/qqTimer` survives only as a narrow legacy session-format and embedded
|
||||
scramble-menu reference slice
|
||||
|
||||
## Preserved landed value
|
||||
|
||||
The donor value that was actually promoted is:
|
||||
|
|
@ -115,7 +136,8 @@ Do not promote this lane into:
|
|||
|
||||
Rationale:
|
||||
|
||||
- this repo was retained because it was the strongest focused timer subsystem donor in the set
|
||||
- this repo was retained and landed because it was the selected permissive
|
||||
direct-implementation donor for the bounded local timer subsystem slice
|
||||
- its value is high precisely because it is bounded
|
||||
- broad trainer-shell ownership remains elsewhere in the landed and retained portfolio
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,177 @@
|
|||
# HyperTwist Timer Benchmark And Implementation Hierarchy Reconciliation - 2026-05-27
|
||||
|
||||
## Status
|
||||
|
||||
This document is the source-backed reconciliation note for the current
|
||||
HyperTwist timer-family hierarchy across:
|
||||
|
||||
- `Aarav2709/KubeTimr`
|
||||
- `cs0x7f/cstimer`
|
||||
- `cubing/qqTimer`
|
||||
|
||||
It answers one narrow question:
|
||||
|
||||
- do the current timer-source surfaces require reopening already landed
|
||||
HyperTwist timer implementation packets before any new timer-adjacent packet
|
||||
is considered
|
||||
|
||||
Result:
|
||||
|
||||
- no product-code reopening is required
|
||||
- one selective wording backfill is required for the earlier `Phase 3R-A`
|
||||
`KubeTimr` implementation packet so its lane wording stays aligned with the
|
||||
mature `A/R/F` hierarchy
|
||||
|
||||
## Source basis
|
||||
|
||||
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md`
|
||||
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_0R_PACKET_0R_E_EVALUATION_2026-05-13.md`
|
||||
- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`
|
||||
- `C:\Workspaces\HyperTwist\repos.manifest.json`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\permissive\Aarav2709\KubeTimr\src\timingEngine.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\permissive\Aarav2709\KubeTimr\src\statsEngine.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\permissive\Aarav2709\KubeTimr\src\splits.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\permissive\Aarav2709\KubeTimr\src\scrambleEngine.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cs0x7f\cstimer\src\js\kernel.js`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cs0x7f\cstimer\src\js\timer.js`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cs0x7f\cstimer\src\js\stats\stats.js`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cs0x7f\cstimer\src\js\scramble\scramble.js`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cs0x7f\cstimer\src\js\hardware\gancube.js`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\qqTimer\README.md`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\qqTimer\docs\index.htm`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\qqTimer\docs\scramble_333_edit.js`
|
||||
|
||||
## Slice-local verdict
|
||||
|
||||
| Slice | Primary authority | Secondary value kept | Route | Width | Result |
|
||||
|---|---|---|---|---|---|
|
||||
| Landed local timer subsystem: timer lifecycle, inspection, split capture/editing, session stats, local persistence, timer-scoped replay posture | `Aarav2709/KubeTimr` | `cs0x7f/cstimer` as benchmark; `cubing/qqTimer` as legacy reference | existing landed permissive route | `F2` | unchanged live implementation owner |
|
||||
| Broad competitive timer, stats, scramble-registry, and smart-device benchmark expectations | `cs0x7f/cstimer` | `Aarav2709/KubeTimr` as permissive simplification; `cubing/qqTimer` as legacy reference | `R3` | `F2` | unchanged restrictive oracle / clean-room-later authority |
|
||||
| Legacy browser session-format and embedded scramble-menu reference | `cubing/qqTimer` | none required | `R3` | `F2` | retained as narrow legacy adjunct only |
|
||||
|
||||
## Why no product-code reopening is needed
|
||||
|
||||
### `Aarav2709/KubeTimr`
|
||||
|
||||
`KubeTimr` still correctly owns the already landed local timer subsystem slice.
|
||||
|
||||
The source remains strong for:
|
||||
|
||||
- bounded timer lifecycle
|
||||
- inspection countdown and penalty handling
|
||||
- split-phase definitions and capture/editing behavior
|
||||
- local session stats and persistence
|
||||
- timer-scoped replay posture
|
||||
|
||||
It is not the strongest source for the broader competitive benchmark family.
|
||||
That broader family still belongs to `cstimer`.
|
||||
|
||||
This means the current first-party HyperTwist code does not need rollback or
|
||||
replacement. It only needs the packet wording to remain explicit about the
|
||||
narrower slice it actually landed.
|
||||
|
||||
### `cs0x7f/cstimer`
|
||||
|
||||
`cstimer` still wins the broader benchmark/oracle slice.
|
||||
|
||||
The current source keeps real advantages in:
|
||||
|
||||
- module/event bus organization
|
||||
- competitive timer-state maturity
|
||||
- broad rolling stats and filter/ranking behavior
|
||||
- larger scramble registry breadth
|
||||
- puzzle-viewer adapter separation
|
||||
- smart-cube / BLE / GAN handling
|
||||
|
||||
Those strengths do not force reopening the landed `KubeTimr` code because the
|
||||
live `KubeTimr` lane never claimed to land the whole `cstimer` family. They do
|
||||
mean future widening should read `cstimer` first before any timer-adjacent
|
||||
restrictive implementation packet is opened.
|
||||
|
||||
### `cubing/qqTimer`
|
||||
|
||||
`qqTimer` does not reopen the live timer lane either.
|
||||
|
||||
Its retained value is narrower:
|
||||
|
||||
- old local-storage session format
|
||||
- legacy timer/list/stats behavior expectations
|
||||
- embedded scramble menu and classic scramble presentation behavior
|
||||
|
||||
It does not displace `KubeTimr` for the landed local subsystem slice and does
|
||||
not displace `cstimer` for the broader competitive oracle slice.
|
||||
|
||||
## Selective backfill result
|
||||
|
||||
### Earlier packet reopened
|
||||
|
||||
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md`
|
||||
|
||||
### Reason
|
||||
|
||||
Later timer-family source comparison sharpened the exact timer-family slice
|
||||
split:
|
||||
|
||||
- `KubeTimr` owns the landed permissive local subsystem slice
|
||||
- `cstimer` remains the stronger broader restrictive benchmark/oracle
|
||||
- `qqTimer` survives only as a narrow legacy reference slice
|
||||
|
||||
### Change class
|
||||
|
||||
- cross-lane authority interpretation sharpened
|
||||
- no repo-local extraction rollback
|
||||
- no cleanup interpretation change
|
||||
- no product-code change
|
||||
|
||||
### What remained valid
|
||||
|
||||
- the `KubeTimr` implementation packet still correctly describes what landed
|
||||
- the live first-party timer subsystem remains valid
|
||||
- the earlier `0R-E` `cstimer` benchmark/oracle result remains valid
|
||||
|
||||
### What changed
|
||||
|
||||
Only the wording boundary around ownership needed correction.
|
||||
|
||||
`KubeTimr` should not be read as having displaced `cstimer` for the whole
|
||||
competitive timer/stats/scramble/smart-device family. It owns the narrower
|
||||
landed local subsystem slice only.
|
||||
|
||||
## Propagation result
|
||||
|
||||
### Feature registry
|
||||
|
||||
Updated.
|
||||
|
||||
The current implemented timer row now keeps the landed timer/training truth
|
||||
while explicitly deferring broader competitive parity and legacy-reference
|
||||
families to retained non-live authority.
|
||||
|
||||
### Cross-lane doctrine
|
||||
|
||||
No doctrine wording change was needed.
|
||||
|
||||
### Skillization
|
||||
|
||||
No doctrine or `SKILLS.md` change was needed.
|
||||
|
||||
No first-party timer skill family was created or reopened from this pass.
|
||||
|
||||
### Legal evidence
|
||||
|
||||
No license-status or custody change occurred.
|
||||
|
||||
The repo-row tracker and manifest were sharpened instead.
|
||||
|
||||
## Operational answer
|
||||
|
||||
Before any new timer-adjacent implementation packet is opened, the correct move
|
||||
was this evaluation and selective backfill pass first.
|
||||
|
||||
After this pass:
|
||||
|
||||
- do not reopen the live timer code
|
||||
- do not open a new timer implementation packet by default
|
||||
- if timer widening is later pursued, open it only against the exact retained
|
||||
`cstimer` or `qqTimer` sub-slice being promoted, not against a blurred
|
||||
whole-lane notion
|
||||
|
|
@ -683,8 +683,12 @@ Practical obligations:
|
|||
Approved working posture:
|
||||
|
||||
- retain as a supplemental timer reference and clean-room candidate only
|
||||
- use it for source inspection, timer-behavior reference, or independently
|
||||
owned reimplementation planning
|
||||
- use it for source inspection, legacy session-format reference, embedded
|
||||
scramble-menu behavior comparison, and independently owned reimplementation
|
||||
planning
|
||||
- do not treat it as a stronger owner than `Aarav2709/KubeTimr` for the landed
|
||||
local timer subsystem slice or than `cs0x7f/cstimer` for the broader
|
||||
competitive timer benchmark/oracle slice
|
||||
- do not widen from the mirror as a normal permissive donor lane
|
||||
|
||||
### `cubing/scrambles`
|
||||
|
|
@ -1324,7 +1328,11 @@ Source basis:
|
|||
Approved working posture:
|
||||
|
||||
- do not read it into clean implementation lanes
|
||||
- use it as a benchmark and planning reference for timer UX, session flow, import/export parity, and competitive timer behavior
|
||||
- use it as the primary restrictive benchmark and planning reference for
|
||||
competitive timer UX, session flow, import/export parity, broader scramble
|
||||
behavior, and smart-device expectations
|
||||
- preserve the distinction between the broader `cstimer` oracle slice and the
|
||||
narrower already landed `KubeTimr` local timer subsystem slice
|
||||
- preserve its `0R-E` status as the primary restrictive timer/stats/scramble/smart-device oracle row
|
||||
- if later implementation value remains high, route it through a dedicated clean-room handoff rather than ordinary donor intake
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ Do not collapse those three tiers into one undifferentiated "features" voice.
|
|||
| Native Unreal training runtime | Implemented now | first-party runtime + kickoff note | Current runtime center is real, not speculative. |
|
||||
| Training session orchestration and coaching cockpit | Implemented now | current training/coaching surfaces | `UHyperTwistTrainingSubsystem`, `UHyperTwistTrainingRuntimeLibrary`, `UHyperTwistTrainingPanelWidget`, and `UHyperTwistCoachDashboardWidget` are real first-party anchors. |
|
||||
| Curriculum/catalog materialization and generated-mode launch | Implemented now | first-party catalog/training surfaces | Imported training packs and generated-mode launch flows are live. |
|
||||
| Classic-cube timing, drill, and training-session flows | Implemented now | landed timer/training packets | Current training surface is broader than a timer-only shell. |
|
||||
| Classic-cube timing, drill, and training-session flows | Implemented now | landed timer/training packets | Current training surface is broader than a timer-only shell, but the live timer implementation is still the narrower landed `KubeTimr`-derived local subsystem slice; broader competitive timer parity, smart-device breadth, and legacy session-format reference value remain retained under `cs0x7f/cstimer` and `cubing/qqTimer` rather than fully implemented. |
|
||||
| Publication/leaderboard projection and entitlement gating | Implemented now | landed `kash/cubedesk` bounded packets | Publication and entitlement are live first-party training surfaces. |
|
||||
| Local social challenge bundle | Implemented now | landed `kash/cubedesk` `Bound 5` | Challenge/social training slice is real, but bounded. |
|
||||
| Classic-cube calibration and ordered face observation | Implemented now | landed `qbr` packet | Calibration contract and ordered face-observation contract are live. |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue