TenantAtlas/specs/121-workspace-switch-fix/contracts/routes.md
2026-03-08 01:55:28 +01:00

1.7 KiB

Route Contract: Workspace Switch Semantic Fix

Feature: 121-workspace-switch-fix | Date: 2026-03-07

Intent-level contract

Switch workspace

  • Surface: admin and tenant-panel context bar
  • Label: Switch workspace
  • Canonical target: ChooseWorkspace::getUrl(panel: 'admin').'?choose=1'
  • Meaning: enter the explicit workspace chooser flow
  • User-menu duplication: not allowed

Manage workspaces

  • Surface: existing administrative navigation / chooser management affordance
  • Canonical target: workspace management resource index
  • Meaning: create, view, and edit workspace records

Before / After

Before

Context bar "Switch workspace"
  -> /admin/workspaces
  -> lands on workspace management CRUD index

After

Context bar "Switch workspace"
  -> /admin/choose-workspace?choose=1
  -> lands on chooser flow

Invariants

  1. Workspace chooser remains the canonical manual-switch surface.
  2. ?choose=1 remains the explicit forced-chooser signal for intentional switching.
  3. The top-right user menu must not expose a duplicate workspace-switch shortcut.
  4. Workspace management remains separately reachable and semantically distinct.
  5. Choosing a workspace continues to use existing WorkspaceIntendedUrl / WorkspaceRedirectResolver behavior.
  6. No new routes, middleware rules, or authorization rules are introduced.

Verification expectations

  • Response rendering for a real admin page containing the context bar must show the chooser target.
  • Filament user-menu evaluation must not register a switch-workspace item.
  • Existing chooser behavior tests remain green.
  • Workspace management navigation remains reachable through its existing destination.