# K1 chat-thread session actor 0.1.0
`kcode-k1-chat-thread-session-actor` 0.1.0 owns the concrete asynchronous actor loop for one durable K1 chat thread. Its only public operation recovers and composes a session, creates the ordered actor channel and Codex Shim, spawns exactly one actor, and returns the channel `Handle`.
The actor owns FIFO command handling, Turn and Steer effects, exact model-input observation, stage acknowledgements, waiter wakeups, WebSearch task identity and lifecycle, restart generations and Shim replacement, and teardown. `kcode-k1-chat-thread-durable-state` exclusively owns canonical synchronous state, persistence, recovery, authorization, action dispatch, completion, restart transitions, and checkpoints. `kcode-k1-chat-thread-actor-channel` owns the handle, messages, and user-visible values.
Provider stages are durably prepared before effects. Synchronous calls are dispatched by durable state, WebSearch calls run as actor-owned tasks, ordered messages cross finite checkpoints, terminal Result-v2 values are accepted once, and prepared steer frontiers commit only after adapter success. Provider failure aborts searches; successful turns retain live work and resume according to durable state.
This package does not own persistence formats, canonical input rendering, duplicate-return detection, authorization policy, native tool implementations, HTTP, migration, daemon composition, deployment, or the public facade. It does not publish itself.