Skip to main content
File-based stores persist data as individual files in the .polpo/ directory. They are the simplest option and require no additional dependencies.

Stores

StorePurposeLocation
FileTaskStoreTasks and missions.polpo/tasks/<id>.json + .polpo/missions/<id>.json
FileRunStoreExecution run history.polpo/runs/
FileMemoryStoreProject memory.polpo/memory.md
FileLogStoreEvent log persistence.polpo/logs/
FileSessionStoreChat sessions.polpo/sessions/
FileApprovalStoreApproval gate state.polpo/approvals.json
FileNotificationStoreNotification records.polpo/notifications.json

Directory Layout

The FileTaskStore uses a multi-file layout: each task and mission is stored as a separate JSON file, plus a _meta.json metadata file.
.polpo/
├── tasks/
│   ├── <taskId>.json
│   └── ...
├── missions/
│   ├── <missionId>.json
│   └── ...
└── _meta.json

Pros and Cons

Pros: Zero config, human-readable files, easy to inspect and debug. Cons: No concurrent access safety, can degrade with very large task sets.

When to Use

ScenarioRecommended?
Getting started / single userYes
Debugging / inspecting stateYes
Multiple concurrent orchestratorsNo — use SQLite
Large task sets (100+ tasks)No — use SQLite

Configuration

File is the default backend. No configuration needed. To be explicit:
{
  "settings": {
    "storage": "file"
  }
}