Skip to content
ttorta docs

Knowledge Base

The workspace on disk

What torta creates, which folders are yours, and which are derived and safe to delete.


Everything the board draws comes from directory listings and one config file.

The map

my-project/
  torta.json          the one hand-edited file
  .agents/            one home per agent, plus .core/
    .core/            the shared engine, run from every home
    archi/
      .workflow/      todo/, wip/, done/
      .staging/       tickets are built here, then renamed into a queue
      .permissions/   the generated wall
        settings.json the file Claude Code binds to
      .scripts/       the generators, in the walls role's home
  .projects/          what agents build, one folder per owner
  .torta/             derived: log, state, decisions

torta.json

The only file you hand-edit. It carries the project, the roster, the platforms and the workflow block. See the workflow schema.

After editing it, regenerate the derived files:

torta sync

The agent homes

One folder per agent under .agents/, each with its generated wall at .permissions/settings.json. torta verify asserts that the generated walls match the committed lock.

The project folders

Your code lives in .projects/, one folder per owner. Platforms are opt-in: a landing-page-only project has one project folder and no frontend agent.

The derived folder

.torta/ is what torta works out for itself:

Path What it is
events.jsonl the derived transcript of what happened
dispatch-state.json what the dispatcher last wrote
board.json the running board’s address and its token
engine.json which process is running the engine here
DISPATCH_OFF the pause switch, present when paused
pending/ one file per decision waiting on you
interrupt/ interrupt requests, one per agent
sessions/ session logs

Each agent home carries a .session.lock while a session holds it. Nothing in .torta/ is authoritative; the filesystem is.

What is safe to delete

  • .torta/events.jsonl: derived; only costs you history.
  • .torta/DISPATCH_OFF: the same as pressing resume.
  • A stale .session.lock: the engine reclaims one older than two minutes.

Do not delete a ticket out of wip while a session is working it. Let the session end, or interrupt it from the needs-you lane.