fix: consolidate verified workspace issue sweep (#432)

* fix(start): use server-entry wrapper for production

* fix(swarm): reconcile oneshot checkpoints and ignore phantom blockers

* fix(profiles): sync editable descriptions from profile config

* fix: show cron jobs across Hermes profiles

* fix(capabilities): clarify dashboard-backed API detection

* feat: make Conductor use native Swarm fallback

Treat Workspace-native Swarm as the official Conductor fallback when the dashboard mission API is unavailable. Preserve dashboard-first dispatch, native status/cancel handling, provider-neutral setup docs, and regression coverage for gateway capability detection, swarm health, roster/profile handling, and native Conductor responses.

* fix(usage-meter): reposition menu trigger for better alignment

- Adjusted the position of the menu trigger in the usage meter component to enhance layout consistency and user experience.

fix(chat-panel): adjust position of chat panel toggle button

- Updated the positioning of the chat panel toggle button to improve visibility and accessibility by changing its bottom and right offsets.

* fix(stt): wire Groq/OpenAI voice transcription into chat

* Fix Workspace Kanban loopback dashboard link

* fix(update): do not open historical release notes on startup

* fix(chat): clear stale thinking runs reliably

* fix(dashboard): trust sessions endpoint for status

* fix(settings): address review — local default, OAuth lifecycle, validation

* fix(dashboard): always scrape live session token from HTML

* fix(chat): avoid portable history replay on bound sessions

* fix(settings): remove dead smart routing controls

* fix(tasks-api): guard against HTML catch-all in probeBackend

The /api/hermes-tasks route was renamed to /api/claude-tasks in commit
efcb7d14, but the probe logic still listed the old route as a candidate.
When probed, the SPA catch-all returned a 200 HTML response instead of
a 404, so probeBackend() treated it as a valid (empty) backend and then
failed when the actual task fetch threw.

Fixes:
- probeBackend() now checks Content-Type: application/json and returns
  -1 for non-JSON responses, so future route renames degrade gracefully.
- resolveBackend() now only selects hermes if hermesCount > 0, defaulting
  to claude-tasks (the active backend post rename) when hermes is absent.

* fix(terminal): default cwd to ~ and fallback if path missing

PTY helper chdir fails when ~/.hermes is absent (common in Docker).
Default shell cwd to home; server falls back to HOME if cwd does not exist.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(settings): satisfy lint on custom providers UI

* fix(docker): add -m flag to useradd so workspace home dir is created

Without -m, the system account has no /home/workspace directory.
The auth middleware tries to write the session store at
/home/workspace/.hermes/workspace-sessions.json; mkdirSync fails with
EACCES because /home/ is root-owned (755), causing the 'Failed to
persist session store' warning and a 500 on every authenticated route.

Adding -m causes useradd to create and chown /home/workspace correctly
so the session store can be written on first login.

* fix(tasks): preserve real session links and restore task launch flow

* fix(launchd): install macOS plist from server-entry template

* fix(docker): expose dashboard API and persist workspace volumes

* fix(jobs): serialize deliver targets for cron API

* Make Hermes Workspace installable as PWA

* chore(deps): pin direct tanstack versions

* feat: align semantic Hermes swarm agents

Add semantic swarm roster metadata, profile/tool/skill docs, shared semantic worker ID validation, focused roster regression coverage, and one-shot checkpoint capture for dispatch smoke tests.

* fix(conductor): pass through sessionKeyPrefix from portable spawn result

sessionKeyPrefix was hardcoded to null in conductor-spawn.ts, breaking
async session resolution when the dashboard backend returns a prefix.
Now mirrors the sessionKey pattern and passes through the value from
the spawn result.

Co-authored-by: Hermes Agent

* feat(swarm): bridge workspace kanban to native Hermes

* fix(chat): keep portable main pinned without breaking resolved sessions

* Add Windows startup script for Hermes Workspace

Document PowerShell usage for launching and restarting gateway + workspace via WSL tmux.

Co-Authored-By: Oz <oz-agent@warp.dev>

* fix(config): name Hermes Agent in restart notice

* fix(swarm): reconcile aggregate semantic worker exports

---------

Co-authored-by: Aurora release bot <release@outsourc-e.com>
Co-authored-by: motoki takahashi <motokitakahashi@motokinoMac-mini.local>
Co-authored-by: Vicky Wonder <vicky@openclaw.ai>
Co-authored-by: Vitaliy Isikov <visikov+supagoku@gmail.com>
Co-authored-by: Hermes Agent <hermes-agent@local>
Co-authored-by: Nikolay Mohr <nikomohr96@gmail.com>
Co-authored-by: Niko Mohr <niko@friendsfromcollege.de>
Co-authored-by: wtchronos <262830926+wtchronos@users.noreply.github.com>
Co-authored-by: Dak0verflow <dakotaferris@gmail.com>
Co-authored-by: norema <mamadou.marone.19@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: daoyuan <ludaoyuan1989@gmail.com>
Co-authored-by: firemountain <firemountain@gmail.com>
Co-authored-by: RAZSOC Local <razsoc@local>
Co-authored-by: Waylon Kenning <waylonkenning@Waylons-MacBook-Pro.local>
Co-authored-by: Kublai <kublai@kublai.local>
Co-authored-by: justa <justa@local>
Co-authored-by: Oz <oz-agent@warp.dev>
This commit is contained in:
Eric
2026-05-13 22:34:42 -04:00
committed by GitHub
parent 372b18a8e4
commit cd6115b2fc
132 changed files with 9129 additions and 1701 deletions

19
agents/builder/README.md Normal file
View File

@@ -0,0 +1,19 @@
# Builder
Profile: `builder`
Wrapper: `builder:task`
Modes: task
## Tools
terminal, file, browser, web, gbrain, session_search, skills, todo
## Skills
builder-core, gstack-for-hermes, test-driven-development, systematic-debugging, github-pr-workflow, requesting-code-review, codebase-inspection
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/builder/`.

View File

@@ -0,0 +1,19 @@
# Inbox Triage
Profile: `inbox-triage`
Wrapper: `inbox:triage`
Modes: triage
## Tools
gbrain, web, file, session_search, todo, skills, terminal
## Skills
inbox-triage-core, gbrain, obsidian-markdown, gstack-for-hermes, defuddle, youtube-content
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/inbox-triage/`.

19
agents/km-agent/README.md Normal file
View File

@@ -0,0 +1,19 @@
# KM Agent
Profile: `km-agent`
Wrapper: `km:health`
Modes: health, curate
## Tools
gbrain, file, terminal, session_search, skills, todo, cronjob, web
## Skills
km-agent-core, gbrain, obsidian-markdown, obsidian-cli, obsidian-bases, json-canvas, gstack-for-hermes
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/km-agent/`.

View File

@@ -0,0 +1,19 @@
# Maintainer
Profile: `maintainer`
Wrapper: `maintainer:check`
Modes: check
## Tools
terminal, file, web, browser, gbrain, session_search, skills
## Skills
maintainer-core, github-repo-management, github-pr-workflow, github-issues, github-code-review, gbrain, gstack-for-hermes, hermes-agent
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/maintainer/`.

View File

@@ -0,0 +1,19 @@
# Ops Watch
Profile: `ops-watch`
Wrapper: `ops:health`
Modes: health
## Tools
terminal, cronjob, file, gbrain, skills, session_search, web
## Skills
ops-watch-core, gbrain, hermes-agent, systematic-debugging, webhook-subscriptions
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/ops-watch/`.

View File

@@ -0,0 +1,19 @@
# Orchestrator
Profile: `orchestrator`
Wrapper: `orchestrator:plan`
Modes: plan
## Tools
todo, kanban, delegation, terminal, file, gbrain, session_search, cronjob, skills, clarify, web
## Skills
orchestrator-core, gstack-for-hermes, gbrain, kanban-orchestrator, subagent-driven-development, writing-plans, requesting-code-review, workspace-dispatch
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/orchestrator/`.

19
agents/qa/README.md Normal file
View File

@@ -0,0 +1,19 @@
# QA
Profile: `qa`
Wrapper: `qa:smoke`
Modes: smoke
## Tools
browser, terminal, file, vision, gbrain, session_search, skills, web
## Skills
qa-core, browser-harness-power-use, dogfood, gstack-for-hermes
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/qa/`.

View File

@@ -0,0 +1,19 @@
# Researcher
Profile: `researcher`
Wrapper: `researcher:quick`
Modes: quick, autoresearch
## Tools
gbrain, web, browser, terminal, file, vision, session_search, skills, todo
## Skills
researcher-core, gbrain, autoresearch, browser-harness-power-use, gstack-for-hermes, researcher-quick, researcher-autoresearch, arxiv, youtube-content, polymarket
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/researcher/`.

19
agents/reviewer/README.md Normal file
View File

@@ -0,0 +1,19 @@
# Reviewer
Profile: `reviewer`
Wrapper: `reviewer:gate`
Modes: gate
## Tools
terminal, file, web, gbrain, session_search, skills
## Skills
reviewer-core, requesting-code-review, github-code-review, systematic-debugging, gstack-for-hermes, gbrain, codebase-inspection
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/reviewer/`.

View File

@@ -0,0 +1,19 @@
# Strategist
Profile: `strategist`
Wrapper: `strategist:review`
Modes: review
## Tools
gbrain, web, session_search, file, skills, todo, clarify
## Skills
strategist-core, gstack-for-hermes, gbrain, writing-plans, polymarket
## MCP servers
gbrain
## Plugins
none
This file mirrors `swarm.yaml` and the profile config under `~/.hermes/profiles/strategist/`.