FabricFabricHarness
Reference

Session Stores

File, SQLite, and Postgres backends for session persistence.

The session store is where Fabric persists session entries, events, tasks, approvals, checkpoints, and artifact metadata. The default is a file store. The full notes live at docs/session-stores.md.

Backends

BackendWhere it storesWhen to use
File (default).fabricharness/sessions/<id>/Local development, CI smoke tests, single-host services.
SQLite.fabricharness/sessions.sqlite (configurable)Single-host services that want SQL queries and atomic writes.
Postgresexternal PostgresMulti-host services, Temporal worker fleets, production.

Configuration

.fabricharness/config.ts:

export default {
  store: {
    backend: 'sqlite',
    path: '.fabricharness/sessions.sqlite',
  },
};
export default {
  store: {
    backend: 'postgres',
    connectionString: process.env.DATABASE_URL,
  },
};

What gets stored

For each session:

  • session header (id, created, updated, agent),
  • ordered entries (prompts, assistant turns, tool calls, shell commands, task events, approvals, compactions, checkpoints),
  • the event stream,
  • artifact metadata + content (or external blob URLs),
  • task records,
  • approval records.

Examples