Release BM (stage-382) — 6-PR full sweep batch
Routine batch covering a runtime adapter slice, a SOUL.md memory panel, a #1855 fast-path fix, a PWA sidebar spinner fix, a /model slash command provider fix, and a contributor contract docs index.
Changed
- PR #2496 by @Michaelyklam (refs #1925) — Route approval and clarify responses through the default-off
RuntimeAdapterseam whenHERMES_WEBUI_RUNTIME_ADAPTER=legacy-journalis enabled. Defaultlegacy-directpath is unchanged. Stale explicit approval ids are now bounded as not-active instead of falling back to the oldest queued command.
Added
- PR #2500 by @mccxj — Surface
SOUL.md(agent persona profile atHERMES_HOME/SOUL.md) as a third section in the Memory panel next to MEMORY.md and USER.md. NewGET /api/memoryfields (soul,soul_path,soul_mtime) andPOST /api/memory/writesection="soul"support, with redaction applied. 11 locales updated, newsparklesLucide icon.
Fixed
- PR #2499 by @franksong2702 — Keep server-idle session rows from inheriting stale local streaming fields during sidebar optimistic merging. Fixes a PWA case where a completed session's sidebar spinner could remain alive after the backend reported no active stream.
- PR #2501 (closes #1855) — Short-circuit the
resolve_model_providerstage inPOST /api/chat/start(and sibling chat-handler call sites) when the request already carries an explicit(model, model_provider)pair and the model isn't@provider:model-qualified. Catalog rebuilds doing network I/O (custom OpenAI-compat/models, OpenRouter/models, LM Studio probes, credential-pool refresh) had been wedging a single request for ~115 seconds and triggering 502 Proxy Error on default-60s reverse proxies (nginx / Apache / Caddy / Cloudflare). 14 regression tests pin both the fast path and the preserved slow path. - PR #2504 by @espokaos-ops (closes #2488) —
/model <name>slash command now respects the user's active provider preference when the same model id exists across multiple providers, instead of picking the first DOM-order match.
Documentation
- PR #2503 by @franksong2702 (refs #2502) — Add
docs/CONTRACTS.mdas a public contributor-facing routing index that points UI/UX, runtime/state, and onboarding/setup changes to the relevant public docs before contributors edit code. Addsdocs/UIUX-GUIDE.mdsynthesizing the calm-developer-console UI/UX principles from DESIGN.md / README.md / THEMES.md into one contributor guide. Refreshes README and THEMES.md skin lists to cover all ten built-in skins (catppuccin+nous). Docs-only — no runtime or maintainer-policy changes.
Tests: 5933 passed, 6 skipped, 3 xpassed.
Stage PR: #2507 — merged via merge commit e6be01c4.