# AiderPolyglotAdapter

**Kind:** Class

**Source:** [`atloria-monorepo/libs/agent-core/src/benchmark/aider-adapter.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/agent-core/src/benchmark/aider-adapter.ts#L49)

**Implements:** `BenchmarkAdapter`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `loadTasks` | `loadTasks(config: BenchmarkRunConfig)` | `Promise<BenchmarkTask[]>` |
| `setupTask` | `setupTask(task: BenchmarkTask, workDir: string)` | `Promise<void>` |
| `buildPrompt` | `buildPrompt(task: BenchmarkTask)` | `string` |
| `evaluate` | `evaluate(task: BenchmarkTask, workDir: string)` | `Promise<{ passed: boolean; details: string }>` |
| `cleanup` | `cleanup(_task: BenchmarkTask, workDir: string)` | `Promise<void>` |

## Where it refuses work

- `AiderPolyglotAdapter` stops the work with `Error` when `!exerciseDir`.
- `AiderPolyglotAdapter` stops the work with `Error` when `!fs.existsSync(srcDir)`.
- `AiderPolyglotAdapter` stops the work with an early return when `!task.testCommand`.

## When something fails

- `AiderPolyglotAdapter` handles failure in 9 places: it discards it silently in 6, logs it and continues in 2, and turns it into a return value in 1.
