# varadpatil5005/rag-copilot-for-call-reports architecture

> Architecture diagram of the GitHub repository varadpatil5005/rag-copilot-for-call-reports, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/varadpatil5005/rag-copilot-for-call-reports
- Repository: https://github.com/varadpatil5005/rag-copilot-for-call-reports

## Overview

Tathyx is an enterprise call-report decision-intelligence copilot. Analysts upload reports, which the API processes into searchable evidence; they then query the copilot and review grounded answers, citations, and related graph insights. The map also includes documented learning, administration, and observability capabilities. Some subsystem connections come from README documentation because their source was not sampled; uncertain internal wiring is omitted.

Main entry points: [`apps/api/app/main.py`](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/main.py) (FastAPI Gateway), [`apps/api/app/services/pipeline.py`](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/pipeline.py) (Ingestion Workers), [`apps/api/app/routers/copilot.py`](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/copilot.py) (Copilot Routes), [`apps/web/src/lib/api.ts`](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/web/src/lib/api.ts) (Web API Client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Analyst Experience"]
  node_web["Web Workspace<br/>[page.tsx]"]
  node_documents_ui["Document Center<br/>[page.tsx]"]
  node_api_client["Web API Client<br/>[api.ts]"]
end

subgraph group_api["API and Identity"]
  node_gateway["FastAPI Gateway<br/>[main.py]"]
  node_auth["Authentication<br/>[auth.py]"]
  node_document_routes["Document Routes<br/>[documents.py]"]
  node_copilot_routes["Copilot Routes<br/>[copilot.py]"]
end

subgraph group_ingestion["Document Ingestion"]
  node_ingestion["Ingestion Workers<br/>[pipeline.py]"]
  node_extraction["Layout Extraction<br/>[extraction.py]"]
  node_chunking["Chunking and Embeddings<br/>[chunking.py]"]
  node_raw_storage[("Raw and Derived Files<br/>[storage.py]")]
  node_database[("Metadata and FTS Store<br/>[db.py]")]
end

subgraph group_intelligence["Decision Intelligence"]
  node_retrieval["Hybrid Retrieval<br/>[search_index.py]"]
  node_agentic["Agentic Retrieval"]
  node_generation["Answer and Citations<br/>[generation.py]"]
  node_graph[("GraphRAG<br/>[graph_store.py]")]
end

subgraph group_operations["Learning and Operations"]
  node_learning["Self-Learning<br/>[learning.py]"]
  node_memory_skills[("Memory and Skills<br/>[memory_manager.py]")]
  node_evaluation["Evaluation<br/>[evaluation.py]"]
  node_observability["Observability<br/>[observability.py]"]
end

node_analyst(("Analyst"))
node_model_provider{{"Model Provider"}}

node_analyst -->|"uses"| node_web
node_analyst -->|"uploads reports"| node_documents_ui
node_web -->|"requests"| node_api_client
node_documents_ui -->|"uploads via"| node_api_client
node_api_client -->|"calls API"| node_gateway
node_gateway -->|"dispatches"| node_auth
node_gateway -->|"dispatches"| node_document_routes
node_gateway -->|"dispatches"| node_copilot_routes
node_gateway -->|"starts workers"| node_ingestion
node_document_routes -->|"queues documents"| node_ingestion
node_ingestion -->|"extracts layout"| node_extraction
node_ingestion -->|"chunks and embeds"| node_chunking
node_ingestion -->|"stores files"| node_raw_storage
node_ingestion -->|"writes records"| node_database
node_copilot_routes -->|"retrieves evidence"| node_agentic
node_agentic -->|"searches index"| node_retrieval
node_copilot_routes -->|"generates answer"| node_generation
node_copilot_routes -->|"traverses graph"| node_graph
node_retrieval -->|"reads indexed data"| node_database
node_generation -.->|"uses when reachable"| node_model_provider
node_gateway -->|"registers routes"| node_learning
node_learning -->|"uses persistent context"| node_memory_skills
node_gateway -->|"registers routes"| node_evaluation
node_gateway -->|"registers routes"| node_observability

click node_web "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/web/src/app/copilot/page.tsx"
click node_documents_ui "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/web/src/app/documents/page.tsx"
click node_api_client "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/web/src/lib/api.ts"
click node_gateway "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/main.py"
click node_auth "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/auth.py"
click node_document_routes "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/documents.py"
click node_copilot_routes "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/copilot.py"
click node_ingestion "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/pipeline.py"
click node_extraction "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/extraction.py"
click node_chunking "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/chunking.py"
click node_raw_storage "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/storage.py"
click node_database "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/db.py"
click node_retrieval "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/search_index.py"
click node_agentic "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/agentic_retrieval.py"
click node_generation "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/generation.py"
click node_graph "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/graph_store.py"
click node_learning "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/learning.py"
click node_memory_skills "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/memory_manager.py"
click node_evaluation "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/evaluation.py"
click node_observability "https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/observability.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_web,node_documents_ui,node_api_client toneBlue
class node_gateway,node_auth,node_document_routes,node_copilot_routes toneAmber
class node_ingestion,node_extraction,node_chunking,node_raw_storage,node_database toneMint
class node_retrieval,node_agentic,node_generation,node_graph toneRose
class node_learning,node_memory_skills,node_evaluation,node_observability,node_analyst,node_model_provider toneIndigo
```

## Components

### Analyst Experience

- [Web Workspace](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/web/src/app/copilot/page.tsx): `apps/web/src/app/copilot/page.tsx`
- [Document Center](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/web/src/app/documents/page.tsx): `apps/web/src/app/documents/page.tsx`
- [Web API Client](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/web/src/lib/api.ts): `apps/web/src/lib/api.ts`

### API and Identity

- [FastAPI Gateway](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/main.py): `apps/api/app/main.py`
- [Authentication](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/auth.py): `apps/api/app/routers/auth.py`
- [Document Routes](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/documents.py): `apps/api/app/routers/documents.py`
- [Copilot Routes](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/copilot.py): `apps/api/app/routers/copilot.py`

### Document Ingestion

- [Ingestion Workers](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/pipeline.py): `apps/api/app/services/pipeline.py`
- [Layout Extraction](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/extraction.py): `apps/api/app/services/extraction.py`
- [Chunking and Embeddings](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/chunking.py): `apps/api/app/services/chunking.py`
- [Raw and Derived Files](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/storage.py): `apps/api/app/services/storage.py`
- [Metadata and FTS Store](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/db.py): `apps/api/app/db.py`

### Decision Intelligence

- [Hybrid Retrieval](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/search_index.py): `apps/api/app/services/search_index.py`
- [Agentic Retrieval](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/agentic_retrieval.py): `apps/api/app/services/agentic_retrieval.py`
- [Answer and Citations](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/generation.py): `apps/api/app/services/generation.py`
- [GraphRAG](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/graph_store.py): `apps/api/app/services/graph_store.py`

### Learning and Operations

- [Self-Learning](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/learning.py): `apps/api/app/services/learning.py`
- [Memory and Skills](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/services/memory_manager.py): `apps/api/app/services/memory_manager.py`
- [Evaluation](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/evaluation.py): `apps/api/app/routers/evaluation.py`
- [Observability](https://github.com/varadpatil5005/rag-copilot-for-call-reports/blob/main/apps/api/app/routers/observability.py): `apps/api/app/routers/observability.py`

### Other components

- **Analyst**
- **Model Provider**

## Connections

- Analyst → Web Workspace: uses
- Analyst → Document Center: uploads reports
- Web Workspace → Web API Client: requests
- Document Center → Web API Client: uploads via
- Web API Client → FastAPI Gateway: calls API
- FastAPI Gateway → Authentication: dispatches
- FastAPI Gateway → Document Routes: dispatches
- FastAPI Gateway → Copilot Routes: dispatches
- FastAPI Gateway → Ingestion Workers: starts workers
- Document Routes → Ingestion Workers: queues documents
- Ingestion Workers → Layout Extraction: extracts layout
- Ingestion Workers → Chunking and Embeddings: chunks and embeds
- Ingestion Workers → Raw and Derived Files: stores files
- Ingestion Workers → Metadata and FTS Store: writes records
- Copilot Routes → Agentic Retrieval: retrieves evidence
- Agentic Retrieval → Hybrid Retrieval: searches index
- Copilot Routes → Answer and Citations: generates answer
- Copilot Routes → GraphRAG: traverses graph
- Hybrid Retrieval → Metadata and FTS Store: reads indexed data
- Answer and Citations → Model Provider: uses when reachable
- FastAPI Gateway → Self-Learning: registers routes
- Self-Learning → Memory and Skills: uses persistent context
- FastAPI Gateway → Evaluation: registers routes
- FastAPI Gateway → Observability: registers routes
