# hetpatel1978/aksibu_mini architecture

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

- Interactive diagram: https://gitdiagram.com/hetpatel1978/aksibu_mini
- Repository: https://github.com/hetpatel1978/aksibu_mini

## Overview

Aksibu Mini is an engineering context engine with two distinct question-answering workflows: GraphRAG over normalized engineering records, and separately indexed document search with validated citations. The documented flow runs from index building through retrieval to Streamlit results; a health dashboard exposes index and graph status. Major document-search and dashboard capabilities are retained, though some implementation details were not sampled, so uncertain relationships are omitted.

Main entry points: [`main.py`](https://github.com/hetpatel1978/aksibu_mini/blob/main/main.py) (Index Builder), [`ui/pages/doc_search.py`](https://github.com/hetpatel1978/aksibu_mini/blob/main/ui/pages/doc_search.py) (Document Search UI), [`retrieval/agent.py`](https://github.com/hetpatel1978/aksibu_mini/blob/main/retrieval/agent.py) (Retrieval Agent), [`index/doc_store.py`](https://github.com/hetpatel1978/aksibu_mini/blob/main/index/doc_store.py) (Document Index)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_engineering["Engineering Context"]
  node_graphbuilder["Graph Builder<br/>[graph_builder.py]"]
  node_knowledgegraph[("Knowledge Graph<br/>[graph_builder.py]")]
  node_graphquery["Graph Traversal<br/>[graph_query.py]"]
  node_vectorindex[("Engineering Vector Index<br/>[vector_store.py]")]
  node_agent["Retrieval Agent<br/>[agent.py]"]
end

subgraph group_documents["Document Search"]
  node_chunker["Document Chunker<br/>[doc_chunker.py]"]
  node_docstore[("Document Index<br/>[doc_store.py]")]
  node_citedretriever["Cited Retrieval<br/>[cited_retriever.py]"]
end

subgraph group_interface["Streamlit Interface"]
  node_chatui["Engineering Chat<br/>[app.py]"]
  node_healthui["Health Dashboard<br/>[health.py]"]
  node_docui["Document Search UI<br/>[doc_search.py]"]
end

subgraph group_indexing["Index Construction"]
  node_builder["Index Builder<br/>[main.py]"]
  node_mockdata["Sample Data"]
  node_normalizer["Record Normalizer<br/>[normalizer.py]"]
  node_rules["Rule Extraction<br/>[rule_extractor.py]"]
  node_tiered["Tiered Extraction"]
end

node_operator(("Engineer"))

node_operator -->|"builds index"| node_builder
node_builder -->|"generates data"| node_mockdata
node_builder -->|"normalizes records"| node_normalizer
node_builder -->|"builds graph"| node_graphbuilder
node_builder -->|"indexes records"| node_vectorindex
node_builder -->|"extracts entities"| node_tiered
node_tiered -->|"uses rules"| node_rules
node_graphbuilder -->|"constructs"| node_knowledgegraph
node_operator -->|"asks question"| node_chatui
node_chatui -->|"runs query"| node_agent
node_agent -->|"searches records"| node_vectorindex
node_agent -->|"dispatches tools"| node_graphquery
node_operator -->|"checks status"| node_healthui
node_healthui -->|"reads stats"| node_vectorindex
node_operator -->|"uploads or asks"| node_docui
node_docui -->|"chunks uploads"| node_chunker
node_docui -->|"ingests folders"| node_docstore
node_docstore -->|"chunks folder files"| node_chunker
node_docui -->|"requests answers"| node_citedretriever
node_citedretriever -->|"retrieves chunks"| node_docstore

click node_builder "https://github.com/hetpatel1978/aksibu_mini/blob/main/main.py"
click node_mockdata "https://github.com/hetpatel1978/aksibu_mini/blob/main/mock_data_generator.py"
click node_normalizer "https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/normalizer.py"
click node_rules "https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/rule_extractor.py"
click node_tiered "https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/tiered_extractor.py"
click node_graphbuilder "https://github.com/hetpatel1978/aksibu_mini/blob/main/graph/graph_builder.py"
click node_knowledgegraph "https://github.com/hetpatel1978/aksibu_mini/blob/main/graph/graph_builder.py"
click node_graphquery "https://github.com/hetpatel1978/aksibu_mini/blob/main/graph/graph_query.py"
click node_vectorindex "https://github.com/hetpatel1978/aksibu_mini/blob/main/index/vector_store.py"
click node_chatui "https://github.com/hetpatel1978/aksibu_mini/blob/main/ui/app.py"
click node_agent "https://github.com/hetpatel1978/aksibu_mini/blob/main/retrieval/agent.py"
click node_healthui "https://github.com/hetpatel1978/aksibu_mini/blob/main/ui/pages/health.py"
click node_docui "https://github.com/hetpatel1978/aksibu_mini/blob/main/ui/pages/doc_search.py"
click node_chunker "https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/doc_chunker.py"
click node_docstore "https://github.com/hetpatel1978/aksibu_mini/blob/main/index/doc_store.py"
click node_citedretriever "https://github.com/hetpatel1978/aksibu_mini/blob/main/retrieval/cited_retriever.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_graphbuilder,node_knowledgegraph,node_graphquery,node_vectorindex,node_agent toneBlue
class node_chunker,node_docstore,node_citedretriever toneAmber
class node_chatui,node_healthui,node_docui toneMint
class node_builder,node_mockdata,node_normalizer,node_rules,node_tiered toneRose
class node_operator toneIndigo
```

## Components

### Engineering Context

- [Graph Builder](https://github.com/hetpatel1978/aksibu_mini/blob/main/graph/graph_builder.py): `graph/graph_builder.py`
- [Knowledge Graph](https://github.com/hetpatel1978/aksibu_mini/blob/main/graph/graph_builder.py): `graph/graph_builder.py`
- [Graph Traversal](https://github.com/hetpatel1978/aksibu_mini/blob/main/graph/graph_query.py): `graph/graph_query.py`
- [Engineering Vector Index](https://github.com/hetpatel1978/aksibu_mini/blob/main/index/vector_store.py): `index/vector_store.py`
- [Retrieval Agent](https://github.com/hetpatel1978/aksibu_mini/blob/main/retrieval/agent.py): `retrieval/agent.py`

### Document Search

- [Document Chunker](https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/doc_chunker.py): `ingestion/doc_chunker.py`
- [Document Index](https://github.com/hetpatel1978/aksibu_mini/blob/main/index/doc_store.py): `index/doc_store.py`
- [Cited Retrieval](https://github.com/hetpatel1978/aksibu_mini/blob/main/retrieval/cited_retriever.py): `retrieval/cited_retriever.py`

### Streamlit Interface

- [Engineering Chat](https://github.com/hetpatel1978/aksibu_mini/blob/main/ui/app.py): `ui/app.py`
- [Health Dashboard](https://github.com/hetpatel1978/aksibu_mini/blob/main/ui/pages/health.py): `ui/pages/health.py`
- [Document Search UI](https://github.com/hetpatel1978/aksibu_mini/blob/main/ui/pages/doc_search.py): `ui/pages/doc_search.py`

### Index Construction

- [Index Builder](https://github.com/hetpatel1978/aksibu_mini/blob/main/main.py): `main.py`
- [Sample Data](https://github.com/hetpatel1978/aksibu_mini/blob/main/mock_data_generator.py): `mock_data_generator.py`
- [Record Normalizer](https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/normalizer.py): `ingestion/normalizer.py`
- [Rule Extraction](https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/rule_extractor.py): `ingestion/rule_extractor.py`
- [Tiered Extraction](https://github.com/hetpatel1978/aksibu_mini/blob/main/ingestion/tiered_extractor.py): `ingestion/tiered_extractor.py`

### Other components

- **Engineer**

## Connections

- Engineer → Index Builder: builds index (evidence: `README.md`)
- Index Builder → Sample Data: generates data (evidence: `main.py`)
- Index Builder → Record Normalizer: normalizes records (evidence: `main.py`)
- Index Builder → Graph Builder: builds graph (evidence: `main.py`)
- Index Builder → Engineering Vector Index: indexes records (evidence: `main.py`)
- Index Builder → Tiered Extraction: extracts entities
- Tiered Extraction → Rule Extraction: uses rules (evidence: `ingestion/tiered_extractor.py`)
- Graph Builder → Knowledge Graph: constructs (evidence: `graph/graph_builder.py`)
- Engineer → Engineering Chat: asks question (evidence: `README.md`)
- Engineering Chat → Retrieval Agent: runs query (evidence: `ui/app.py`)
- Retrieval Agent → Engineering Vector Index: searches records (evidence: `retrieval/agent.py`)
- Retrieval Agent → Graph Traversal: dispatches tools (evidence: `retrieval/agent.py`)
- Engineer → Health Dashboard: checks status (evidence: `README.md`)
- Health Dashboard → Engineering Vector Index: reads stats (evidence: `ui/pages/health.py`)
- Engineer → Document Search UI: uploads or asks (evidence: `README.md`)
- Document Search UI → Document Chunker: chunks uploads (evidence: `ui/pages/doc_search.py`)
- Document Search UI → Document Index: ingests folders (evidence: `ui/pages/doc_search.py`)
- Document Index → Document Chunker: chunks folder files (evidence: `index/doc_store.py`)
- Document Search UI → Cited Retrieval: requests answers (evidence: `ui/pages/doc_search.py`)
- Cited Retrieval → Document Index: retrieves chunks (evidence: `retrieval/cited_retriever.py`)
