Release notes: LingTai TUI/Portal v0.10.2 and kernel v0.15.3
init.json stop seeding legacy prompt and empty lingtai fields — long-lived character state is owned by system/lingtai.md / psyche after creation, and the kernel treats a missing seed as a valid empty seed. The kernel also makes context-pressure signals truthful: a delayed-summarization reconstruction reports one-shot evidence while sustained high-context pressure is surfaced separately as a molt warning. Both versions were validated from clean release worktrees before publication.
This is a patch window, not a new feature window. Its theme is honesty: two places where the runtime told a small, quiet lie now tell the truth. A generated init.json stops seeding character fields the runtime no longer honors, and the context-pressure signals stop conflating a one-time reconstruction with standing pressure.
What changed
TUI / Portal v0.10.2
- Generated
init.jsonno longer seeds the character field: the TUI stops writing legacyprompt/lingtaiseed fields and ships a regression test that generated init JSON omitsprompt,prompt_file,lingtai, andlingtai_file(#458). Character state is managed throughsystem/lingtai.md/ psyche after creation. - Ledger fidelity: refresh rebuilds and context rebuilds are now marked in the call ledger, so the recent-call view distinguishes a rebuild from an ordinary API call (#457, #455).
- Cockpit ergonomics: larger mail page-size defaults are restored and mail renderers are reused across mail views (#454, #453), and
ctrl-yselect mode is now available globally with a prominent indicator (#452).
Kernel v0.15.3
- The init prompt/character contract is formalized:
promptis not a legacy alias, a missinglingtai/lingtai_fileis valid and means an empty initial seed, and deprecated brief fields are ignored (#550, #551, #552, #557). Long-lived character state is managed throughsystem/lingtai.md/ psyche. - Reconstruction-aware context/molt metadata: a delayed summarization reconstruction now reports one-shot evidence, while sustained high-context pressure is surfaced separately as a molt warning (#556). Resident meta-guidance ordering and prompt-layer docs are tightened with more precise delayed-summarize guidance (#542, #558).
- System-prompt resources are refactored into Markdown catalogs with clearer related-file behavior, and the principle layer is kernel-managed rather than runtime-injected (#555, #547, #549).
- Integration and utility fixes: WeChat MCP config-path resolution and inbound-media validation by magic bytes (#554, #543), grep glob-filter pruning before file reads (#544), clearer IMAP empty-argument ergonomics and flag diagnostics (#548), and kernel runtime-identity stamps on event logs (#540).
Why this matters
An init.json that seeds fields the runtime ignores is a quiet lie about where character state lives. Aligning the generator, templates, examples, and schema means a freshly created agent starts from one honest source of truth instead of stale, never-honored prompt text — and the kernel now accepts a missing seed as a valid empty seed rather than something to repair.
On the context side, a single reconstruction event and ongoing context pressure are different facts that ask for different responses. Reporting the reconstruction once and surfacing sustained pressure on its own keeps an agent from over-reading a one-time rebuild as a standing emergency.
Validation
Both versions were validated from clean release worktrees off origin/main.
Strict ranges for this window:
- TUI
v0.10.1..v0.10.2: 12 commits, 38 files changed, +1612/-177. - Kernel
v0.15.2..v0.15.3: 38 commits, 99 files changed, +6331/-829.
Kernel v0.15.3 gates:
git diff --checkagainst v0.15.2 (clean);python -m compilealloversrcandtests(clean);- full
pytestpassed; python -m buildproduced the sdist and wheel, andtwine checkPASSED on both;- release hygiene: the init-schema tests were aligned with the optional
lingtaiseed contract introduced after v0.15.2, and the package version was bumped to0.15.3.
TUI/Portal v0.10.2 gates:
git diff --checkagainst v0.10.1 (clean);tuiandportalgo test ./...passed;portal/web npm ci && npm run buildpassed;make buildproducedlingtai-tui v0.10.2andlingtai-portal v0.10.2;- release hygiene:
docs/stars/stars.csvwhitespace was normalized, and the Homebrew install-detection tests were isolated from real developer-machine symlinks.
Release links
- Kernel release: https://github.com/Lingtai-AI/lingtai-kernel/releases/tag/v0.15.3
- Runtime package source: https://pypi.org/project/lingtai/0.15.3/
- TUI/Portal release: https://github.com/Lingtai-AI/lingtai/releases/tag/v0.10.2
- Homebrew tap: https://github.com/Lingtai-AI/homebrew-lingtai
For regular users, LingTai’s managed project environments remain the normal way the runtime package is resolved. The PyPI page is the published runtime package source and a useful verification point, not the primary end-user upgrade story.
Direction
With the init contract honest end to end and reconstruction signals separated from sustained pressure, a freshly created agent and a long-running one both start from a clearer picture of their own state. The next steps keep paying down the same debt — fewer quiet lies between what the runtime reports and what is actually true.