# reinhardtmarta/mentalist-quantum-bot architecture

> Architecture diagram of the GitHub repository reinhardtmarta/mentalist-quantum-bot, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/reinhardtmarta/mentalist-quantum-bot
- Repository: https://github.com/reinhardtmarta/mentalist-quantum-bot

## Overview

This is a quantum-circuit compiler/optimizer: the benchmark entry point builds a QFT circuit and hardware coupling map, then asks MentalistBot to optimize the circuit and reports its size and depth. The bot simplifies, selects an initial layout, routes circuit slices, evaluates candidates, and negotiates layouts across slice boundaries. The README gives no additional capability details; the graph follows the sampled source, so it does not assume other integrations or runtime stages.

Main entry points: [`src/bot.py`](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py) (Optimizer bot), [`main.py`](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/main.py) (Benchmark runner), [`src/layout.py`](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/layout.py) (Layout selector), [`src/router.py`](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/router.py) (Smart grid router)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Benchmark entry"]
  node_benchmark["Benchmark runner<br/>[main.py]"]
end

subgraph group_orchestration["Optimization orchestration"]
  node_bot["Optimizer bot<br/>[bot.py]"]
  node_slicing["Circuit slicing<br/>[bot.py]"]
  node_boundary["Boundary negotiation<br/>[bot.py]"]
  node_assembly["Circuit assembly<br/>[bot.py]"]
end

subgraph group_layout["Initial layout"]
  node_selector["Layout selector<br/>[layout.py]"]
  node_compaction["Compact subgraph search<br/>[layout.py]"]
  node_interactions["Interaction graph mapping<br/>[layout.py]"]
end

subgraph group_routing["Circuit routing"]
  node_router["Smart grid router<br/>[router.py]"]
end

subgraph group_rewriting["Circuit rewriting"]
  node_rewriter["Pattern rewriter<br/>[rewriter.py]"]
end

node_circuit["QFT circuit"]
node_coupling["Hardware coupling map"]

node_benchmark -->|"builds"| node_circuit
node_benchmark -->|"builds"| node_coupling
node_benchmark -->|"runs optimization"| node_bot
node_bot -->|"constructs and calls"| node_rewriter
node_bot -->|"constructs and calls"| node_selector
node_bot -->|"constructs and calls"| node_router
node_bot -->|"slices circuit"| node_slicing
node_bot -->|"negotiates layouts"| node_boundary
node_bot -->|"composes winners"| node_assembly
node_selector -->|"searches region"| node_compaction
node_selector -->|"builds graph"| node_interactions
node_benchmark -->|"passes input"| node_circuit
node_benchmark -->|"passes topology"| node_coupling
node_bot -->|"routes slices"| node_router
node_bot -->|"simplifies candidates"| node_rewriter
node_benchmark -->|"reports result"| node_bot

click node_benchmark "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/main.py"
click node_bot "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py"
click node_slicing "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py"
click node_boundary "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py"
click node_assembly "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py"
click node_selector "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/layout.py"
click node_compaction "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/layout.py"
click node_interactions "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/layout.py"
click node_router "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/router.py"
click node_rewriter "https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/rewriter.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_benchmark toneBlue
class node_bot,node_slicing,node_boundary,node_assembly toneAmber
class node_selector,node_compaction,node_interactions toneMint
class node_router toneRose
class node_rewriter,node_circuit,node_coupling toneIndigo
```

## Components

### Benchmark entry

- [Benchmark runner](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/main.py): `main.py`

### Optimization orchestration

- [Optimizer bot](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py): `src/bot.py`
- [Circuit slicing](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py): `src/bot.py`
- [Boundary negotiation](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py): `src/bot.py`
- [Circuit assembly](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/bot.py): `src/bot.py`

### Initial layout

- [Layout selector](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/layout.py): `src/layout.py`
- [Compact subgraph search](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/layout.py): `src/layout.py`
- [Interaction graph mapping](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/layout.py): `src/layout.py`

### Circuit routing

- [Smart grid router](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/router.py): `src/router.py`

### Circuit rewriting

- [Pattern rewriter](https://github.com/reinhardtmarta/mentalist-quantum-bot/blob/main/src/rewriter.py): `src/rewriter.py`

### Other components

- **QFT circuit**
- **Hardware coupling map**

## Connections

- Benchmark runner → QFT circuit: builds (evidence: `main.py`)
- Benchmark runner → Hardware coupling map: builds (evidence: `main.py`)
- Benchmark runner → Optimizer bot: runs optimization (evidence: `main.py`)
- Optimizer bot → Pattern rewriter: constructs and calls (evidence: `src/bot.py`)
- Optimizer bot → Layout selector: constructs and calls (evidence: `src/bot.py`)
- Optimizer bot → Smart grid router: constructs and calls (evidence: `src/bot.py`)
- Optimizer bot → Circuit slicing: slices circuit (evidence: `src/bot.py`)
- Optimizer bot → Boundary negotiation: negotiates layouts (evidence: `src/bot.py`)
- Optimizer bot → Circuit assembly: composes winners (evidence: `src/bot.py`)
- Layout selector → Compact subgraph search: searches region (evidence: `src/layout.py`)
- Layout selector → Interaction graph mapping: builds graph (evidence: `src/layout.py`)
- Benchmark runner → QFT circuit: passes input (evidence: `main.py`)
- Benchmark runner → Hardware coupling map: passes topology (evidence: `main.py`)
- Optimizer bot → Smart grid router: routes slices (evidence: `src/bot.py`)
- Optimizer bot → Pattern rewriter: simplifies candidates (evidence: `src/bot.py`)
- Benchmark runner → Optimizer bot: reports result (evidence: `main.py`)
