# rammaruboina-rgb/iceberg architecture

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

- Interactive diagram: https://gitdiagram.com/rammaruboina-rgb/iceberg
- Repository: https://github.com/rammaruboina-rgb/iceberg

## Overview

Iceberg combines a local bug-bounty assistant, a safe file-inventory helper, and a static inventory-review dashboard. The main workflow is submitting bounty context to the localhost agent, finding relevant local files, optionally asking an LLM for help, and saving reviewable results. The agent also exposes file, manifest, and conversation features. Source excerpts are partial, so links for unsampled endpoint behavior and persistence are omitted where their wiring is not established.

Main entry points: [`bounty-agent/agent.py`](https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py) (Local API), [`agent/bounty_file_agent.py`](https://github.com/rammaruboina-rgb/iceberg/blob/main/agent/bounty_file_agent.py) (Inventory CLI), [`website/script.js`](https://github.com/rammaruboina-rgb/iceberg/blob/main/website/script.js) (Inventory dashboard), [`website/index.html`](https://github.com/rammaruboina-rgb/iceberg/blob/main/website/index.html) (Dashboard page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_assistant["Bounty assistant"]
  node_agent_api["Local API<br/>[agent.py]"]
  node_bounty_input["Bounty intake<br/>[agent.py]"]
  node_file_search["Local file search<br/>[agent.py]"]
  node_agent_chat["Assistant chat<br/>[agent.py]"]
  node_agent_results[("Agent results")]
end

subgraph group_inventory["Safe inventory"]
  node_file_helper["Inventory CLI"]
  node_file_records["File records"]
  node_inventory_reports["Inventory reports"]
end

subgraph group_dashboard["Review dashboard"]
  node_dashboard["Inventory dashboard<br/>[script.js]"]
  node_inventory_data["Inventory metadata"]
  node_dashboard_page["Dashboard page<br/>[index.html]"]
end

node_user(("Local reviewer"))
node_omnirouter["OmniRouter"]

node_user -->|"submits requests"| node_agent_api
node_agent_api -->|"dispatches intake"| node_bounty_input
node_bounty_input -->|"searches context"| node_file_search
node_agent_api -->|"searches files"| node_file_search
node_agent_api -->|"stores results"| node_agent_results
node_agent_api -->|"dispatches chat"| node_agent_chat
node_agent_chat -->|"retrieves context"| node_file_search
node_agent_chat -.->|"sends prompt"| node_omnirouter
node_file_helper -->|"collects metadata"| node_file_records
node_file_helper -->|"writes reports"| node_inventory_reports
node_user -->|"runs commands"| node_file_helper
node_user -->|"opens dashboard"| node_dashboard_page
node_dashboard_page -->|"loads script"| node_dashboard
node_dashboard -->|"fetches metadata"| node_inventory_data

click node_agent_api "https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py"
click node_bounty_input "https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py"
click node_file_search "https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py"
click node_agent_chat "https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py"
click node_agent_results "https://github.com/rammaruboina-rgb/iceberg/tree/main/bounty-agent/results"
click node_file_helper "https://github.com/rammaruboina-rgb/iceberg/blob/main/agent/bounty_file_agent.py"
click node_file_records "https://github.com/rammaruboina-rgb/iceberg/blob/main/agent/bounty_file_agent.py"
click node_inventory_reports "https://github.com/rammaruboina-rgb/iceberg/tree/main/agent/reports"
click node_dashboard "https://github.com/rammaruboina-rgb/iceberg/blob/main/website/script.js"
click node_inventory_data "https://github.com/rammaruboina-rgb/iceberg/blob/main/website/bounty-inventory.json"
click node_dashboard_page "https://github.com/rammaruboina-rgb/iceberg/blob/main/website/index.html"

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_agent_api,node_bounty_input,node_file_search,node_agent_chat,node_agent_results,node_user toneBlue
class node_file_helper,node_file_records,node_inventory_reports toneAmber
class node_dashboard,node_inventory_data,node_dashboard_page,node_omnirouter toneMint
```

## Components

### Bounty assistant

- [Local API](https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py): `bounty-agent/agent.py`
- [Bounty intake](https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py): `bounty-agent/agent.py`
- [Local file search](https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py): `bounty-agent/agent.py`
- [Assistant chat](https://github.com/rammaruboina-rgb/iceberg/blob/main/bounty-agent/agent.py): `bounty-agent/agent.py`
- [Agent results](https://github.com/rammaruboina-rgb/iceberg/tree/main/bounty-agent/results): `bounty-agent/results`

### Safe inventory

- [Inventory CLI](https://github.com/rammaruboina-rgb/iceberg/blob/main/agent/bounty_file_agent.py): `agent/bounty_file_agent.py`
- [File records](https://github.com/rammaruboina-rgb/iceberg/blob/main/agent/bounty_file_agent.py): `agent/bounty_file_agent.py`
- [Inventory reports](https://github.com/rammaruboina-rgb/iceberg/tree/main/agent/reports): `agent/reports`

### Review dashboard

- [Inventory dashboard](https://github.com/rammaruboina-rgb/iceberg/blob/main/website/script.js): `website/script.js`
- [Inventory metadata](https://github.com/rammaruboina-rgb/iceberg/blob/main/website/bounty-inventory.json): `website/bounty-inventory.json`
- [Dashboard page](https://github.com/rammaruboina-rgb/iceberg/blob/main/website/index.html): `website/index.html`

### Other components

- **Local reviewer**
- **OmniRouter**

## Connections

- Local reviewer → Local API: submits requests
- Local API → Bounty intake: dispatches intake
- Bounty intake → Local file search: searches context
- Local API → Local file search: searches files
- Local API → Agent results: stores results
- Local API → Assistant chat: dispatches chat
- Assistant chat → Local file search: retrieves context
- Assistant chat → OmniRouter: sends prompt
- Inventory CLI → File records: collects metadata
- Inventory CLI → Inventory reports: writes reports
- Local reviewer → Inventory CLI: runs commands
- Local reviewer → Dashboard page: opens dashboard
- Dashboard page → Inventory dashboard: loads script
- Inventory dashboard → Inventory metadata: fetches metadata
