kcode-session-history 0.1.2

Kennedy's durable session history, lifecycle, and reconstructed context
Documentation

kcode-session-history

kcode-session-history is Kennedy's internal Rust library for durable session history. It owns:

  • the kcode-session-log dependency and every active session log;
  • the opaque per-session Session handle used to mutate Chatend history;
  • lifecycle checkpoints, ingress state, and browser-command journals;
  • pending session objects; and
  • the append-only index of completed Kweb session archives.

It deliberately has no HTTP framework, routes, multipart parsing, response types, or KennedyServer dependency. KennedyServer owns those adapters and Kweb commit policy.

Boundary

The two primary handles are:

  • SessionHistory: the long-lived store. Open it once, then use typed methods to start, register, list, checkpoint, transition, and complete sessions.
  • Session: an opaque handle to one active session's ordered history, projections, and pending objects. It is created with a library-assigned ID or reopened through SessionHistory; callers never supply or receive storage paths.

There is no SessionLease. Kennedy already serializes writes where required, and a second lifetime/locking abstraction would make the boundary larger without adding an ownership guarantee that the application needs.

Version 0.1.1 is published to crates.io for use by Kennedy components:

[dependencies]
kcode-session-history = "0.1.1"

The source conforms to the kcode-rust-libs-v2 managed-library contract: package name and version are literal, generated Cargo state is excluded, and Documentation.md is the root agent-facing API reference.

See Documentation.md for the complete integration API, Specification.md for persistence and lifecycle semantics, and DependencyAudit.md for the dependency boundary.

Verify

cargo test