docs: v0.31 — update all markdown for Sprint 24 features
README: added rAF-throttled streaming, context usage indicator, git detection badge, collapsible date groups. Updated architecture line counts to current values. ROADMAP: v0.29 -> v0.31, marked streaming perf, git detection, collapsible groups, and context indicator as done (Sprint 24). SPRINTS: v0.30.1 -> v0.31 in header and footer. CHANGELOG: footer updated to v0.31. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1098,4 +1098,4 @@ Three-panel layout: sessions sidebar, chat area, workspace panel.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Last updated: v0.30.1, April 4, 2026 | Tests: 424*
|
*Last updated: v0.31, April 4, 2026 | Tests: 424*
|
||||||
|
|||||||
33
README.md
33
README.md
@@ -262,6 +262,8 @@ across 22 test files.
|
|||||||
- Code block copy button with "Copied!" feedback
|
- Code block copy button with "Copied!" feedback
|
||||||
- Syntax highlighting via Prism.js (Python, JS, bash, JSON, SQL, and more)
|
- Syntax highlighting via Prism.js (Python, JS, bash, JSON, SQL, and more)
|
||||||
- Safe HTML rendering in AI responses (bold, italic, code converted to markdown)
|
- Safe HTML rendering in AI responses (bold, italic, code converted to markdown)
|
||||||
|
- rAF-throttled token streaming for smoother rendering during long responses
|
||||||
|
- Context usage indicator in composer footer -- token count, cost, and fill bar (model-aware)
|
||||||
|
|
||||||
### Sessions
|
### Sessions
|
||||||
- Create, rename, duplicate, delete, search by title and message content
|
- Create, rename, duplicate, delete, search by title and message content
|
||||||
@@ -269,7 +271,7 @@ across 22 test files.
|
|||||||
- Archive sessions (hide without deleting, toggle to show)
|
- Archive sessions (hide without deleting, toggle to show)
|
||||||
- Session projects -- named groups with colors for organizing sessions
|
- Session projects -- named groups with colors for organizing sessions
|
||||||
- Session tags -- add #tag to titles for colored chips and click-to-filter
|
- Session tags -- add #tag to titles for colored chips and click-to-filter
|
||||||
- Grouped by Today / Yesterday / Earlier in the sidebar
|
- Grouped by Today / Yesterday / Earlier in the sidebar (collapsible date groups)
|
||||||
- Download as Markdown transcript, full JSON export, or import from JSON
|
- Download as Markdown transcript, full JSON export, or import from JSON
|
||||||
- Sessions persist across page reloads and SSH tunnel reconnects
|
- Sessions persist across page reloads and SSH tunnel reconnects
|
||||||
- Browser tab title reflects the active session name
|
- Browser tab title reflects the active session name
|
||||||
@@ -283,6 +285,7 @@ across 22 test files.
|
|||||||
- Edit, create, delete, and rename files; create folders
|
- Edit, create, delete, and rename files; create folders
|
||||||
- Binary file download (auto-detected from server)
|
- Binary file download (auto-detected from server)
|
||||||
- File preview auto-closes on directory navigation (with unsaved-edit guard)
|
- File preview auto-closes on directory navigation (with unsaved-edit guard)
|
||||||
|
- Git detection -- branch name and dirty file count badge in workspace header
|
||||||
- Right panel is drag-resizable
|
- Right panel is drag-resizable
|
||||||
- Syntax highlighted code preview (Prism.js)
|
- Syntax highlighted code preview (Prism.js)
|
||||||
|
|
||||||
@@ -347,26 +350,26 @@ across 22 test files.
|
|||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
server.py HTTP routing shell + auth middleware (~81 lines)
|
server.py HTTP routing shell + auth middleware (~83 lines)
|
||||||
api/
|
api/
|
||||||
auth.py Optional password authentication, signed cookies (~149 lines)
|
auth.py Optional password authentication, signed cookies (~149 lines)
|
||||||
config.py Discovery, globals, model detection, reloadable config (~702 lines)
|
config.py Discovery, globals, model detection, reloadable config (~726 lines)
|
||||||
helpers.py HTTP helpers, security headers (~71 lines)
|
helpers.py HTTP helpers, security headers (~71 lines)
|
||||||
models.py Session model + CRUD (~146 lines)
|
models.py Session model + CRUD + CLI bridge (~338 lines)
|
||||||
profiles.py Profile state management, hermes_cli wrapper (~366 lines)
|
profiles.py Profile state management, hermes_cli wrapper (~366 lines)
|
||||||
routes.py All GET + POST route handlers (~1180 lines)
|
routes.py All GET + POST route handlers (~1314 lines)
|
||||||
streaming.py SSE engine, run_agent, cancel support (~272 lines)
|
streaming.py SSE engine, run_agent, cancel support (~332 lines)
|
||||||
upload.py Multipart parser, file upload handler (~78 lines)
|
upload.py Multipart parser, file upload handler (~78 lines)
|
||||||
workspace.py File ops, workspace helpers (~245 lines)
|
workspace.py File ops, workspace helpers, git detection (~288 lines)
|
||||||
static/
|
static/
|
||||||
index.html HTML template (~364 lines)
|
index.html HTML template (~388 lines)
|
||||||
style.css All CSS incl. mobile responsive (~670 lines)
|
style.css All CSS incl. mobile responsive (~726 lines)
|
||||||
ui.js DOM helpers, renderMd, tool cards, file tree (~1002 lines)
|
ui.js DOM helpers, renderMd, tool cards, context indicator (~1063 lines)
|
||||||
workspace.js File preview, file ops (~191 lines)
|
workspace.js File preview, file ops, git badge (~247 lines)
|
||||||
sessions.js Session CRUD, list rendering, search (~556 lines)
|
sessions.js Session CRUD, collapsible groups, search (~589 lines)
|
||||||
messages.js send(), SSE handlers, approval, transcript (~337 lines)
|
messages.js send(), SSE handlers, rAF throttle (~352 lines)
|
||||||
panels.js Cron, skills, memory, profiles, settings (~1030 lines)
|
panels.js Cron, skills, memory, profiles, settings (~1146 lines)
|
||||||
commands.js Slash command autocomplete (~156 lines)
|
commands.js Slash command autocomplete (~170 lines)
|
||||||
boot.js Mobile nav, voice input, boot IIFE (~338 lines)
|
boot.js Mobile nav, voice input, boot IIFE (~338 lines)
|
||||||
tests/
|
tests/
|
||||||
conftest.py Isolated test server (port 8788)
|
conftest.py Isolated test server (port 8788)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
> Goal: Full 1:1 parity with the Hermes CLI experience via a clean dark web UI.
|
> 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.
|
> Everything you can do from the CLI terminal, you can do from this UI.
|
||||||
>
|
>
|
||||||
> Last updated: v0.29 (April 4, 2026)
|
> Last updated: v0.31 (April 4, 2026)
|
||||||
> Tests: 424 total (401 passing, 23 pre-existing failures)
|
> Tests: 424 total (401 passing, 23 pre-existing failures)
|
||||||
> Source: <repo>/
|
> Source: <repo>/
|
||||||
|
|
||||||
@@ -194,9 +194,10 @@
|
|||||||
### Advanced / Future
|
### Advanced / Future
|
||||||
- [ ] Subagent session tree -- show subagent hierarchy in sidebar with expand/collapse (PR #75)
|
- [ ] Subagent session tree -- show subagent hierarchy in sidebar with expand/collapse (PR #75)
|
||||||
- [ ] Specialized tool card renderers -- diff viewer, terminal output, todo checklist views (PR #75)
|
- [ ] Specialized tool card renderers -- diff viewer, terminal output, todo checklist views (PR #75)
|
||||||
- [ ] Streaming performance -- requestAnimationFrame throttled token rendering for smoother output (PR #75)
|
- [x] Streaming performance -- rAF-throttled token rendering (Sprint 24, PR #81)
|
||||||
- [ ] Git integration modal -- branch, status, log, diff viewer in workspace panel (PR #75)
|
- [x] Workspace git detection -- branch name and dirty status badge (Sprint 24, PR #82)
|
||||||
- [ ] Collapsible date groups -- click Today/Yesterday/Earlier headers to collapse session groups (PR #75)
|
- [x] Collapsible date groups -- click group headers to collapse (Sprint 24, PR #80)
|
||||||
|
- [x] Context usage indicator -- token count and cost in composer footer (Sprint 24, PR #83)
|
||||||
- [ ] LLM-generated session titles -- auto-title via small model instead of first-message substring (PR #75)
|
- [ ] LLM-generated session titles -- auto-title via small model instead of first-message substring (PR #75)
|
||||||
- [ ] Workspace git detection -- show branch name, dirty status in workspace header (PR #75)
|
- [ ] Workspace git detection -- show branch name, dirty status in workspace header (PR #75)
|
||||||
- [ ] Clarify dialog -- agent can ask clarifying questions that block until user responds (PR #75)
|
- [ ] Clarify dialog -- agent can ask clarifying questions that block until user responds (PR #75)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Hermes Web UI -- Forward Sprint Plan
|
# Hermes Web UI -- Forward Sprint Plan
|
||||||
|
|
||||||
> Current state: v0.30.1 | 424 tests | Daily driver ready
|
> Current state: v0.31 | 424 tests | Daily driver ready
|
||||||
> This document plans the path from here to two targets:
|
> This document plans the path from here to two targets:
|
||||||
>
|
>
|
||||||
> Target A: 1:1 feature parity with the Hermes CLI (everything you can do from the
|
> Target A: 1:1 feature parity with the Hermes CLI (everything you can do from the
|
||||||
@@ -898,5 +898,5 @@ genuinely differentiating for an open-source project
|
|||||||
---
|
---
|
||||||
|
|
||||||
*Last updated: April 4, 2026*
|
*Last updated: April 4, 2026*
|
||||||
*Current version: v0.30.1 | 424 tests*
|
*Current version: v0.31 | 424 tests*
|
||||||
*Next sprint: Sprint 24 (Web Polish + Bug Fix Pass)*
|
*Next sprint: Sprint 24 (Web Polish + Bug Fix Pass)*
|
||||||
|
|||||||
Reference in New Issue
Block a user