kcode-session-history 0.1.3

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, browser-command journals, and durable
  stop requests with same-process listener notification;
- 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:

```toml
[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](Documentation.md) for the complete integration API,
[Specification.md](Specification.md) for persistence and lifecycle semantics,
and [DependencyAudit.md](DependencyAudit.md) for the dependency boundary.

## Verify

```sh
cargo test
```