diff --git a/docs/release-control/v6/internal/subsystems/ai-runtime.md b/docs/release-control/v6/internal/subsystems/ai-runtime.md
index a6c37f91b..c397c9109 100644
--- a/docs/release-control/v6/internal/subsystems/ai-runtime.md
+++ b/docs/release-control/v6/internal/subsystems/ai-runtime.md
@@ -237,7 +237,11 @@ they must remain presentation-only. Prerelease banners, billing callouts, or
other header-adjacent notices must not fork assistant open state, gate on AI
runtime fetches, or move assistant availability logic out of
`frontend-modern/src/stores/aiChat.ts` and `frontend-modern/src/useAppRuntimeState.ts`
-just because they share the same authenticated shell.
+just because they share the same authenticated shell. The remaining
+prerelease-shell treatment is the compact `Preview` badge on rc-channel
+builds; `frontend-modern/src/AppLayout.tsx` must not revive a standalone
+release-candidate banner, release-notes CTA, or feedback CTA that starts
+participating in assistant-shell state or modal ownership.
That same shared shell boundary must respect blocking modal ownership.
`frontend-modern/src/App.tsx` and `frontend-modern/src/AppLayout.tsx` may use
the shared dialog runtime to hide the closed assistant launcher and close the
diff --git a/docs/release-control/v6/internal/subsystems/cloud-paid.md b/docs/release-control/v6/internal/subsystems/cloud-paid.md
index c25026141..d40468a51 100644
--- a/docs/release-control/v6/internal/subsystems/cloud-paid.md
+++ b/docs/release-control/v6/internal/subsystems/cloud-paid.md
@@ -625,7 +625,11 @@ That same shell framing also owns user-facing prerelease labeling for
rc-channel builds. `frontend-modern/src/AppLayout.tsx` may still key off the
canonical `rc` channel metadata internally, but the visible badge must frame
those builds as a preview/prerelease experience rather than implying a
-near-ready release candidate.
+near-ready release candidate. That authenticated shell must not pair the
+preview label with a second top-of-shell release-candidate warning banner or
+release-feedback CTA in `frontend-modern/src/AppLayout.tsx`; prerelease cloud
+posture stays a subtle shell label, not a public-RC callout inside the paid
+runtime chrome.
The shared trial-start runtime is part of that same cloud-paid boundary.
Commercial relay, onboarding, setup, Pro settings, and shared paywall
surfaces may customize success copy, but they must route hosted handoff,
diff --git a/docs/release-control/v6/internal/subsystems/frontend-primitives.md b/docs/release-control/v6/internal/subsystems/frontend-primitives.md
index 66f8d732e..05bc6ff37 100644
--- a/docs/release-control/v6/internal/subsystems/frontend-primitives.md
+++ b/docs/release-control/v6/internal/subsystems/frontend-primitives.md
@@ -644,15 +644,15 @@ paywall surfaces navigate those destinations. Feature shells may request a
commercial destination, but they must not re-decide whether that destination
opens in-app or in a new tab once the shared primitive exists.
That same shared-primitive floor now also owns prerelease shell guidance.
-`frontend-modern/src/components/shared/ReleaseCandidateBanner.tsx` is the
-canonical low-key release-candidate callout for authenticated chrome, and
-`frontend-modern/src/AppLayout.tsx` may mount it only from resolved release
-metadata. Feature pages, settings panels, and route-local shells must not add
-duplicate RC modals, hardcoded GitHub release or feedback links, or page-local
-prerelease banners once that shared primitive exists. The shared banner copy
-must stay version-aware but RC-order-agnostic: later builds like `rc.2` and
-beyond may identify the current version, but they must not keep claiming to be
-the first public v6 RC once the release line has moved on.
+`frontend-modern/src/AppLayout.tsx` is the canonical authenticated-shell owner
+for prerelease presentation, and the remaining user-facing treatment is the
+compact `Preview` badge keyed from resolved release metadata. Feature pages,
+settings panels, shared components, and route-local shells must not add a
+second release-candidate banner, hardcoded GitHub release or feedback links,
+or page-local prerelease notices once that shared shell contract exists.
+Browser proof for that shell rule now lives in
+`tests/integration/tests/57-release-candidate-shell.spec.ts`, which must keep
+rc-channel builds banner-free while preserving the compact preview badge.
The subsystem registry now also requires explicit proof-policy coverage for all
shared runtime files, and shared-component guardrails fail if raw table
diff --git a/frontend-modern/src/AppLayout.tsx b/frontend-modern/src/AppLayout.tsx
index 4734d4b76..a0a416f86 100644
--- a/frontend-modern/src/AppLayout.tsx
+++ b/frontend-modern/src/AppLayout.tsx
@@ -19,7 +19,6 @@ import SettingsIcon from 'lucide-solid/icons/settings';
import Maximize2Icon from 'lucide-solid/icons/maximize-2';
import Minimize2Icon from 'lucide-solid/icons/minimize-2';
import { MobileNavBar } from '@/components/shared/MobileNavBar';
-import { ReleaseCandidateBanner } from '@/components/shared/ReleaseCandidateBanner';
import { dialogStackHasBlockingDialog } from '@/components/shared/useDialogState';
import { OrgSwitcher } from '@/components/OrgSwitcher';
import { PulsePatrolLogo } from '@/components/Brand/PulsePatrolLogo';
@@ -646,12 +645,6 @@ export function AppLayout(props: AppLayoutProps) {
-
-
-
-
-
-