┌─────────────────────────────────────────────────────────────────────┐
│ USER INTERFACE (Explainability Surface) │
│ Streamlit (MVP) / Next.js later │
│ • Research topic input │
│ • Live pipeline progress (which stage is running) │
│ • Expandable sources, findings, classifications, contradictions │
│ • Final report with clickable citations + confidence │
│ • Session history + knowledge-base search │
└──────────────────────────────┬──────────────────────────────────────┘
│ HTTP / SSE (streaming)
┌──────────────────────────────▼──────────────────────────────────────┐
│ APPLICATION / API LAYER (Maintainability Boundary) │
│ FastAPI │
│ • POST /research → launches pipeline, streams every node │
│ • GET /sessions, /session/{id}, /knowledge/search │
│ • Clean contracts only — UI never talks to agents or DB directly │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ AI INTELLIGENCE LAYER (Scalable + Explainable Core) │
│ LangGraph StateGraph (Anthropic-style orchestrator-worker) │
│ │
│ 1. Planner (Define Research Questions) │
│ 2. Searcher / Collector (parallelisable) │
│ 3. Store Sources │
│ 4. Extractor │
│ 5. Comparator + Classifier │
│ 6. Contradiction Detector │
│ 7. Synthesizer (Generate Conclusions) │
│ 8. Traceability Writer │
│ │
│ Shared typed State + Checkpoint after every major node │
│ LLM = Groq free-tier (Llama-3) or Ollama local (tool-calling) │
└──────┬────────────────────────────────────────────┬─────────────────┘
│ │
┌──────▼────────────────────┐ ┌─────────▼─────────────────┐
│ DATA & KNOWLEDGE LAYER │ │ EXTERNAL RESEARCH / DATA │
│ (Persistent & Reusable) │ │ DuckDuckGo / Tavily free │
│ • SQLite (structured │ │ or local SearXNG │
│ lineage & audit trail) │ └───────────────────────────┘
│ • ChromaDB (vector │
│ embeddings of sources │
│ + findings) │
│ Survives restart. │
│ Grows with every run. │
└───────────────────────────┘
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|