Felipe Cardoso
c8911040cd
fix(mcp-kb): add input validation, path security, and health checks
...
Security fixes from deep review:
- Add input validation patterns for project_id, agent_id, collection
- Add path traversal protection for source_path (reject .., null bytes)
- Add error codes (INTERNAL_ERROR) to generic exception handlers
- Handle FieldInfo objects in validation for test robustness
Performance fixes:
- Enable concurrent hybrid search with asyncio.gather
Health endpoint improvements:
- Check all dependencies (database, Redis, LLM Gateway)
- Return degraded/unhealthy status based on dependency health
- Updated tests for new health check response structure
All 139 tests pass.
2026-01-04 01:18:50 +01:00
Felipe Cardoso
d781c76d44
fix(mcp-kb): add transactional batch insert and atomic document update
...
- Wrap store_embeddings_batch in transaction for all-or-nothing semantics
- Add replace_source_embeddings method for atomic document updates
- Update collection_manager to use transactional replace
- Prevents race conditions and data inconsistency (closes #77 )
2026-01-04 01:07:40 +01:00
Felipe Cardoso
27ec7a702c
fix(mcp-kb): address critical issues from deep review
...
- Fix SQL HAVING clause bug by using CTE approach (closes #73 )
- Add /mcp JSON-RPC 2.0 endpoint for tool execution (closes #74 )
- Add /mcp/tools endpoint for tool discovery (closes #75 )
- Add content size limits to prevent DoS attacks (closes #78 )
- Add comprehensive tests for new endpoints
2026-01-04 01:03:58 +01:00
Felipe Cardoso
20b07b4fa3
feat(knowledge-base): implement Knowledge Base MCP Server ( #57 )
...
Implements RAG capabilities with pgvector for semantic search:
- Intelligent chunking strategies (code-aware, markdown-aware, text)
- Semantic search with vector similarity (HNSW index)
- Keyword search with PostgreSQL full-text search
- Hybrid search using Reciprocal Rank Fusion (RRF)
- Redis caching for embeddings
- Collection management (ingest, search, delete, stats)
- FastMCP tools: search_knowledge, ingest_content, delete_content,
list_collections, get_collection_stats, update_document
Testing:
- 128 comprehensive tests covering all components
- 58% code coverage (database integration tests use mocks)
- Passes ruff linting and mypy type checking
2026-01-03 21:33:26 +01:00
Felipe Cardoso
ddf4f11eb7
fix(llm-gateway): improve type safety and datetime consistency
...
- Add type annotations for mypy compliance
- Use UTC-aware datetimes consistently (datetime.now(UTC))
- Add type: ignore comments for LiteLLM incomplete stubs
- Fix import ordering and formatting
- Update pyproject.toml mypy configuration
2026-01-03 20:56:05 +01:00
Felipe Cardoso
678b3fffdd
feat(llm-gateway): implement LLM Gateway MCP Server ( #56 )
...
Implements complete LLM Gateway MCP Server with:
- FastMCP server with 4 tools: chat_completion, list_models, get_usage, count_tokens
- LiteLLM Router with multi-provider failover chains
- Circuit breaker pattern for fault tolerance
- Redis-based cost tracking per project/agent
- Comprehensive test suite (209 tests, 92% coverage)
Model groups defined per ADR-004:
- reasoning: claude-opus-4 → gpt-4.1 → gemini-2.5-pro
- code: claude-sonnet-4 → gpt-4.1 → deepseek-coder
- fast: claude-haiku → gpt-4.1-mini → gemini-2.0-flash
2026-01-03 20:31:19 +01:00
Felipe Cardoso
a0a2095259
feat: Add MCP server stubs, development docs, and Docker updates
...
- Add MCP server skeleton implementations for all 7 planned servers
(llm-gateway, knowledge-base, git, issues, filesystem, code-analysis, cicd)
- Add comprehensive DEVELOPMENT.md with setup and usage instructions
- Add BACKLOG.md with detailed phase planning
- Update docker-compose.dev.yml with Redis and Celery workers
- Update CLAUDE.md with Syndarix-specific context
Addresses issues #16 , #20 , #21
2025-12-30 02:13:16 +01:00