kcode-k1-chat-codex-state 0.3.0

Deterministic Codex-specific K1 conversation state
Documentation
# Public API

`ConversationState` preserves its 0.2.0 API and adds the active-turn steering frontier:

```rust
pub struct PreparedSteer { /* opaque, cloneable */ }
impl PreparedSteer {
    pub fn values(&self) -> &[BoxValue];
}
impl ConversationState {
    pub fn prepare_steer(&mut self, job: u64) -> Result<Option<PreparedSteer>, String>;
    pub fn validate_steer(&self, prepared: &PreparedSteer) -> Result<(), String>;
    pub fn commit_steer(&mut self, prepared: PreparedSteer) -> Result<(), String>;
}
```

`prepare_stage` marks its canonical Kennedy text and calls submitted because the active native turn already knows them. `prepare_steer` flushes and projects one finite FIFO of newly canonical external arrivals without advancing the frontier. Repeated preparation is stable. Validate immediately before provider steering and commit only after confirmed success.

Tokens carry read-only `BoxValue` projections and private process-local job, generation, and frontier identity. Stalling clears a token without advancing its frontier. Recovery resets steering state and reseeds a fresh native thread from complete canonical history. This crate performs no I/O, persistence, scheduling, or tool execution.