---
id: SCR-PFM-CSH-011
title: Older address redirect
route: '/{oldPath}'
surface: console
product_area: platform
module: console-shell
revision: 1
status: draft
design_intent: confirmed
origin: >-
  react-console:docs/url-architecture.md#7. Compatibility redirects (decided by
  Andrew 2026-10-14; final acceptance 2026-10-15); retirement open
  (OQ-PFM-CSH-001)
implementation_evidence: observed
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
purpose: >-
  Compatibility handling keeps earlier bookmarks and email links useful while
  workspace-specific addresses are adopted..
supports:
  - JNY-PFM-CSH-003
  - CAP-PFM-CSH-012
permission: platform.security-self.read
entry_from:
  - An older bookmark or email link
exits_to:
  - >-
    The current address of the same page under the remembered or default
    workspace
  - Rhythm HQ (staff with no workspace)
inference: []
displays:
  - field: 'Redirect without content, or unmapped-path refusal'
    source: DOM-PFM-CSH-003 older address mapping
actions: []
states:
  - compatibility redirect pending
  - unmapped address
validation:
  - BR-CAP-PFM-CSH-012-01
  - BR-CAP-PFM-CSH-012-02
  - BR-CAP-PFM-CSH-012-03
  - BR-CAP-PFM-CSH-012-04
  - BR-CAP-PFM-CSH-012-05
  - BR-CAP-PFM-CSH-012-07
patterns:
  - Client redirect that replaces the history entry
  - Not-found state panel
component: >-
  app/(console)/[...legacy]/page.tsx; components/console/legacy-redirect.tsx;
  lib/routes/legacy.ts
evidence:
  - >-
    react-console at baf6dae: app/(console)/[...legacy]/page.tsx;
    components/console/legacy-redirect.tsx; lib/routes/legacy.ts;
    next.config.mjs.
controls: [TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-IAM-001, TC-IAM-002, TC-IAM-003, TC-IAM-004, TC-IAM-005, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---
# Older address redirect

## What the Screen Is For

Compatibility handling keeps earlier bookmarks and email links useful while workspace-specific addresses are adopted.

## What It Shows and Lets People Do

A mapped link is replaced with its current workspace address, preserving record values and the query. The active context supplies the workspace. Staff without one go to HQ through the staff gate. Unknown mappings show a not-found panel. Non-workspace compatibility redirects run on the server.

## States and Errors

There is no page content while redirecting. Start-up must finish first, and its failure screens remain responsible for unsuccessful initialization.

## Patterns It Must Respect

The client redirect replaces history and uses the shared NotFoundPanel for an unmapped link. Retirement requires the product decision already recorded as open.
