From 169a6a119854aff6a4abc5a1147b77747603396a Mon Sep 17 00:00:00 2001 From: Ahmed Darrazi Date: Sun, 22 Feb 2026 15:28:48 +0100 Subject: [PATCH] fix: resolve N1-N3 consistency findings (plan structure + T034 audit count + quickstart audit note) --- specs/107-workspace-chooser/plan.md | 5 +++++ specs/107-workspace-chooser/quickstart.md | 2 +- specs/107-workspace-chooser/tasks.md | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/specs/107-workspace-chooser/plan.md b/specs/107-workspace-chooser/plan.md index 69da0ec..7b114fb 100644 --- a/specs/107-workspace-chooser/plan.md +++ b/specs/107-workspace-chooser/plan.md @@ -67,6 +67,8 @@ ### Source Code (repository root) ```text app/ ├── Http/ +│ ├── Controllers/ +│ │ └── SwitchWorkspaceController.php # MODIFY — WorkspaceRedirectResolver + audit (context_bar) │ └── Middleware/ │ └── EnsureWorkspaceSelected.php # MODIFY — refactor to spec algorithm ├── Filament/ @@ -87,6 +89,9 @@ ### Source Code (repository root) └── pages/ └── choose-workspace.blade.php # MODIFY — metadata cards, empty state, manage link +routes/ +└── web.php # MODIFY — WorkspaceRedirectResolver integration + tests/ └── Feature/ └── Workspaces/ diff --git a/specs/107-workspace-chooser/quickstart.md b/specs/107-workspace-chooser/quickstart.md index 765d9b5..4c0d4e8 100644 --- a/specs/107-workspace-chooser/quickstart.md +++ b/specs/107-workspace-chooser/quickstart.md @@ -50,7 +50,7 @@ ### Phase D: User Menu Integration ### Phase E: Cleanup & Verification -12. **Replace inline tenant-branching** in `SwitchWorkspaceController` and `routes/web.php` with `WorkspaceRedirectResolver` +12. **Replace inline tenant-branching** in `SwitchWorkspaceController` and `routes/web.php` with `WorkspaceRedirectResolver`; add `WorkspaceAuditLogger::log()` for `context_bar` switch path in `SwitchWorkspaceController` 13. **Run full test suite** — verify no regressions 14. **Pint formatting** — `vendor/bin/sail bin pint --dirty` 15. **Commit + push** diff --git a/specs/107-workspace-chooser/tasks.md b/specs/107-workspace-chooser/tasks.md index d9a6468..2131b77 100644 --- a/specs/107-workspace-chooser/tasks.md +++ b/specs/107-workspace-chooser/tasks.md @@ -156,7 +156,7 @@ ## Phase 8: User Story 6 — Audit Trail for Workspace Context Changes (Priority ### Implementation for User Story 6 -- [ ] T034 [US6] Write comprehensive audit payload verification test covering all three audit scenarios (auto/single_membership, auto/last_used, manual/chooser) with full metadata assertion (`method`, `reason`, `prev_workspace_id`, `resource_type`, `resource_id`) in `tests/Feature/Workspaces/WorkspaceAuditTrailTest.php` +- [ ] T034 [US6] Write comprehensive audit payload verification test covering all four audit scenarios (auto/single_membership, auto/last_used, manual/chooser, manual/context_bar) with full metadata assertion (`method`, `reason`, `prev_workspace_id`, `resource_type`, `resource_id`) in `tests/Feature/Workspaces/WorkspaceAuditTrailTest.php` - [ ] T035 [US6] Write test `it_includes_prev_workspace_id_when_switching_from_active_workspace` — verify previous workspace context is captured in audit metadata in `tests/Feature/Workspaces/WorkspaceAuditTrailTest.php` **Checkpoint**: All six user stories are implemented and tested. Audit trail is verified for compliance.