Kernel v0.14.1
LingTai kernel v0.14.1: Codex Responses state, cache discipline, and honest identity
A Codex-focused runtime release: persistent Responses WebSocket continuation, safer tool-output baselines, explicit fresh-epoch reset, concise summarize/cache guidance, honest LingTai request identity, and refreshed kernel ANATOMY citations.
Upgrade / runtime
The kernel package lingtai v0.14.1 is published on PyPI as the runtime package source used by LingTai-managed environments. Existing LingTai projects should follow their normal TUI-managed refresh or setup path rather than treating a bare global pip command as the user upgrade story.
New features and improvements
-
01
Codex Responses can continue incrementally
LingTai now preserves the WebSocket-side state needed to continue a Codex Responses turn through
previous_response_idwhen the local history still matches the remote baseline.-
ws_incrementalmeans LingTai continued the existing remoteprevious_response_idchain instead of replaying the full request. -
ws_fullmeans LingTai rebuilt a complete request from local history and started a fresh remote state chain. - The runtime keeps fallback paths so prefix mismatch, missing baseline, or explicit reset can safely choose a full request.
Why it matters:Codex cache affinity depends on the remote Responses state chain, not only on repeating the same prompt bytes.
-
-
02
Tool-output baselines and fresh epochs are explicit
Tool outputs are frozen against the request baseline, and LingTai can intentionally leave stale remote metadata behind by starting a fresh epoch.
- Frozen tool-output cache prevents later local mutation from changing what an incremental Codex request is replying to.
- Periodic epoch reset defaults to 20 turns and sends one complete request rebuilt from current local
chat_history. - A successful local
system(action="summarize")also triggers a fresh Codex epoch on the next request.
Why it matters:A fresh epoch is the safe way to discard stale remote-state baggage without deleting LingTai local history.
-
03
Summarize guidance now protects Codex cache
Jason noticed that repeated one-by-one summarize calls were repeatedly breaking the Codex cache chain; the runtime comment now makes that cost visible.
- For Codex, each summarize forces the next request to start as
ws_fullinstead of continuing asws_incremental. - The adapter comment strongly discourages consecutive summarize calls within about five turns.
- Ordinary long tool results should be read first and summarized together once their raw payloads are no longer needed.
Why it matters:Other providers are less sensitive here, but Codex uses `previous_response_id` state, so unnecessary fresh epochs are real cache misses.
- For Codex, each summarize forces the next request to start as
-
04
Default Codex identity is honest LingTai
The release removes stale comments that described the old official-CLI-shaped experiment as the default.
- Default requests use
originator=lingtaiandUser-Agent=LingTai/<version>. - The official Codex CLI-shaped identity remains only as an explicit local comparison switch.
- Comments, tests, and
src/lingtai/llm/openai/ANATOMY.mdwere updated to match the shipped behavior.
Why it matters:Protocol experiments are valuable, but the shipped runtime should be clear about who it is.
- Default requests use
-
05
Validation and release hygiene
The release also repairs stale kernel ANATOMY citations and records exact artifact hashes from the published files.
- Full kernel pytest passed:
2715 passed, 4 skipped in 304.41s. - Targeted Codex identity/comment tests passed:
42 passed. - Custom all-ANATOMY citation check passed:
599citations checked,0issues. - Wheel and sdist passed
twine check, contained no__pycache__/.pyc, and were verified on PyPI after upload.
Why it matters:This was a small version bump, but the state-machine behavior deserved full validation and durable release evidence.
- Full kernel pytest passed:
Contributors
Thanks to everyone whose commits, co-authored changes, PRs, reviews, assignments, or reported/closed issues are represented in this release window.
Validation
Final release validation was run from a clean release worktree at commit d47473b22599.
- Kernel full pytest 2715 passed, 4 skipped in 304.41s
- Target Codex identity/comment tests 42 passed
- ANATOMY citation checker 599 checked, 0 issues
- Build and twine check wheel + sdist built; both PASSED
- Artifact inspection 0 __pycache__ / .pyc entries
- PyPI verification 0.14.1 published with matching SHA-256 hashes