Problem: knowledge and learning operations were scattered across httpapi and mcp handlers with no shared service layer. The hexagonal refactor needs a single use-case service for both surfaces. Change: - app/knowledge.go: KnowledgeService (Search, Upsert, GetContent, SoftDelete, Restore) and LearningService (ListPatterns, UpsertPattern, Validate, Quarantine) wrapping the port interfaces. - adapters/postgres/knowledge.go: KnowledgeRepo implements KnowledgeRepository — Search, GetContent, Upsert, SoftDelete, Restore with inline SQL matching the existing handler patterns (full-text search ILIKE, upsert on conflict, soft-delete). Verification: go build/vet, full test suite (18 pkgs), DB integration (postgres + mcp — green).
3.1 KiB
3.1 KiB