Files
timmy-config/lazarus
Timmy Foundation Ops c2fdbb5772 feat(lazarus): operator control surface + cell isolation + process backend (#274, #269)
Implements the Lazarus Pit v2.0 foundation:

- cell.py: Cell model, SQLite registry, filesystem packager with per-cell HERMES_HOME
- operator_ctl.py: summon, invite, team, status, close, destroy commands
- backends/base.py + process_backend.py: backend abstraction with process implementation
- cli.py: operator CLI entrypoint
- tests/test_cell.py: 13 tests for isolation, registry, TTL, lifecycle
- README.md: quick start and architecture invariants

All acceptance criteria for #274 and #269 are scaffolded and tested.
13 tests pass.
2026-04-06 16:58:14 +00:00
..

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

Quick Start

# 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