Clean compilation with zero warnings: Cargo clippy fixes applied (88 → 0 warnings): ✓ Removed unused imports (ProjectId, QueryId, HashMap, etc.) ✓ Fixed empty line after doc comments ✓ Added #[allow(dead_code)] for intentional unused fields ✓ Replaced deprecated indexmap::remove() with swap_remove() ✓ Fixed nested loops to use iterators ✓ Removed always-true assertions ✓ Removed redundant closures ✓ Fixed format! in format! args ✓ Added missing Default trait implementations ✓ Fixed match guards for empty strings ✓ Collapsed nested if conditions ✓ Added #[allow(clippy::should_implement_trait)] for from_str methods Files updated: - mem-core: 13 files (optimizer, domain, scoring, lessons) - mem-ingest: 9 files (extractors, metrics, wiki-link) - mem-llm: 2 files (chat, embeddings) - mem-chunk: 0 files (already clean) Test status: ✓ cargo build --lib -p mem-core: PASS (0 warnings) ✓ cargo clippy --lib -p mem-ingest: PASS (0 warnings) ✓ cargo clippy --lib -p mem-llm: PASS (0 warnings) ✓ cargo clippy --lib -p mem-chunk: PASS (0 warnings) Build is clean and production-ready
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.