Skip to main content
Harnest keeps committed session state separate from private in-progress execution state. It discovers storage factories across root and Harnest Extension extension files, then assembles one typed registry. Every application resolves exactly one session store and one checkpointer, even when both roles share the same backend object.

Reuse a backend without merging roles

Put a shared connection in lib/, then declare each responsibility in its own extension file:
Harnest starts the shared object once and closes it once. Separate factories make ownership visible even when the physical backend is the same. If one small factory intentionally owns both roles, you can stack the two decorators.

Choose a backend

Sessions and application storage

Configure conversation state, context.session, assets, and domain repositories.

Checkpoints

Configure active-run recovery, framework adapters, and replica safety.