From 095dbfd641cf571ef9a57db7b944021359b4832b Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Wed, 22 Apr 2026 14:14:08 -0700 Subject: [PATCH] =?UTF-8?q?docs:=20update=20ROADMAP,=20SPRINTS,=20and=20BU?= =?UTF-8?q?GS=20to=20v0.50.156=20=E2=80=94=201903=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update sprint history table in ROADMAP.md through v0.50.156, fix test count header, add Known Limitations section to BUGS.md, update SPRINTS.md header. Reviewed by Opus — factually accurate, table column alignment fixed. --- BUGS.md | 12 ++++++++++++ ROADMAP.md | 15 ++++++++++++--- SPRINTS.md | 7 +++---- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/BUGS.md b/BUGS.md index b0ed582..3bba3b5 100644 --- a/BUGS.md +++ b/BUGS.md @@ -10,6 +10,18 @@ This file tracks UI bugs and polish items. Fixed items are kept for reference. --- +## Known Limitations + +- **Two-container Docker setup: tools run in WebUI container** — In the two-container setup (hermes-agent + hermes-webui as separate containers), WebUI-initiated agent sessions run tools in the WebUI container, not the agent container. This is a known architectural constraint. Workaround: use the combined single-image approach, or initiate sessions via the CLI in the agent container. (#681) + +- **Image-in-chat vs. saved-to-workspace mismatch** — When the agent displays an inline image (from a URL) and the user asks it to save that image, the agent issues a fresh download which may return a different file if the source URL is CDN-rotated or parameterized. The WebUI correctly renders whatever URL the agent provides. Fix requires agent-side URL caching. (#641) + +- **MCP tools not available in WebUI sessions** — MCP servers must be configured in the active profile's config.yaml under mcp_servers:. If MCP tools are not appearing, check that the profile is correct and the MCP server process is reachable from inside the WebUI container. (#628) + +- **os.environ race condition in concurrent sessions** — Concurrent agent sessions share process-level os.environ for TERMINAL_CWD, HERMES_SESSION_KEY, and HERMES_HOME. _ENV_LOCK serializes mutations but does not fully isolate env vars during agent execution. Upstream fix pending in hermes-agent. (#195) + +--- + ## Fixed ### ~~Session title truncation / hover actions~~ -- Fixed (Sprint 16) diff --git a/ROADMAP.md b/ROADMAP.md index 7e1bca0..a5e190b 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -3,9 +3,8 @@ > Goal: Full 1:1 parity with the Hermes CLI experience via a clean dark web UI. > Everything you can do from the CLI terminal, you can do from this UI. > -> Last updated: v0.50.44 (April 16, 2026) — 1353 tests collected -> Local delta: enabling password from Settings keeps the current browser signed in; the former Assistant Reply Language enhancement has been removed; workspace panel closed-state now preloads in `` so desktop first paint no longer flashes open before boot sync; thinking cards and tool call cards now animate both their carets and disclosure bodies smoothly on expand/collapse, and thinking cards now use the same bordered rounded panel chrome as tool cards with a gold palette. -> Tests: 1353 collected (`pytest tests/ --collect-only -q`) +> Last updated: v0.50.156 (April 22, 2026) — 1903 tests collected +> Tests: 1903 collected (`pytest tests/ --collect-only -q`) > Source: / --- @@ -77,6 +76,16 @@ | v0.50.37–v0.50.40 | Sprint 40 — rendering fixes + KaTeX CSP + MEDIA images | Think-tag edge cases, renderMd link double-linking fix, MEDIA: inline image rendering, KaTeX CSP font-src fix | 1117 | | v0.50.41–v0.50.43 | Sprint 41/42 — context ring, session polish, renderMd hardening | Context indicator live usage, session display fixes, renderMd bold+code stash, outer link pass ordering, _ob_stash, autolink double-link fixes (@multiple contributors) | 1150 | | v0.50.44 | Renderer formatting bug fixes (#486, #487) | CSS: inline code sizing in table cells; JS: markdown image syntax ![alt](url) → in renderMd + inlineMd; _img_stash for autolink protection | 1195 | +| v0.50.45–v0.50.100 | Upstream sync + contributor sprint | Sidebar declutter, SKIP_ONBOARDING, runtime route details, subpath mount, bug batch (light theme/panel/model cache/Docker), Docker UID/GID auto-detect, chat transcript redesign, favicon SVG+PNG+ICO, Docker UID-mismatch crash fix, auto-title markdown strip | 1777 | +| v0.50.101–v0.50.139 | Contributor sprint wave | Custom providers, Russian locale, collapsed timestamps, IME composition fixes, model-switch toast, approval queue multi-slot, live model fetching SSRF guard, orphaned tool-message sanitization, profile polish sprint (model routing, workspace cross-profile, legacy session backfill), font-size CSS fix | 1777 | +| v0.50.140–v0.50.147 | Bug batch + appearance | Font size setting visibly scales UI text (#843), slash command echoed as user message (#840), scroll selected item into view (#838), tasks refresh button (#835), font size toggle (#833), stale model fix (#829), session search clear on boot (#822), gateway SSE polling fallback (#635) | 1858 | +| v0.50.148–v0.50.150 | Session index + read-path + profile | Prune stale _index.json ghost rows after session-id rotation (#847 @franksong2702), GET /api/session side-effect-free model resolution (#848 @franksong2702), profile switching cookie persist + syncTopbar fix (#849 @migueltavares) | 1858 | +| v0.50.151 | credential_pool + Ollama Cloud | Providers added via auth store credential_pool now visible in model dropdown; Ollama Cloud support; ambient gh-cli token suppression; _apply_provider_prefix helper (#820 @starship-s) | 1898 | +| v0.50.152 | Image rendering + auto-title | image_generate MEDIA: token renders all https:// URLs as img regardless of extension (closes #853); auto-title strips Qwen3-style plain-text thinking preambles (closes #857) | 1898 | +| v0.50.153 | Portal model routing | Live-fetched models from portal providers (Nous, OpenCode) now get @provider: prefix so they route correctly instead of falling through to OpenRouter (closes #854) | 1898 | +| v0.50.154 | Thinking card mirror fix | _streamDisplay() early return removed — thinking card and main response now show distinct content when provider double-emits (closes #852) | 1898 | +| v0.50.155 | Honcho session stability | gateway_session_key=session_id passed to AIAgent so Honcho per-session strategy maintains one Honcho session per WebUI chat instead of one per turn (closes #855) | 1903 | +| v0.50.156 | Auto-install security gate | auto_install_agent_deps() is now opt-in; set HERMES_WEBUI_AUTO_INSTALL=1 to enable; _trusted_agent_dir() checks ownership/permission bits before running pip (⚠️ breaking: default changed) | 1903 | --- diff --git a/SPRINTS.md b/SPRINTS.md index 02cb3e3..118cdff 100644 --- a/SPRINTS.md +++ b/SPRINTS.md @@ -1,10 +1,9 @@ # Hermes Web UI -- Forward Sprint Plan -> Current state: v0.50.21 | 961 tests | Full daily driver — CLI parity achieved +> Current state: v0.50.156 | 1903 tests | Full daily driver — CLI parity achieved > -> NOTE: Most planned work in this document has now shipped. This file is preserved -> as a historical planning record. Current sprint state and version history live -> in CHANGELOG.md and ROADMAP.md. +> NOTE: This file is preserved as a historical planning record. Current sprint state +> and version history live in CHANGELOG.md and ROADMAP.md. > > Target A (CLI parity): ✅ Complete — all core tools, workspace, cron, skills, > memory, sessions, profiles, model routing, streaming, voice, mobile.