diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md index e275e04..d5c885c 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md @@ -262,6 +262,7 @@ Latest later higher-dimensional proof refresh still on `2026-06-24`: Latest same-day browser/distribution continuity follow-up still on `2026-06-24`: - auth-entry, protected-route loading, dashboard auth health, and release-authority fallback states now share a more deliberate operator-facing recovery shape instead of scattering single-line warnings across public and protected surfaces +- the public docs and support pages now explicitly teach that same recovery path as operator manual truth, rather than leaving it implicit in route behavior alone - the new shared callout posture explicitly separates: - what still works - what stays intentionally withheld diff --git a/website/src/__tests__/public-marketing-pages.test.tsx b/website/src/__tests__/public-marketing-pages.test.tsx index 91f9778..5cce2e0 100644 --- a/website/src/__tests__/public-marketing-pages.test.tsx +++ b/website/src/__tests__/public-marketing-pages.test.tsx @@ -885,6 +885,8 @@ describe('public marketing pages', () => { expect(screen.getByText('Browser and desktop responsibilities')).toBeTruthy() expect(screen.getByText('Shows account, auth, billing, and release readiness posture')).toBeTruthy() expect(screen.getByText('Support lanes')).toBeTruthy() + expect(screen.getByText('Recovery and degraded-state guidance')).toBeTruthy() + expect(screen.getByText('Desktop-first continuity during recovery')).toBeTruthy() expect(screen.getByText('Digital delivery workflow')).toBeTruthy() expect(screen.getByText('Post-install operator workflow')).toBeTruthy() expect(screen.getByText('Privacy and compliance boundary')).toBeTruthy() @@ -1069,6 +1071,7 @@ describe('public marketing pages', () => { expect(screen.getByText('Current shipped capability')).toBeTruthy() expect(screen.getByText('Native training and coaching core')).toBeTruthy() expect(screen.getByText('Operator manual')).toBeTruthy() + expect(screen.getByText('Recovery and degraded-state manual')).toBeTruthy() expect(screen.getAllByText('Current surface authority map').length).toBeGreaterThan(0) expect(screen.getByText('When to use browser versus desktop')).toBeTruthy() expect(screen.getAllByText('Protected browser dashboard').length).toBeGreaterThan(0) @@ -1083,6 +1086,8 @@ describe('public marketing pages', () => { expect(screen.getAllByText(/classic-wca-keyboard\/v1/i).length).toBeGreaterThan(0) expect(screen.getAllByText(/latest persisted generated-mode selector posture is available for recall/i).length).toBeGreaterThan(0) expect(screen.getByText('Feature-registry-backed wording only')).toBeTruthy() + expect(screen.getByText('Browser auth degraded or mixed')).toBeTruthy() + expect(screen.getByText('Release authority temporarily unavailable')).toBeTruthy() expect(screen.getByText('Current packaged desktop proof')).toBeTruthy() expect(screen.getByText('Common operator questions')).toBeTruthy() expect(screen.getByText('If the desktop app is primary, why keep the web version?')).toBeTruthy() diff --git a/website/src/pages/public-pages-marketing.tsx b/website/src/pages/public-pages-marketing.tsx index 9c37e9c..17774f9 100644 --- a/website/src/pages/public-pages-marketing.tsx +++ b/website/src/pages/public-pages-marketing.tsx @@ -10,6 +10,7 @@ import { capabilityPillars, changelogEntries, companyNarrative, + degradedStateRecoveryTracks, deploymentReadinessTracks, digitalDeliveryCards, featureAtlasCurrentTracks, @@ -746,6 +747,12 @@ export function DocsPage() { cards={operatorManualTracks} /> + +
+ +