kcode-session-history
kcode-session-history is Kennedy's internal Rust library for durable session
history. It owns:
- the
kcode-session-logdependency and every active session log; - the opaque per-session
Sessionhandle 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 throughSessionHistory; 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.0 is published to crates.io for use by Kennedy components:
[]
= "0.1.0"
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