# Lazarus Pit v2.0 — Cells, Invites, and Teaming

## Quick Start

```bash
# Summon a single agent
python3 -m lazarus.cli summon allegro Timmy_Foundation/timmy-config#262

# Form a team
python3 -m lazarus.cli team allegro+ezra Timmy_Foundation/timmy-config#262

# Invite a guest bot
python3 -m lazarus.cli invite <cell_id> bot:kimi observer

# Check status
python3 -m lazarus.cli status

# Close / destroy
python3 -m lazarus.cli close <cell_id>
python3 -m lazarus.cli destroy <cell_id>
```

## Architecture

```
lazarus/
├── cell.py              # Cell model, registry, filesystem packager
├── operator_ctl.py      # summon, invite, team, status, close, destroy
├── cli.py               # CLI entrypoint
├── backends/
│   ├── base.py          # Backend abstraction
│   └── process_backend.py
└── tests/
    └── test_cell.py     # Isolation + lifecycle tests
```

## Design Invariants

1. **One cell, one project target**
2. **Cells cannot read each other's `HERMES_HOME` by default**
3. **Guests join with least privilege**
4. **Destroyed cells are scrubbed from disk**
5. **All cell state is persisted in SQLite registry**

## Cell Lifecycle

```
proposed -> active -> idle -> closing -> archived -> destroyed
```

## Roles

- `executor` — read/write code, run tools, push commits
- `observer` — read-only access
- `director` — can close cells and publish back to Gitea
