Imported from Scionova/four_philosopher_core (
.roo/rules-code/AGENTS.md). Install upstream withnpx skills add Scionova/four_philosopher_core --skill rules-code. Copyright stays with the author.
Project Coding Rules (Non-Obvious Only)
- Functional programming mandatory: All core modules use functional programming patterns with pipe() and compose()
- Pure functions required: Context builder and RAG modules contain only pure functions
- Immutable data pattern: Functions return new objects rather than modifying in-place
- pipe() for composition: Used extensively in ask() method for data transformation chains
- Document retriever required: Each Philosopher instance must provide a document_retriever callback function
- Collection name sanitization: Spaces replaced with underscores and lowercased automatically in RAG module
- Distance filtering: Documents filtered by max_distance=1.5 in rag_pipeline()
- Query building: Combines knowledge topics with question for better retrieval
- Ollama API specific: Uses /api/generate endpoint (not OpenAI-compatible)
- Health check endpoint: Uses root path (/) for health verification