# Active Agent Roster
> Maintained by the janitor agent. Do not edit manually.
> Last updated: [not yet run]

## How to read this file

- **Operator** orchestrates everything. It reads all files, dispatches tasks, monitors agents, never writes code.
- **Workers** own specific directories. They read their task spec + this file + relevant HANDOFFS.
- **Janitor** audits this file after every 3-4 tasks. It corrects false-done statuses.
- **Verifier** is spawned ad-hoc when an agent reports done but evidence is unclear.

If you are an agent reading this: check your name below. Understand who else is active, what they own, what they've HANDOFFed. Avoid their directories.

---

## Operator

| Field | Value |
|---|---|
| **Role** | Conductor — dispatches tasks, monitors fleet, unblocks agents, creates PRs |
| **Does NOT** | Write code · Make commits · Own any directory |
| **Monitors** | All surfaces via fleet-scan every 4 minutes |

---

## Workers

_Populated by the operator after first agent spawn. Updated by janitor after each audit._

<!--
Template row format:

### agent-name
| Field | Value |
|---|---|
| **Surface** | surface:XX |
| **Branch** | agent/name |
| **Status** | WORKING / DONE / IDLE / BLOCKED |
| **Tasks** | #N (task-name), #M (task-name) |
| **Scope** | src/components/name/ — DO NOT write outside this |
| **Spawned** | ISO timestamp |
| **Last activity** | ISO timestamp |
| **Key HANDOFF** | One-line summary of most important thing this agent discovered |
-->

---

## Communication Rules

All agents must follow these — no exceptions.

1. **HANDOFFS.md** — async messages between agents. Write discoveries, gotchas, API contracts, unblocked work.
2. **BLOCKERS.md** — write here if you cannot continue. Operator reads this on every fleet-scan.
3. **locks/** — claim `task-N.lock` before writing any code. Release when done.
4. **This file (AGENTS.md)** — read at session start. Never write to it. Janitor owns it.

## What "done" means

A task is done when ALL of these are true:
- [ ] Code is committed on your branch (git log shows commits)
- [ ] Declared output files exist on disk
- [ ] Your lock is released
- [ ] HANDOFFS.md has your outgoing message
- [ ] BOARD.md is updated to DONE

Do not mark DONE until all 5 are true. The janitor will find out if you lie.
