- Add document ingestion with text chunking, embedding generation, and PostgreSQL persistence
- Configure PostgreSQL with pgvector, document schemas, and database migrations
- Implement semantic search using Ollama embeddings and pgvector cosine similarity
- Add POST /documents, POST /search, and POST /ask endpoints with validation and sanitized error handling
- Generate context-grounded answers with source attribution
- Filter retrieved chunks using a minimum similarity threshold of 0.5 and return fallback responses when no relevant context is available
- Add unit and integration tests for ingestion, search, question answering, validation, and failure handling
- Update README with Phase 3 capabilities, setup instructions, and API documentation
- Configure the Node.js test runner with tsx
- Add endpoint tests for health, readiness, and echo request validation
- Cover input length boundaries, invalid message types, unknown routes, and unexpected errors
- Extract the Fastify app factory to support isolated testing without starting the server
- Add centralized error handling and consistent 404 responses
- Guard server startup to prevent listeners from opening when the module is imported