Skip to content

Commit 4ca8372

Browse files
authored
Merge pull request #475 from Chris0Jeky/test/manual-slice-authz-error-contracts
TST-08: Manual validation slice B - authz, cross-user isolation, error contracts
2 parents 80290f8 + 7e1a1bc commit 4ca8372

2 files changed

Lines changed: 480 additions & 0 deletions

File tree

docs/MANUAL_TEST_CHECKLIST.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,3 +427,22 @@ Slice checks:
427427
5. Starter-pack idempotency/conflict confirmation (already-covered, keep monitoring):
428428
- apply the same pack twice and verify no duplicates
429429
- execute a known conflict path and verify dry-run conflict report with no mutation
430+
431+
## P. Authz Policy, Cross-User Isolation, and API Error Contracts (Slice B, `#131`)
432+
433+
Status:
434+
- active; comprehensive two-user authz matrix covering all controller families
435+
436+
Goal:
437+
- validate authorization enforcement, cross-user data isolation, and error payload contracts across all protected API surfaces
438+
439+
Full checklist:
440+
- `docs/testing/manual-validation-b-authz-contracts.md`
441+
442+
Summary scope:
443+
1. Unauthenticated access denial (401) on all `[Authorize]` controller families (B-01 to B-32)
444+
2. Cross-user board-scoped isolation: UserB cannot access UserA's boards/columns/cards/labels/comments/webhooks/starter-packs/exports/audit (B-40 to B-60)
445+
3. Cross-user non-board-scoped isolation: captures/chat/proposals/archive/notifications/queue/workspace return only the authenticated user's data (B-70 to B-81)
446+
4. True-missing vs cross-user denial indistinguishability (B-90 to B-96)
447+
5. Error payload contract verification for auth/validation/sandbox paths (B-100 to B-110)
448+
6. Advanced controller families: ops/logs/users/abuse/llm-quota/agents/knowledge/webhooks/external-imports (B-130 to B-175)

0 commit comments

Comments
 (0)