Files
poimen-memory/crates/mem-cli/src/lib.rs
T
rock 2448e5ebe2 feat(rbac): hierarchical access control with fine-grained scopes
Implements comprehensive RBAC system:

Core Types (types.rs):
- Role: named set of AccessRules
- AccessRule: (resources, verbs, scope) tuple
- AccessScope: project/visibility/owner/group constraints
- ResourceMeta: document metadata for access checks
- Verb: read/write/delete/query
- Visibility: public/private per document

Role Provider (role_provider.rs):
- RoleProvider trait for pluggable backends
- YamlRoleProvider: load from YAML files
- InMemoryRoleProvider: for testing
- CompositeRoleProvider: layered lookup
- Built-in roles: admin, portfolio-agent, authenticated-user

Scope Checker (scope_checker.rs):
- ScopeChecker trait + composite pattern
- ProjectScopeChecker: allowed projects list
- VisibilityScopeChecker: public/private matching
- OwnerScopeChecker: self/any/specific user
- GroupScopeChecker: required group membership

Access Guard (access_guard.rs):
- Unified API for HTTP + retrieval layers
- check_http_capability(): memory:read/write checks
- filter_resources(): document-level filtering
- Audit logging for all decisions

Tests: 77 unit + 25 integration, all passing

Migration note: AuthorizedPipeline retained for compatibility,
will be replaced by AccessGuard integration in next phase.
2026-08-31 23:22:11 -07:00

44 lines
1.7 KiB
Rust

pub mod endpoints;
pub mod http_server;
pub mod ingest_worker;
pub mod query_worker;
pub mod rate_limiter;
pub mod idempotency;
pub mod jwt_validator;
pub mod opensearch_client;
pub mod dual_write_indexer;
pub mod queue_adapter;
pub mod gateway_queue_adapter;
pub mod queue_worker;
pub mod query_optimizer;
pub mod simple_hybrid_search;
pub mod accuracy_metrics;
pub mod context_endpoint;
pub mod verify;
pub mod rbac;
pub mod hybrid_retrieval;
pub mod chunk_optimizer;
pub mod chunk_metadata;
pub mod cache_alignment;
pub mod query_orchestrator;
pub mod query_filter;
pub mod advanced_ranking;
pub mod result_compressor;
pub mod federation;
pub mod query_router;
pub mod full_pipeline;
pub mod authorized_pipeline;
pub use endpoints::{IngestQueue, IngestRequest, JobStatus};
pub use ingest_worker::IngestWorker;
pub use query_worker::QueryWorker;
pub use hybrid_retrieval::{HybridRetriever, RetrievalRoute, WikiScopedFilter, RankedCandidate};
pub use chunk_optimizer::{ChunkOptimizer, OptimizableChunk, SelectionMetrics};
pub use chunk_metadata::{MetadataExtractor, MetadataBooster, ChunkMetadata, ChunkCategory, QueryIntent};
pub use cache_alignment::{LruChunkCache, KvCacheAligner, CacheLocalityAnalyzer, RetrievalProfiler, CacheMetrics};
pub use query_orchestrator::{QueryOrchestrator, QueryResult, OptimizedChunk, QueryContext, MemoryProjection};
pub use query_filter::{QueryFilter, FilterableDocument, FilterEngine, FilterStatistics};
pub use query_router::{QueryRouter, RouterConfig, RoutedResult, SelectedChunk, WikiGraphBuilder};
pub use full_pipeline::{FullPipeline, PipelineConfig, PipelineResult, PipelineMetrics, EnrichedChunk, PipelineBuilder};
pub use authorized_pipeline::{AuthorizedPipeline, AuthorizedPipelineBuilder, AuthorizedResult, AccessStats};