ADR-0021: AI/LLM Slice as First-Class Concern
Accepted
Date: 2026-06-10
Context
Enterprise software demand in 2025–2026 is dominated by AI-augmented applications: RAG over private corpora, AI-assisted workflows, intelligent ticket routing, document processing pipelines, agent-based automation. A platform that targets enterprise without first-class AI building blocks ships for the wrong decade.
Decision
The Component Library includes an AI/LLM slice alongside Java, TS/JS, and Python slices. Adapters in this slice include:
- LLM provider SDKs (Anthropic, OpenAI, Bedrock, Vertex, Ollama, vLLM)
- Vector databases (pgvector, Qdrant, Weaviate, Milvus, Chroma)
- Embedding model wrappers (sentence-transformers, OpenAI embeddings, Cohere, Voyage)
- Orchestration frameworks (LangChain, LlamaIndex, Haystack, DSPy)
- Document processing (unstructured.io, PyMuPDF, Apache Tika)
- Retrieval and reranking (BM25, Cohere Rerank, cross-encoders)
- Evaluation (RAGAS, DeepEval, promptfoo)
- Guardrails (Guardrails AI, NeMo Guardrails)
- Agent frameworks (LangGraph, CrewAI, AutoGen)
- Streaming/UX (Vercel AI SDK, SSE)
MVP targets ~30–40 AI Adapters, weighted toward the most-used.
Rationale
- Enterprise demand is dominated by AI-augmented apps; ignoring this slice produces a misaligned product.
- The AI ecosystem moves fast and has weirder licensing — exactly the environment where curation adds value.
- AI Adapters anchor the RAG Chatbot MVP archetype (ADR-0022) and several follow-on archetypes.
Consequences
- The Curation Pipeline must handle AI Adapter volatility (frequent releases, deprecations, license changes).
- The Capability namespace includes AI-specific categories (llm-completion, vector-search, embedding, etc.).
- Cross-language AI seams (Python ingestion → Java API → React UI) become a first-class concern in early Archetypes.
- License vetting matters more here than in stable Java/TS/Python ecosystems.
References
- Roadmap → Component Library Seed
- ADR-0022: RAG Chatbot as MVP Archetype #1
- ADR-0025: Java + TS/JS + Python Used Per Concern