feat: implement core architecture modules
Phase 1: Wiki-Link Graph Indexing - WikiLinkParser: extract [[links]] from markdown - WikiLinkGraph: BFS traversal, reachable docs, backlinks - Support relative path resolution (../../../) Phase 2: ScoringPipeline trait (SOLID design) - DocumentScorer trait: single interface for all scorers - GlobalTfIdfScorer, ProjectTfIdfScorer, SemanticScorer - MetadataBoostingScorer (decorator pattern) - ScoringPipeline: orchestrate multiple scorers with RRF fusion - Benefits: add new scorers without modifying existing code Phase 7: RBAC + PolicyProvider trait - PolicyProvider trait: pluggable backends (Vault, Postgres, Redis) - VaultPolicyProvider: load YAML from vault/projects/* and vault/shared/skills/* - MockPolicyProvider: for testing (no I/O) - AccessChecker trait: single-purpose RBAC checks - AccessLevelChecker, RoleChecker, PermissionChecker - AccessDecisionEngine: orchestrate checkers with short-circuit eval - AuditLogger trait: pluggable audit backends Test Fixtures (DRY principle) - OidcClaimsBuilder: fluent API for test data - AccessPolicyBuilder: fluent API for policies - MockPolicyProvider, MockAuditLogger: testing mocks All modules compile and unit tests pass.
This commit is contained in:
@@ -7,6 +7,7 @@ pub mod reference_cycle_guard;
|
||||
pub mod optimizer_sink;
|
||||
pub mod optimizer_metrics;
|
||||
pub mod query_metrics;
|
||||
pub mod wiki_link;
|
||||
|
||||
pub use pi_session::PiSessionSource;
|
||||
pub use claude_transcript::ClaudeTranscriptSource;
|
||||
@@ -18,3 +19,4 @@ pub use query_metrics::{
|
||||
QueryMetrics, QueryMetricsRepository, ProgressSnapshot, MetricsSummary,
|
||||
OptimizationStatus, CompressorMetrics, ContentTypeMetrics,
|
||||
};
|
||||
pub use wiki_link::{WikiLink, WikiLinkParser, WikiLinkGraph, LinkType};
|
||||
|
||||
Reference in New Issue
Block a user