Skip to content

Release BG (stage-376): v0.51.83 — 12-PR contributor batch — chat-start adapter parity + populated-core journal recovery + thinking card dedup + context metadata refresh + model cache fingerprint + stream fade cap + manual cron delivery + active-session spinner + email gateway label + thinking copy button + /theme i18n + compact activity semantics#2468

Merged
nesquena-hermes merged 25 commits into
masterfrom
stage-376
May 17, 2026

Conversation

@nesquena-hermes
Copy link
Copy Markdown
Collaborator

stage-376 — Release BG / v0.51.83 — 12-PR contributor batch

Constituents

PR Author Closes/Fixes Type LOC
#2438 @franksong2702 #2435 Fix +23/-3
#2439 @franksong2702 #2434 Fix +242/-3
#2441 @Michaelyklam #2440 Fix +17/-1
#2444 @franksong2702 #2442 Fix +251/-59
#2445 @Michaelyklam #2443 Fix +76/-1
#2450 @Michaelyklam #2447 Fix +31/-0
#2452 @Michaelyklam #2451 Fix +133/-23
#2455 @franksong2702 #2454 Fix +95/-3
#2457 @Michaelyklam #2456 Fix +18/-1
#2460 @Michaelyklam #2449 Add +38/-6
#2463 @Michaelyklam #2462 Fix +53/-6
#2466 @franksong2702 #2465 Changed +10/-6

Total stage diff: 28 files changed, 962 insertions(+), 112 deletions(-)

Theme of the batch

Twelve small, well-scoped contributor fixes that mop up correctness regressions, polish, and i18n gaps across run-state consistency (chat-start adapter parity, journal recovery on populated-core sync, context-window metadata refresh, model cache fingerprint, active-session spinner reconcile), live-streaming UX (compact thinking card dedup, stream-fade drain cap, thinking copy button), cron + gateway plumbing (manual cron delivery parity, email gateway source labeling), and stale-help-text cleanup (/theme i18n in 5 locales, Compact tool activity preference description).

Verification

Pre-Opus gate (all clean)

  • node -c on every modified .js: PASS
  • ast.parse on every modified .py: PASS
  • Merge-marker grep (^<<<<<<<|^>>>>>>>|^=======): clean
  • CHANGELOG placeholder grep (\*\*PR (TBD|N/A|\?+)\*\*): clean
  • No CJK escape-literal additions
  • api/routes.py duplicate-defs check: clean
  • api/streaming.py lines changed: 0 (sensitive path untouched)

pytest (full suite)

5849 passed, 6 skipped, 3 xpassed, 8 subtests passed in 133.32s

Opus advisor sanity check

Decision: SHIP

12 small, well-scoped contributor fixes with consistent test coverage; cross-file wiring reads consistently; defensive fallbacks on the cron and model-metadata paths preserve graceful degradation against older hermes-agent builds; no assertion weakening; no streaming-path risk. Two minor robustness notes (SILENT casing follow-up, substring-match locality) are follow-up candidates, not stage-fix gates.

Opus specifically verified:

Browser sanity checks (port 8789 stage server)

[PASS] GET /health → 200 ok
[PASS] GET / → 200 HTML
[PASS] GET /static/ui.js → 200 (364044 bytes)
[PASS] GET /static/messages.js → 200 (125453 bytes)
[PASS] GET /static/sessions.js → 200 (163855 bytes)
[PASS] GET /api/settings → 200 (31 settings keys)
[PASS] POST /api/session/new → 200
[PASS] GET /api/session → 200
[PASS] POST /api/chat/start → 200 (stream_id)
[PASS] GET /api/chat/stream/status → 200
[PASS] POST /api/session/delete → 200

Not in this batch (intentionally)

Closes #2434, #2435, #2440, #2442, #2443, #2447, #2449, #2451, #2454, #2456, #2462, #2465.

@nesquena-hermes nesquena-hermes merged commit 522efc2 into master May 17, 2026
3 checks passed
@nesquena-hermes nesquena-hermes deleted the stage-376 branch May 17, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v0.51.82 follow-up: journal recovery skipped in empty-messages + populated-core branch (#2427 SHOULD-FIX)

1 participant