Extend HyperTwist release guidance across legal public pages

This commit is contained in:
axiomlogicnexus 2026-06-27 21:59:45 +00:00
parent 7b6031cb5f
commit b1764be306
6 changed files with 43 additions and 2 deletions

View file

@ -888,6 +888,10 @@ Current audit note:
- pricing
- download
- changelog
- open-source notices
- privacy
- terms
- shipping/payment
so the public lane now says explicitly when the next honest move is
protected desktop access, pricing/provisioning, protected browser/account
continuity, or notices/source follow-through

File diff suppressed because one or more lines are too long

View file

@ -409,7 +409,11 @@ Current consolidated milestone snapshot:
and a same-family continuation later that day widens that same decision
guide onto the homepage, about, and changelog routes so the broader
operator-facing public website now carries one consistent next move across
posture, narrative, docs, support, release, and download surfaces
posture, narrative, docs, support, release, and download surfaces, and a
later same-family continuity follow-up widens that same decision guide
across the public open-source notices, privacy, terms, and
shipping/payment routes as well so the remaining legal/distribution pages do
not fall back to older implicit next-step wording
- classic-cube `Phase 9A` replay recording is now closed through first-party
runtime capture, `.json` replay persistence, local playback reconstruction,
schema-light replay normalization across save/load/viewer import, and live

View file

