- Vendor ArkScope decorative layers (ScrambleTitle / IsometricWave) with provenance notes; decorative-only per AGENTS.md red lines - Migrate theme tokens to Arco, register the Arco theme, and add hook adapter composables (useMessage / useDialog / useNotification) with matching signatures - Sample pages: LoginView and AppSidebar on the new baseline; docs/arco-mapping.md and docs/ui-baseline.md land - agent-bridge: prefer the PM-selected venv from facts.json over legacy in-tree venvs (legacy lacks the mcp extra, so every MCP server showed 0 tools / not connected) - agent-bridge python (vendored, deliberate deviation): MCP discovery import fallback and pyyaml -> hermes_yaml so plugins and MCP work under the PM env; install the mcp extra via `hermes pm install --extra mcp` - Chat-chain fragment: docs/chat-chain-changes/2026-10-17-phase005-arkscope-baseline.md Verified: harness:check, test (2020 passed), test:e2e (30 passed), build all green; manual: plugins 100/0 warnings, MCP 6/6 servers connected with 104 tools.
3.0 KiB
3.0 KiB
Agent Map
This file is a short map for coding agents. Keep detailed guidance in docs/
and keep this file small enough to fit into every task context.
First Reads
DEVELOPMENT.md- project commands, coding rules, test rules, and PR shape.ARCHITECTURE.md- package boundaries, data ownership, and runtime flow.docs/harness/README.md- how this repository is prepared for agent work.docs/harness/validation.md- which checks to run for each change type.docs/harness/worktree-runbook.md- isolated local dev and test setup.docs/harness/pr-review.md- self-review checklist before pushing.
Common Commands
npm ci --ignore-scripts
npm run harness:check
npm run test
npm run test:e2e
npm run build
Use the smallest relevant check while iterating. Before a broad PR, run
npm run harness:check, npm run test:coverage, npm run test:e2e, and
npm run build.
Code Ownership Map
packages/client/src- Vue 3 client, stores, routes, i18n, API helpers.packages/server/src- Koa API, Socket.IO, persistence, Hermes integration.packages/skills- built-in skills injected into the Hermes skills directory.tests/client,tests/server,tests/shared- Vitest coverage.tests/e2e- Playwright browser coverage with mocked backend services..github/workflows- CI, release, and Docker packaging automation.
Hard Rules
- Keep routes thin: put request handling in controllers and reusable behavior in services.
- Keep Web UI state under
HERMES_WEB_UI_HOMEorHERMES_WEBUI_STATE_DIR. - Keep Hermes Agent state separate from Web UI state.
- Register local API routes before proxy catch-all routes.
- Use structured APIs and argument arrays instead of shell string construction.
- Add user-facing strings to every locale file.
- Do not mix unrelated refactors into a bug fix.
Red Lines
packages/server/src/services/hermes/agent-bridge/python/is read-only vendored code.- The
/chat-runSocket.IO event contract must not change event names, field names, field types, or emission timing. Adding optional fields is allowed. - Hermes
state.dbis read-only. Node-side code must never open it; read session history through the bridge'sgetHistory/getOutputinstead. services/hermes/group-chat/,lib/context-compressor/, andservices/hermes/context-engine/are the chat chain: changes require adocs/chat-chain-changes/<date>-<slug>.mdfragment.packages/desktopandpackages/websiteare removed; do not reintroduce them.- ArkScope vendor (
packages/client/src/vendor/arkscore/) is decorative only: login-page title, Journey graph background, first-load / empty states. Never in chat, forms, tables, or click-dense areas. Decorative layers must bepointer-events: noneand carry no information or interaction.
When The Agent Gets Stuck
Improve the harness instead of repeating the same prompt. Add missing docs, tests, logs, scripts, or CI checks so the next agent can see and verify the constraint directly.