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

1.5 KiB

Route Contract: Workspace Switch Semantic Fix

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

Intent-level contract

Switch workspace

  • Surface: admin context bar
  • Label: Switch workspace
  • Canonical target: ChooseWorkspace::getUrl(panel: 'admin').'?choose=1'
  • Meaning: enter the explicit workspace chooser flow

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. Workspace management remains separately reachable and semantically distinct.
  4. Choosing a workspace continues to use existing WorkspaceIntendedUrl / WorkspaceRedirectResolver behavior.
  5. 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.
  • Existing chooser behavior tests remain green.
  • Workspace management navigation remains reachable through its existing destination.