@ -1427,6 +1427,8 @@ describe('public marketing pages', () => {
expect((await within(noticesView.container).findAllByRole('link', { name: 'https://hypertwist.app/open-source/source.zip' })).length).toBeGreaterThan(0)
expect((await within(noticesView.container).findAllByRole('link', { name: 'https://github.com/hypertwist/hypertwist' })).length).toBeGreaterThan(0)
expect(within(noticesView.container).getByText('Choose the right HyperTwist surface')).toBeTruthy()
expect(within(noticesView.container).getByText('Choose the next release move')).toBeTruthy()
expect(within(noticesView.container).getByText('Need notices, corresponding source, or release follow-through?')).toBeTruthy()
expect(within(noticesView.container).getByText('Current packaged desktop proof')).toBeTruthy()
expect(within(noticesView.container).getByText('Packaged validation passed')).toBeTruthy()
@ -1434,6 +1436,8 @@ describe('public marketing pages', () => {
expect(within(privacyView.container).getByText('Practical privacy boundary')).toBeTruthy()
expect(within(privacyView.container).getByText('Browser identity and billing boundary')).toBeTruthy()
expect(within(privacyView.container).getByText('Choose the right HyperTwist surface')).toBeTruthy()
expect(within(privacyView.container).getByText('Choose the next release move')).toBeTruthy()
expect(within(privacyView.container).getByText('Need account state, pairing, or protected browser follow-through?')).toBeTruthy()
expect(within(privacyView.container).getByText('Browser and desktop responsibilities')).toBeTruthy()
expect(within(privacyView.container).getByText('Current surface authority map')).toBeTruthy()
expect(within(privacyView.container).getByText('Support-safe escalation boundary')).toBeTruthy()
@ -1446,6 +1450,8 @@ describe('public marketing pages', () => {
expect(within(termsView.container).getByText('Terms in practice')).toBeTruthy()
expect(within(termsView.container).getByText('Access model')).toBeTruthy()
expect(within(termsView.container).getByText('Choose the right HyperTwist surface')).toBeTruthy()
expect(within(termsView.container).getByText('Choose the next release move')).toBeTruthy()
expect(within(termsView.container).getByText('Need the protected desktop-download lane?')).toBeTruthy()
expect(within(termsView.container).getByText('Browser and desktop responsibilities')).toBeTruthy()
expect(within(termsView.container).getByText('Current surface authority map')).toBeTruthy()
expect(within(termsView.container).getByText('Release and redistribution checklist')).toBeTruthy()
@ -1459,6 +1465,8 @@ describe('public marketing pages', () => {
expect(within(shippingPaymentView.container).getByText('Protected entitlement handoff')).toBeTruthy()
expect(within(shippingPaymentView.container).getByText('What happens after access is granted')).toBeTruthy()
expect(within(shippingPaymentView.container).getByText('Choose the right HyperTwist surface')).toBeTruthy()
expect(within(shippingPaymentView.container).getByText('Choose the next release move')).toBeTruthy()
expect(within(shippingPaymentView.container).getByText('Need plan selection, billing, or operator provisioning?')).toBeTruthy()
expect(within(shippingPaymentView.container).getByText('Release references and source availability')).toBeTruthy()
expect(within(shippingPaymentView.container).getByRole('link', { name: 'https://notes.hypertwist.app' })).toBeTruthy()
expect(within(shippingPaymentView.container).getByText('Terms of access in practice')).toBeTruthy()

View file

@ -503,6 +503,11 @@ export function OpenSourceNoticesPage() {
<SurfaceChoiceGuideSection description="Legal pages are more useful when they still tell the operator where to go next: public for release-safe notice context, protected for account-aware release work, and desktop for the actual shipped build." />
<PublicReleaseDecisionGuideSection
releaseManifest={releaseManifest}
description="The notices lane should also say plainly whether the next honest move is protected desktop access, pricing/provisioning, browser/account continuity, or notices/source follow-through."
/>
<PublicPackagedDesktopProofSection
platform={windowsValidationPlatform}
actions={[
@ -598,6 +603,11 @@ export function PrivacyPage() {
<SurfaceChoiceGuideSection description="Privacy posture is clearer when the next working surface is explicit too: public for policy context, protected for identity and account work, and desktop for simulator execution." />
<PublicReleaseDecisionGuideSection
releaseManifest={releaseManifest}
description="Privacy posture is stronger when it also says whether the next honest move is protected desktop access, pricing/provisioning, browser/account continuity, or notices/source follow-through."
/>
<Section
title="Browser and desktop responsibilities"
description="Privacy language stays honest when it says plainly which surface owns public identity work and which surface owns simulator execution."
@ -694,6 +704,11 @@ export function TermsPage() {
<SurfaceChoiceGuideSection description="Terms are stronger when they point to the right live surface as well: public for access/legal context, protected for entitled release work, and desktop for the simulator itself." />
<PublicReleaseDecisionGuideSection
releaseManifest={releaseManifest}
description="The terms lane should also make the next honest operator move explicit: protected desktop access, pricing/provisioning, browser/account continuity, or notices/source follow-through."
/>
<Section
title="Browser and desktop responsibilities"
description="Terms stay more accurate when they keep public site duties, protected dashboard duties, and native simulator duties separated."
@ -809,6 +824,11 @@ export function ShippingPaymentPage() {
<SurfaceChoiceGuideSection description="Shipping and payment posture stays practical when the next live surface is explicit instead of implied." />
<PublicReleaseDecisionGuideSection
releaseManifest={releaseManifest}
description="Shipping and payment posture is clearer when it also says whether the next honest move is protected desktop access, pricing/provisioning, browser/account continuity, or notices/source follow-through."
/>
<Section
title="Browser and desktop responsibilities"
description="Shipping and payment surfaces should explain why checkout, entitlement, and release posture stay on the web while simulator execution stays native."

View file

@ -824,6 +824,11 @@ export const resourceCollections = [
] as const
export const changelogEntries = [
{
date: 'June 27, 2026',
title: 'The remaining legal public routes now carry the same release-decision guide too',
details: 'Open-source notices, privacy, terms, and shipping/payment no longer stop at the lighter surface-choice handoff. They now also expose the same explicit next release move guidance as the rest of the operator-facing public site: protected desktop access, pricing/provisioning, protected browser/account continuity, or notices/source follow-through.',
},
{
date: 'June 25, 2026',
title: 'Public pages now carry one shared release-reference bundle end to end',