ByteBulletin

[tooling] · · 1 min read

Kassette: Durable Execution for Agentic Workflows Without a New Runtime

A new open-source library brings crash-safe, journal-based durability to AI agent pipelines, composing with existing queues and job runners.

By ByteBulletin Editors · Editorial Team

[tooling]

Agentic workflows are expensive when they fail. Long-running pipelines burn LLM tokens, execute tools with real-world side effects, and often pause for human input. If the process crashes or times out, a naive retry redoes all that costly work. Kassette, a new embeddable library, aims to fix that by recording completed steps to an append-only journal, so replay skips what's already done.

Kassette is not a server, sidecar, or runtime. It's a library that runs inside your process, using local filesystem or S3-compatible storage to persist an append-only JSONL journal. On retry, it fast-forwards through the journal and resumes from the first unfinished step. This means your existing queue, job runner, or webhook can handle re-invocation without new infrastructure.

The core API is straightforward: wrap workflow steps with ctx.step(), and call ctx.suspend() to pause and return control. On resume, Kassette replays to the suspension point and continues live. It supports fork() to branch from a recorded prefix, enabling speculative continuations or rollback without redoing completed work.

Kassette imposes no DSL or decorator system — just a normal async function. It works with frameworks and middleware. The library also includes a CLI for inspecting and forking journals, and a skill for LLM-assisted debugging.

Versioning is handled with care: renaming a step invalidates its previous journal entry, and a version field on the workflow definition can catch incompatible changes. However, users must keep workflow code shape stable across replay to avoid mapping errors.

The storage tradeoffs are clear: LocalStorage provides fast appends, while S3 storage grows total upload bytes as O(N²), but for typical agent runs (10-100 steps, KB-MB journals) this is acceptable. Kassette does not auto-clean or expire journals, so lifecycle policies are needed for retention management.

SHARE

← All stories