From 8219409959505698f0abb9e158d7f886056df031 Mon Sep 17 00:00:00 2001 From: axiomlogicnexus Date: Wed, 24 Jun 2026 10:27:24 +0000 Subject: [PATCH] Mirror native control roster into operator shell --- ...T_AND_OPERATOR_MANUAL_PACKET_2026-06-22.md | 29 ++++++++ website/README.md | 24 +++++++ .../__tests__/DashboardOverviewPage.test.tsx | 3 + .../__tests__/protected-app-pages.test.tsx | 4 ++ website/src/pages/app-pages.tsx | 70 ++++++++++++++++++- 5 files changed, 129 insertions(+), 1 deletion(-) diff --git a/docs/ops/HYPERTWIST_PUBLIC_WEBSITE_CONTENT_AND_OPERATOR_MANUAL_PACKET_2026-06-22.md b/docs/ops/HYPERTWIST_PUBLIC_WEBSITE_CONTENT_AND_OPERATOR_MANUAL_PACKET_2026-06-22.md index 491046c..a26e5f2 100644 --- a/docs/ops/HYPERTWIST_PUBLIC_WEBSITE_CONTENT_AND_OPERATOR_MANUAL_PACKET_2026-06-22.md +++ b/docs/ops/HYPERTWIST_PUBLIC_WEBSITE_CONTENT_AND_OPERATOR_MANUAL_PACKET_2026-06-22.md @@ -406,6 +406,35 @@ Latest public-manual control-roster follow-up later on `2026-06-24`: - `Quality: 6189` - `All rules pass` +Latest protected control-roster continuation later on `2026-06-24`: + +- the same signed-in operator shell now also mirrors the native control and + settings truth instead of leaving that detail only on the public manual +- `website/src/pages/app-pages.tsx` now projects a shared protected + control-roster panel into: + - `/app` + - `/app/browser-access` + - `/app/account` +- that continuation keeps the signed-in browser shell honest about the current + desktop runtime by exposing: + - the shipped `classic-wca-keyboard/v1` profile + - the scenic immersive preset families + - the current `Magic120Cell` and `MagicCube5D` selector/view ownership + - selector-recall continuity truth + - the explicit unfinished XR/controller-rebinding boundary +- this closes the information-quality drop that previously happened after + sign-in, where public pages had more concrete simulator-control truth than + adjacent protected routes +- focused validation for that protected continuation stayed green under: + - `npm --prefix website run type-check` + - `npm --prefix website test -- --run src/__tests__/protected-app-pages.test.tsx src/__tests__/DashboardOverviewPage.test.tsx` + - `2` test files passed + - `9` tests passed +- the broader website suite also stayed green under: + - `npm --prefix website test -- --run` + - `41` test files passed + - `168` tests passed + Latest protected-surface resilience follow-up later on `2026-06-23`: - the shared release-manifest fallback was tightened so protected browser diff --git a/website/README.md b/website/README.md index 622da32..f4ceccf 100644 --- a/website/README.md +++ b/website/README.md @@ -67,6 +67,10 @@ manual: preset families, dedicated-family selector/view ownership, bounded selector-recall persistence truth, and the still-unfinished XR/controller-rebinding boundary +- the protected dashboard, browser-access, and account routes now also mirror + that same native control/settings roster after sign-in, so entitled users do + not lose the current simulator-control truth when they move from the public + manual into the operator shell - the protected app shell now also carries richer operator-facing browser boundary, account, entitlement, and notices guidance instead of treating those routes as thin placeholders beside the main dashboard @@ -201,6 +205,26 @@ Latest public-manual control-roster follow-up later on `2026-06-24`: - `41` test files passed - `168` tests passed +Latest protected control-roster follow-up later on `2026-06-24`: + +- the protected operator shell now mirrors the same native control/settings + truth after sign-in instead of leaving that detail only on the public manual +- `/app`, `/app/browser-access`, and `/app/account` now each carry the shipped + desktop roster and the explicit XR/controller boundary: + - the shipped `classic-wca-keyboard/v1` profile + - the scenic immersive preset families + - current `Magic120Cell` and `MagicCube5D` selector/view ownership + - persisted selector-recall truth + - the still-unfinished XR/controller-rebinding boundary +- focused protected validation stayed green under: + - `npm --prefix website test -- --run src/__tests__/protected-app-pages.test.tsx src/__tests__/DashboardOverviewPage.test.tsx` + - `2` test files passed + - `9` tests passed +- the broader current website suite stayed green again under: + - `npm --prefix website test -- --run` + - `41` test files passed + - `168` tests passed + Current dependency-health truth from the `2026-06-23` hardening pass: - `website/` production audit is clean diff --git a/website/src/__tests__/DashboardOverviewPage.test.tsx b/website/src/__tests__/DashboardOverviewPage.test.tsx index 5fc3b43..5cfe755 100644 --- a/website/src/__tests__/DashboardOverviewPage.test.tsx +++ b/website/src/__tests__/DashboardOverviewPage.test.tsx @@ -187,6 +187,9 @@ describe('DashboardOverviewPage', () => { expect(screen.getByText('Public auth runtime posture: local-or-mixed')).toBeTruthy() expect(screen.getByText('Packaged validation passed')).toBeTruthy() expect(screen.getByText(/Magic120Cell dedicated-family training map: passed/i)).toBeTruthy() + expect(screen.getByText('Native control and settings roster')).toBeTruthy() + expect(screen.getAllByText(/classic-wca-keyboard\/v1/i).length).toBeGreaterThan(0) + expect(screen.getByText('XR groundwork exists, but the full VR lane is not finished')).toBeTruthy() expect(screen.getByText('Desktop rollout follow-through')).toBeTruthy() expect(screen.getByText('Current product-surface map')).toBeTruthy() expect(screen.getByText('Embedded simulator browser shell')).toBeTruthy() diff --git a/website/src/__tests__/protected-app-pages.test.tsx b/website/src/__tests__/protected-app-pages.test.tsx index 15fb4f0..d84e987 100644 --- a/website/src/__tests__/protected-app-pages.test.tsx +++ b/website/src/__tests__/protected-app-pages.test.tsx @@ -191,6 +191,8 @@ describe('protected app pages', () => { renderPage(, '/app/browser-access') expect(await screen.findByText('Current browser posture')).toBeTruthy() + expect(screen.getByText('Native control and XR boundary')).toBeTruthy() + expect(screen.getByText('Shipped classic control profile')).toBeTruthy() expect(await screen.findByText(byExactTextContent('Auth runtime mode: public', 'LI'))).toBeTruthy() expect(await screen.findByText(byExactTextContent('Configured release targets: 1/2', 'LI'))).toBeTruthy() expect(screen.getByText('Operator escalation map')).toBeTruthy() @@ -204,6 +206,8 @@ describe('protected app pages', () => { renderPage(, '/app/account') expect(await screen.findByText('Session profile')).toBeTruthy() + expect(screen.getByText('Current simulator control ownership')).toBeTruthy() + expect(screen.getAllByText(/classic-wca-keyboard\/v1/i).length).toBeGreaterThan(0) expect(screen.getByText(byExactTextContent('Billing source: session', 'LI'))).toBeTruthy() expect(await screen.findByText(byExactTextContent('Manifest viewer access: active', 'LI'))).toBeTruthy() expect(await screen.findByText(byExactTextContent('Windows: Primary shipping lane (Version 1.0.0, Channel candidate)', 'LI'))).toBeTruthy() diff --git a/website/src/pages/app-pages.tsx b/website/src/pages/app-pages.tsx index 2c5d5cf..cdbc78f 100644 --- a/website/src/pages/app-pages.tsx +++ b/website/src/pages/app-pages.tsx @@ -10,7 +10,15 @@ import { resolvePublicLaunchStatusSummary } from '../public-launch' import { downloadTargets, launchReadiness, mplSourceUrl, openSourceRepoUrl, publicDocsUrl, releaseNotesUrl } from '../site-config' import { buildReleaseMetadataItems, resolveReleaseManifestView, type ReleaseManifestView } from '../release-manifest' import { buildSupportPath, getDownloadPlatformLabel, normalizeDownloadPlatform } from '../site-routes' -import { desktopDownloadSteps, desktopFirstLaunchCards, productSurfaceMatrixRows, roadmapHonestyCards, supportEscalationCards } from '../site-data' +import { + controlProfileRosterCards, + desktopDownloadSteps, + desktopFirstLaunchCards, + inputAndDevicePostureCards, + productSurfaceMatrixRows, + roadmapHonestyCards, + supportEscalationCards, +} from '../site-data' function Panel({ title, @@ -255,6 +263,50 @@ function SupportEscalationChecklist({ ) } +function ControlRosterManualPanel({ + title, + kicker, + description, +}: { + title: string + kicker: string + description: string +}) { + const xrBoundaryCard = inputAndDevicePostureCards.find( + (card) => card.title === 'XR groundwork exists, but the full VR lane is not finished', + ) + + return ( + +

{description}

+
+ {controlProfileRosterCards.map((card) => ( +
+

{card.title}

+

{card.description}

+
    + {card.bullets.map((bullet) => ( +
  • {bullet}
  • + ))} +
+
+ ))} + {xrBoundaryCard ? ( +
+

{xrBoundaryCard.title}

+

{xrBoundaryCard.description}

+
    + {xrBoundaryCard.bullets.map((bullet) => ( +
  • {bullet}
  • + ))} +
+
+ ) : null} +
+
+ ) +} + export function DashboardOverviewPage() { const { user, @@ -456,6 +508,12 @@ export function DashboardOverviewPage() { )} + + + {releaseManifestQuery.isError ? (

@@ -805,6 +868,11 @@ export function AccountPage() { ) : null} +

Use the dashboard when you need a desktop-link token, the download center when you need an entitled package, and the notices lane when you need distribution/legal references.