feat(rbac): complete HTTP endpoint integration + role configs

HTTP Endpoints with RBAC:
- ingest_handler: project-level write access check
- learn_handler: project-level write access check
- projects_handler: filter returned projects by user access
- query_handler: filter search results by resource access
- context_handler: project-level read access check

Example Role Configurations (config/roles/):
- admin.yaml: full access to all resources
- portfolio-agent.yaml: public visitor access
- authenticated-user.yaml: logged-in user access
- homelab-team.yaml: team-scoped project access

All 660+ tests passing.
This commit is contained in:
2026-09-01 08:43:49 -07:00
parent 41cdff3676
commit dae9483a6a
6 changed files with 119 additions and 3 deletions
+11 -2
View File
@@ -2,9 +2,9 @@
## Summary
**Status**: Phases 1-7 complete with RBAC wired into HTTP + retrieval. 660+ tests passing.
**Status**: Phases 1-7 complete with RBAC fully integrated. 660+ tests passing.
**Latest commit**: RBAC wired into HTTP server and retrieval pipeline
**Latest commit**: RBAC wired into all HTTP endpoints + example role configs
---
@@ -111,8 +111,17 @@
-**to_rbac_claims()**: Convert JwtClaims to RBAC Claims
-**query_handler**: RBAC filtering on search results
-**context_handler**: Project-level access check before lookup
-**projects_handler**: Filter projects by user access
-**ingest_handler**: Project-level write access check
-**learn_handler**: Project-level write access check
-**query_result_to_resource_meta()**: Convert results for RBAC filtering
### Example Role Configurations
-`config/roles/admin.yaml`: Full access
-`config/roles/portfolio-agent.yaml`: Public visitor access
-`config/roles/authenticated-user.yaml`: Logged-in user access
-`config/roles/homelab-team.yaml`: Team-scoped access example
### AuthorizedPipeline (Legacy - deprecated)
-`AuthorizedPipeline`: wraps FullPipeline with access control
- ✅ 13 unit tests, all passing