Release day: Kernel v0.16.3 and TUI/Portal v0.10.6

techdevlog

TL;DR — This release reorganizes how the kernel owns tool knowledge: every built-in tool now lives in its own package directory with a CONTRACT.md, EN/ZH/Wen glossary files, and a centralized glossary validator. Kernel #842 single-sources repeated tool guidance in the system prompt, saving ~2,975 tokens per call on the measured test prompt (measurement scope caveat noted below). The TUI ships a one-shot GitHub-release installer, a custom OpenAI wire selector, codex-pool model classification, mailbox search, session tool-call stats, and portal loopback-only binding. The kernel adds backend flag-discovery submanuals for 9 daemon backends, IMAP attachment filename sanitization, extended credential redaction, AED manifest recognition, and closes with #847 — a packaging repair that makes the native lingtai-search-sidecar platform wheels install into platlib.

What changed

TUI/Portal v0.10.6

The TUI side ships a one-shot GitHub-release installer that bootstraps Go, Node, uv, and the venv-managed runtime from a single curl | bash command. The installer hardens WSL and broken-venv fallbacks, bootstraps the correct Go toolchain for portal builds, and falls back to source builds when prebuilt binaries are unavailable.

New cockpit features include mailbox search and archive scanning (#610), session tool-call stats in the Details panel (#611), a custom OpenAI wire selector in the preset editor (#613), and a preset-skill router with 12 child manuals (#614) covering Codex, Claude Agent SDK, DeepSeek, Gemini, Kimi, MiMo, MiniMax, NVIDIA, OpenRouter, and Zhipu providers.

Security: the portal now binds to loopback only by default instead of 0.0.0.0. Codex OAuth credentials can be labeled, making multi-account setups distinguishable in the login UI.

Other fixes: i18n locale fallback hardening, spaced agent path preservation in list and purge commands, stale Telegram demo removal, init example sync with template, tool description i18n path resolution, GPT-5.6 preset defaults, and Homebrew formula license alignment.

Kernel v0.16.3

The kernel release reorganizes tool ownership. Kernel #839 consolidates 14 tool packages from scattered locations (lingtai/core, lingtai/capabilities, lingtai/intrinsics) into a unified src/tools/ namespace, each with its own CONTRACT.md. Kernel #844 adds per-language glossary files (glossary-en.md, glossary-zh.md, glossary-wen.md) to every tool package, a tools/i18n/ directory with JSON catalogs, and a glossary_validator.py that enforces structure and cross-language key parity.

Kernel #842 single-sources repeated tool guidance in the system prompt by referencing the glossary rather than inlining full descriptions. On the measured test prompt, this saves approximately 2,975 tokens per API call. Measurement caveat: this figure comes from a specific test prompt and model configuration; it cannot be taken as a universal net saving across all operator configurations and prompts.

Kernel #843 adds a custom OpenAI wire API selector. Kernel #841 classifies the codex-pool auth pool by exact model identifier. The token ledger now records safe auth metadata for auditability.

Nine daemon backend flag-discovery submanuals (#830–#837) document the exact flags, environment variables, and discovery flow for Codex, OpenCode, claude-p, MiMo Code, built-in LingTai, Kimi Code, Qwen Code, Cursor, and Oh-My-Pi.

The release closes with kernel #847, a packaging repair: the native lingtai-search-sidecar platform-wheel layout now correctly uses platlib (rather than purelib), so the sidecar lands where a platform wheel is expected to install it. The Ubuntu, Intel-macOS, ARM-macOS, and Windows wheel jobs plus an independent sdist all passed on wheels-workflow run 29108219136. Intel and ARM macOS wheels declare 10.12 / 11.0 deployment-target floors, and a dependency-free sidecar smoke test avoids the unrelated PyAV/FFmpeg dependency resolution. This is a fix to the existing Python wheel CI runner — not a new Windows product or tool.

Other fixes: IMAP attachment filename sanitization before disk writes (#770), extended credential key name redaction (#824), AED manifest field recognition (#825), pseudo-agent outbox polling priority (#806), rebuild context observation timing (#828), prompt-related-files runtime path fixes (#846), and anatomy script relocation (#827).

Why this matters

Tool knowledge ownership is a structural investment. When a contributor can find a tool’s public contract, localized terms, and glossary validation in one directory, the cost of adding a new language or modifying a tool description drops. The single-sourcing of system-prompt guidance (#842) is the first concrete payoff, but the measurement scope matters: the -2,975 token saving is real for the test prompt used, not a universal floor.

The one-shot installer removes the largest adoption friction for operators who want to try LingTai without managing Homebrew, Go, and Node installations by hand. Portal loopback-only binding is the right default for a local-first tool. And a platform wheel that lays its native sidecar into platlib is the difference between an install that imports cleanly and one that silently places files where they do not belong.

Release-window accounting

Human contributors/authors represented in the window: @huangzesen, @TZZheng, @9s5bz2jvd2-lang (kernel #843 co-author), @BatalloLu, @wchwawa. Automation and platform identities (@github-actions[bot], the GitHub merge committer) and AI co-authors (Claude Fable 5, Claude Opus 4.8) are documented separately below and are not counted as human authors.

Commit author audit: TUI/Portal v0.10.5..v0.10.6 contains 41 commits: 30 by @huangzesen, 7 by @TZZheng, 3 daily star-count updates by @github-actions[bot], and 1 by @BatalloLu; the 13 merge commits are committed by GitHub. Kernel v0.16.2..v0.16.3 contains 54 commits: 48 by @huangzesen, 5 by @TZZheng, and 1 by @wchwawa. @9s5bz2jvd2-lang is a co-author of kernel #843 (whose commit author is @huangzesen), not a separate commit-count author. The bot and GitHub merge committers are automation, documented only in the audit counts.

Diff stats: TUI/Portal: 149 files changed, +7,573 / -1,007 lines. Kernel: 396 files changed, +13,306 / -2,780 lines through the v0.16.3 tag (392 files, +12,506 / -2,718 through the candidate before the #847 sidecar-wheel repair added 5 files, +809 / -71).

Kernel closed PRs (highlights from 54 commits)

TUI/Portal closed PRs (highlights from 41 commits)

Validation and release hygiene

The structured archive entry and companion blog posts were prepared in a clean lingtai-web release worktree on branch release/20260710-1 at the paired candidate commit. npm ci && npm run build passed. Release-window counts were recomputed from the actual repositories at the v0.10.5..v0.10.6 and v0.16.2..v0.16.3 tag ranges. No pushes, deploys, tags, package publishes, GitHub release edits, or config mutations were made.