Spec 077: Workspace Global Mode + context bar redundancy cleanup #94

Merged
ahmido merged 5 commits from 077-workspace-nav-monitoring-hub into dev 2026-02-06 22:14:54 +00:00
Owner

Implements Spec 077 refinements: workspace Global Mode and navigation/context-bar redundancy cleanup.

Summary

  • Global Mode: /admin/workspaces is workspace-optional (lists only member workspaces); explicit allowlist in EnsureWorkspaceSelected.
  • Navigation cleanup: workspace switching is topbar-only; no sidebar “Switch workspace”; removes redundant “Manage workspaces” entry from context-bar.
  • Context bar: when no workspace selected, tenant picker is disabled with guidance; on tenant-scoped routes /admin/t/{tenant}/… the tenant indicator is read-only (Filament tenant menu remains primary).
  • Authorization: workspace creation is policy-driven (WorkspacePolicy::create()), enforced in ChooseWorkspace via Gate.

Safety / Compliance

  • Livewire v4.0+ compliant (Filament v5).
  • Panel provider registration remains in bootstrap/providers.php (no changes required).
  • Global search: no new globally searchable resources added; no behavior changes introduced.
  • Destructive actions: none added/changed.
  • Assets: no new assets registered; deploy process unchanged (if assets are registered elsewhere, ensure php artisan filament:assets runs in deploy as usual).

Tests

  • vendor/bin/sail bin pint --dirty
  • vendor/bin/sail artisan test --compact tests/Feature/Workspaces tests/Feature/Monitoring tests/Feature/OpsUx tests/Feature/Filament/WorkspaceContextTopbarAndTenantSelectionTest.php

Spec artifacts

  • specs/077-workspace-nav-monitoring-hub/{spec,plan,tasks}.md
  • specs/077-workspace-nav-monitoring-hub/contracts/routes.md
Implements Spec 077 refinements: workspace Global Mode and navigation/context-bar redundancy cleanup. Summary - Global Mode: `/admin/workspaces` is workspace-optional (lists only member workspaces); explicit allowlist in `EnsureWorkspaceSelected`. - Navigation cleanup: workspace switching is topbar-only; no sidebar “Switch workspace”; removes redundant “Manage workspaces” entry from context-bar. - Context bar: when no workspace selected, tenant picker is disabled with guidance; on tenant-scoped routes `/admin/t/{tenant}/…` the tenant indicator is read-only (Filament tenant menu remains primary). - Authorization: workspace creation is policy-driven (`WorkspacePolicy::create()`), enforced in `ChooseWorkspace` via Gate. Safety / Compliance - Livewire v4.0+ compliant (Filament v5). - Panel provider registration remains in `bootstrap/providers.php` (no changes required). - Global search: no new globally searchable resources added; no behavior changes introduced. - Destructive actions: none added/changed. - Assets: no new assets registered; deploy process unchanged (if assets are registered elsewhere, ensure `php artisan filament:assets` runs in deploy as usual). Tests - `vendor/bin/sail bin pint --dirty` - `vendor/bin/sail artisan test --compact tests/Feature/Workspaces tests/Feature/Monitoring tests/Feature/OpsUx tests/Feature/Filament/WorkspaceContextTopbarAndTenantSelectionTest.php` Spec artifacts - `specs/077-workspace-nav-monitoring-hub/{spec,plan,tasks}.md` - `specs/077-workspace-nav-monitoring-hub/contracts/routes.md`
ahmido added 5 commits 2026-02-06 22:11:35 +00:00
- Define Global Mode: /admin/workspaces is workspace-optional; allowlist in EnsureWorkspaceSelected

- Remove redundancy: no sidebar Switch workspace; no topbar Manage workspaces link; tenant context read-only on /admin/t/{tenant}

- Unify workspace creation auth via WorkspacePolicy + Gate enforcement

- Tests: vendor/bin/sail artisan test --compact tests/Feature/Workspaces tests/Feature/Monitoring tests/Feature/OpsUx tests/Feature/Filament/WorkspaceContextTopbarAndTenantSelectionTest.php
ahmido merged commit fb1046c97a into dev 2026-02-06 22:14:54 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ahmido/TenantAtlas#94
No description provided.