luft-core 0.3.2

Luft core contracts: AgentBackend trait, scheduling, journaling, state
Documentation

luft-core

Frozen contracts, scheduler, journal, and state management.

luft-core is the zero-dependency foundation of the Luft ecosystem. It defines the traits, types, scheduling logic, and persistence interfaces that every other crate builds on. Types defined here are frozen contracts — breaking changes are treated as major version bumps.

Module Overview

Module Responsibility
[contract] Cross-crate traits and types: AgentBackend, AgentTask, AgentResult, AgentEvent, Finding
[scheduler] Concurrency-limited agent dispatcher with retry and journal callbacks
[journal] Checkpoint store for run resume — write agent results, read on restart
[state] Run/phase state machine: [RunCheckpoint], [CheckpointStatus]
[run_dir] Filesystem layout helpers for .luft/runs/<run-id>/

Stability Guarantees

  • Traits (AgentBackend, JournalCallback): signatures are stable within a minor version. Implementations in downstream crates are safe.
  • Structs (AgentTask, AgentResult, [RunCheckpoint]): fields are pub and additive only (new fields require #[serde(default)] or a major bump).
  • Enums ([AgentStatus], [BackendError], [RunStatus]): variants are additive — new variants may appear in minor releases.

Feature Flags

Feature Description
testing Exports MockBackend, MockFileBackend, and test data generators