v0.51.23 — Release A: 7-PR contributor batch
Theme: Stale-cleanup pending-turn preservation + title refresh marker persistence + Japanese i18n refresh + Kanban predicate hardening + cron edit snapshot fix + workspace heading affordance polish.
Constituent PRs
- #1856 by @ai-ag2026 — Materialize a pending user turn before stale stream cleanup
- #1859 by @ai-ag2026 — Persist
llm_title_generatedmarker through Session round-trip - #1863 by @koshikai — Refresh Japanese (
ja) locale bundle (108/-108 i18n keys) - #1869 by @franksong2702 — Parametrize Kanban double-404 test across HTTP methods (closes #1845)
- #1870 by @franksong2702 — Tighten Kanban stale-client predicate (closes #1839)
- #1871 by @franksong2702 — Fix cron edit snapshot source for no-agent saves (closes #1840)
- #1872 by @franksong2702 — Disable workspace heading affordance when no workspace registered (closes #1842)
Pre-release verification
- Full pytest under
HERMES_HOMEisolation: 4819 passed, 8 skipped, 1 xfailed, 2 xpassed, 8 subtests passed in 150.85s on Python 3.13. - Browser API harness (
run-browser-tests.shagainst stage-318 on port 8789): all 11 checks PASS. node -constatic/i18n.js,static/panels.js,static/ui.js: clean.- Stage diff: 14 files, +251/-124.
- Opus advisor pass on stage-318 brief: SHIP with two release-note items incorporated. No MUST-FIX.
- Pre-stamp re-fetch of all 7 PR heads: no contributor force-pushes during the Opus window.
Test count
4817 → 4830 collected, 4819 passing (+13 net new tests).