V13-FE-006: consolidate approved UI and contract hardening
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# V13-FE-024 — Permission route metadata slice note
|
||||
|
||||
- **Requirement:** REQ-FE-AUTHZ
|
||||
- **API/UI/Test:** UI-AUTH-01 / T-FE-AUTH-01
|
||||
- **Source:** v60 fail-closed permission boundary; current `frontend/src/features/{models,shadow-run}/registry.ts` declarations.
|
||||
- **Assumption:** `model.read` is the only permission identifier currently evidenced by the active feature registries.
|
||||
- **Unknown:** Authenticated permission hydration and the complete route-to-permission catalog are not yet connected to the active router.
|
||||
- **Decision Required:** Security/FE owners must approve the auth permission source and route visibility behavior before enabling a global navigation guard.
|
||||
|
||||
## Applied boundary
|
||||
|
||||
- Added `permissions: ['model.read']` to the four active ModelOps routes whose feature registries already declare that permission.
|
||||
- Added a pure `canAccessRoute` policy that fails closed for declared permissions and does not perform authentication or network access.
|
||||
- Kept API authorization as the final authority; this Slice does not claim server security or hide routes globally.
|
||||
- Did not invent permissions for financial, operations, internal, or portfolio routes.
|
||||
|
||||
## Evidence
|
||||
|
||||
```text
|
||||
pnpm test -- src/shared/auth/tests/routeAccess.spec.ts
|
||||
PASS: 1 file / 3 tests (2026-08-12)
|
||||
|
||||
The third test verifies all four active ModelOps route permissions match their feature registries.
|
||||
|
||||
pnpm typecheck
|
||||
PASS (2026-08-12)
|
||||
```
|
||||
|
||||
Status remains IN_PROGRESS until the permission source and global route policy are approved.
|
||||
Reference in New Issue
Block a user