v0.51.24 — Release B: 5-PR contributor batch
Theme: Local-server custom-provider model preservation + oversized upload preflight + ai-gateway phantom Custom group fix + Kanban lifecycle controls + cross-container gateway liveness.
Constituent PRs
- #1862 by @franksong2702 — Preserve slashed model ids for
custom:<local-server>providers (closes #1830) - #1868 by @franksong2702 — Browser-side oversized upload preflight check (closes #1867)
- #1883 by @Sanjays2402 — Fix phantom duplicate Custom group when active provider is ai-gateway (closes #1881)
- #1886 by @franksong2702 — Kanban lifecycle controls: remove unsafe Start/Running, rename Nudge→Preview, empty-board guidance (closes #1885)
- #1887 by @Sanjays2402 — Cross-container gateway liveness via state-file freshness fallback (closes #1879)
Pre-release verification
- Full pytest under
HERMES_HOMEisolation: 4847 passed, 8 skipped, 1 xfailed, 2 xpassed, 8 subtests passed in 142.86s on Python 3.11. - Browser API harness (port 8789): all 11 checks PASS.
node -constatic/i18n.js,static/panels.js,static/ui.js: clean.- Stage diff: 11 files, +849/-43.
- Opus advisor pass on stage-319: SHIP with one non-blocking flag. No MUST-FIX.
- Pre-stamp re-fetch of all 5 PR heads: no contributor force-pushes during the Opus window.
Mid-stage maintainer notes
#1886 was based on pre-v0.51.23 master, so during stage rebase the maintainer:
- Resolved CHANGELOG.md conflict (accept master).
- Merged i18n.js with v0.51.23's Japanese refresh (translated
kanban_work_queue_hintfor ja). - Restored two silent reverts from #1886's stale-base diff: #1872's
static/index.htmlworkspace-heading change, and #1871'sstatic/panels.js:837_cronPreFormDetailreference.
Both restorations verified by Opus against post-merge stage. All 4847 tests pass.
Test count
4830 → 4858 collected, 4847 passing (+28 net new tests).