← Releases

id 20260628-1 · 2026-06-28 · kernel v0.15.3 · TUI/Portal v0.10.2

Kernel v0.15.3 · TUI/Portal v0.10.2

LingTai release day: an honest init contract and steadier reconstruction signals

A small paired patch that makes two runtime contracts honest. Generated, template, and example init.json no longer seed legacy `prompt` or 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 more truthful: a delayed-summarization reconstruction now reports one-shot evidence while sustained high-context pressure is surfaced separately as a molt warning. The window rounds out with system-prompt resources refactored into Markdown catalogs, a WeChat MCP config-path fix and stronger inbound-media validation, grep and IMAP ergonomics, runtime-identity stamps on event logs, and the usual release hygiene.

Upgrade / runtime

$ brew update && brew upgrade lingtai-ai/lingtai/lingtai-tui

The Homebrew command updates the TUI/Portal surface. The kernel package lingtai v0.15.3 is the runtime package source used by LingTai-managed environments; existing projects should follow their normal TUI-managed refresh or setup path rather than treating a bare global pip command as the user upgrade story. This is a paired patch release validated from clean release worktrees before publication.

New features and improvements

  1. 01

    An honest init contract: no more seeded `prompt` / `lingtai`

    Generated, template, and example init.json stop writing character-seed fields that the runtime no longer honors. Created character state is owned afterward by system/lingtai.md / psyche, and the kernel accepts a missing seed as a valid empty seed.

    • The kernel formalizes the init contract: prompt is not a legacy alias, a missing lingtai / lingtai_file is valid and means an empty initial seed, and deprecated brief fields are ignored (kernel #550, #551, #552, #557).
    • The TUI stops seeding the character field in generated init.json and ships a guard regression test that generated init JSON omits prompt, prompt_file, lingtai, and lingtai_file (TUI #458).
    • Stale init-schema tests are aligned with the optional lingtai seed, and avatar-anatomy docs clarify how the lingtai seed is inherited (kernel #553 plus the release-hygiene test alignment).

    Why it matters:An init file 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.

  2. 02

    Reconstruction-aware molt warnings

    Context-pressure signals are made more truthful: a delayed-summarization reconstruction reports its evidence once, while sustained high-context pressure is surfaced separately so the two are not conflated.

    • A delayed summarization reconstruction now reports one-shot reconstruction evidence, while sustained high-context pressure is surfaced separately as a molt warning (kernel #556).
    • Resident meta-guidance ordering and prompt-layer documentation were tightened, with delayed-summarize guidance made more precise (kernel #542, #558).
    • Event logs are stamped with the kernel runtime identity so a long unattended run can be attributed to the runtime that produced it (kernel #540).

    Why it matters: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.

  3. 03

    System-prompt catalogs, MCP, and utility polish

    Around the two headline contracts, the kernel refactors its system-prompt resources into Markdown catalogs and lands a round of integration and utility fixes.

    • System-prompt resources are refactored into Markdown catalogs with clearer related-file behavior, and the runtime principle layer is kernel-managed rather than injected at runtime (kernel #555, #547, #549).
    • WeChat MCP config-path resolution is fixed and inbound media is validated by magic bytes (kernel #554, #543).
    • Grep prunes its glob filter before reading files, and IMAP empty-argument ergonomics and flag diagnostics are clearer (kernel #544, #548).

    Why it matters:These are the seams a long-running fleet rubs against most — a misresolved MCP config path, an unvalidated inbound file, a grep that reads more than it needs; tidying them keeps the runtime predictable without changing the cockpit operators already know.

  4. 04

    TUI ledger fidelity and cockpit ergonomics

    On the cockpit side, the TUI improves how refresh and context-rebuild events are accounted for and restores roomier mail defaults.

    • 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 (TUI #457, #455).
    • Larger mail page-size defaults are restored and mail renderers are reused across mail views, and ctrl-y select mode is now available globally with a prominent indicator (TUI #454, #453, #452).

    Why it matters:A ledger that reads a rebuild as a normal call misleads an operator reading per-round cost; marking rebuilds keeps the call view honest, and the mail and select-mode polish removes day-to-day cockpit papercuts.

  5. 05

    Release hygiene, validation, and contributors

    The paired patch versions — TUI/Portal v0.10.2 and kernel v0.15.3 — were validated from clean release worktrees off origin/main before the publish step.

    • Strict ranges: TUI v0.10.1..v0.10.2 (12 commits, 38 files changed, +1612/-177) and kernel v0.15.2..v0.15.3 (38 commits, 99 files changed, +6331/-829).
    • Kernel gates: git diff --check clean; compileall clean; full pytest passed; python -m build produced sdist + wheel; twine check PASSED. Release hygiene aligned the init-schema tests with the optional lingtai seed and bumped the package version to 0.15.3.
    • TUI/Portal gates: git diff --check clean against v0.10.1; full tui and portal Go tests passed; portal/web npm ci && npm run build passed; make build produced the TUI and Portal binaries. Release hygiene normalized docs/stars/stars.csv whitespace and isolated the Homebrew install-detection tests from real developer-machine symlinks.
    • Contributors in this window: @huangzesen (lead, scope and validation owner across both repos) and @TZZheng (kernel dry-run retention reporter, #541).

    Why it matters:A patch still deserves full gate evidence and an honest contributor list; recording that the publish artifacts and tags are cut from these exact validated commits is part of shipping responsibly.

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 kernel v0.15.