# System Design - Architecture
## Overview
The diagram illustrates a multi-agent system architecture for processing input data into output data through a structured pipeline. The system is divided into **Meta Agents** (orchestration layer) and **Ground Agents** (execution layer), with a **Workspace/Sandbox** for intermediate data handling.
---
## Key Components
### Meta Agents
1. **Orchestrator**
- Communicates with the user.
- Issues interrupts.
- Decides whether to start fresh, modify, or get more input.
- Reviews reports from the Monitoring Agent.
2. **Architect**
- Task Analysis, Goal Decomposition.
- Iterative Planning, Critiquing.
- Creation, Removal, and Modification of Ground Agents.
- Backtracking Policy.
3. **Monitor**
- Monitors progress of Ground Agents.
- Detects drift and outliers.
- Generates metrics and progress reports.
- Directs Architect to take action.
- Triggers Backtracking.
### Ground Agents
1. **Reader**
- Reads input data.
- Part of the Code Pipeline: `Reader → Transformer → Partitioner → Indexer`.
2. **Transformer**
- Transforms data.
- Part of the Code Pipeline.
3. **Partitioner**
- Partitions data.
- Part of the Code Pipeline.
4. **Indexer**
- Indexes data.
- Connects to the **Library of Data Agents** and **Tools**.
5. **Code Generator**
- Generates code.
- Outputs to the **Workspace/Sandbox**.
### Workspace/Sandbox
- **Data Bin**: Stores raw data.
- **Metadata Bin**: Stores metadata.
- **Task Sandbox**: Executes tasks.
- **Current State**: Tracks the current system state.
- **Case Logging**: Logs system events.
### Input/Output
- **Input Data + Task**: Feeds into the Code Pipeline.
- **Output Data**: Generated after processing through the pipeline.
### Library of Data Agents & Tools
- Provides reusable agents and tools for the Indexer.
---
## Flow Diagram
1. **Input Data + Task** → **Code Pipeline** (Reader → Transformer → Partitioner → Indexer).
2. **Indexer** interacts with the **Library of Data Agents** and **Tools**.
3. **Code Generator** outputs to the **Workspace/Sandbox**.
4. **Monitor** oversees Ground Agents and triggers backtracking if needed.
5. **Orchestrator** manages user interaction and system decisions.
---
## Notes
- No numerical data, charts, or trends are present. The diagram focuses on component interactions and workflow.
- All text is in English; no other languages are detected.
- Spatial grounding confirms components are grouped logically (Meta Agents at the top, Ground Agents in the middle, Workspace/Sandbox at the bottom, and Library/Tools on the right).