HERMES-GIELIE/docs
nesquena-hermes 1fe8950022
Release v0.51.238 — Release HF (stage-q9) (#3493)
## Release v0.51.238 — Release HF (stage-q9)

Phase 3 MEDIUM-ring pick (3-factor: contributor×impact×mitigated-risk) — high-impact perf fix to the most-clicked affordance from a regular contributor (@franksong2702 ★★★), small code surface, CI-green.

### Fixed
| PR | Author | Fix |
|----|--------|-----|
| #2518 follow-up | @franksong2702 | Clicking **New Conversation** on a cold start no longer hangs 3–4s on a catalog rebuild. `newSession()` fills `model_provider` from `window._activeProvider` (then prev-session) when the dropdown carries none, so `POST /api/session/new` takes the fast path on the first click too. |

### Pre-release dual gate caught a wrong-backend routing bug (fixed + regression-tested)
The server fast path passes `(model, provider)` through **without validating the pair**, so naively attaching the active provider to *any* bare model could silently route to the wrong backend (e.g. bare `claude-opus-4.8` + active `openrouter`). **Codex** flagged this; **Opus** had judged it acceptable ("respect the selection over silent swap"). I took the stricter, empirically-grounded path and added a **family-mismatch guard** mirroring the server's own bare-prefix→provider map (`gpt`→openai, `claude`→anthropic, `gemini`→google): when the model's known family differs from the fallback provider, `model_provider` stays `null` so the server slow-path's family repair runs. This keeps the perf win for the common matching case while closing the mis-route. Backend behavioral tests confirm fast-path-on-match + slow-path-on-mismatch. (Also re-anchored the source-shape test assertions on the real `reqBody.model_provider=` assignment per Codex's 2nd note.)

### Gate results
- **Full pytest suite**: 7495 passed, 9 skipped, 3 xpassed, **0 failed**
- **ESLint runtime gate**: CLEAN  ·  **ruff**: CLEAN  ·  **browser-smoke**: CLEAN
- **Codex (regression)**: SHIP ONLY WITH FIXES → guard + test-anchor applied → re-reviewed **SAFE TO SHIP**
- **Opus (correctness)**: reviewed the original (judged acceptable); the shipped version is strictly safer (adds the family guard)

Note: `docs/pr-media/2518/{PR_BODY.md,bench.py}` are the contributor's review aids, included per the tracked `docs/pr-media/` convention (157 files already tracked) — not app code.

Closes #2518.

Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>
2026-06-03 12:23:46 -07:00
..
images docs: add clarify dialog screenshot evidence 2026-05-25 16:25:11 +08:00
pr-assets
pr-media Release v0.51.238 — Release HF (stage-q9) (#3493) 2026-06-03 12:23:46 -07:00
rfcs stage-batch10: #3327 model-id normalize + #3334 RFC slice doc + #3341 profile skill counts 2026-06-01 18:24:05 +00:00
ui-ux docs: align uiux demo theme controls 2026-05-18 12:50:25 +08:00
advanced-chat-setup.md docs(readme): re-sequence IA — pull Features up, consolidate access, extract niche docs 2026-06-01 02:26:18 +00:00
CONTRACTS.md Clarify contract routing coverage boundary 2026-05-26 11:32:34 +08:00
docker.md docs: clarify docker host and home paths 2026-05-30 03:35:24 +00:00
EXTENSIONS.md Opus pre-release follow-ups for PR #1445 2026-05-02 03:49:40 +00:00
ISSUES.md fix(#1195): route sessions to profile dir even when dir doesn't exist yet (#1373) 2026-04-30 23:24:31 +00:00
onboarding-agent-checklist.md docs: add agent onboarding entrypoint 2026-05-13 16:47:14 +08:00
onboarding.md docs: clarify Docker localhost and sudo compose setup 2026-05-28 08:39:59 +02:00
remote-access.md docs(readme): re-sequence IA — pull Features up, consolidate access, extract niche docs 2026-06-01 02:26:18 +00:00
supervisor.md fix: block duplicate webui start when launchd owns 8787 2026-05-31 23:02:23 +00:00
troubleshooting.md fix(chat): log sanitized client sse diagnostics 2026-05-25 02:06:42 +02:00
UIUX-GUIDE.md fix(chat): keep visible interim progress in timeline 2026-05-26 09:53:55 +08:00
why-hermes.md docs: move Hermes overview out of agent context root 2026-05-19 23:55:58 -07:00
workspace-git.md fix(workspace): tighten git subprocess trust boundary 2026-05-20 11:02:45 +00:00
wsl-autostart.md docs: add WSL WebUI autostart helpers 2026-05-05 01:12:07 +00:00