CORAL
Concepts

Architecture

How CORAL orchestrates autonomous coding agents.

CORAL follows a simple loop: spawn agents → agents read instructions → commit changes → eval → repeat.

System overview

┌─────────────────────────────────────────┐
│              coral start                │
│                                         │
│  1. Create .coral/ shared state         │
│  2. Create per-agent git worktrees      │
│  3. Generate CORAL.md instructions      │
│  4. Spawn agent subprocesses            │
└────────────────────┬────────────────────┘

          ┌──────────▼───────────┐
          │     Agent Loop       │
          │                      │
          │  Read CORAL.md       │
          │  Research approaches │
          │  Edit code           │
          │  coral eval -m "..." │
          │  See score/feedback  │
          │  Share notes/skills  │
          │  Repeat              │
          └──────────────────────┘

Directory layout

When you run coral start, the following structure is created:

results/<task-name>/<timestamp>/
├── .coral/                    # Shared state directory
│   ├── config.yaml            # Task configuration (copy)
│   ├── public/                # Visible to all agents
│   │   ├── attempts/          # JSON records of each eval
│   │   ├── notes/             # Agent-written insights
│   │   ├── skills/            # Reusable tools/scripts
│   │   ├── logs/              # Agent session logs
│   │   ├── heartbeat/         # Heartbeat action configs
│   │   └── eval_count         # Global eval counter
│   └── private/               # Hidden from agents
│       └── eval/              # Grader code and test data

└── agents/
    ├── agent-1/               # Git worktree for agent 1
    │   ├── .coral_dir         # Points to shared .coral/
    │   ├── .coral_agent_id    # This agent's ID
    │   ├── CORAL.md           # Generated instructions
    │   └── <task files>       # Seeded from workspace.repo_path

    └── agent-2/               # Git worktree for agent 2
        └── ...

Tech stack

ComponentTechnology
LanguagePython 3.11+
Build systemHatchling
Package manageruv
Agent runtimesClaude Code, Codex, OpenCode
Web dashboardStarlette (backend) + React/Vite (frontend)
Key dependencyPyYAML