- 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.
69 lines
3.0 KiB
Markdown
69 lines
3.0 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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_HOME` or `HERMES_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-run` Socket.IO event contract must not change event names, field names,
|
|
field types, or emission timing. Adding optional fields is allowed.
|
|
- Hermes `state.db` is read-only. Node-side code must never open it; read session
|
|
history through the bridge's `getHistory`/`getOutput` instead.
|
|
- `services/hermes/group-chat/`, `lib/context-compressor/`, and
|
|
`services/hermes/context-engine/` are the chat chain: changes require a
|
|
`docs/chat-chain-changes/<date>-<slug>.md` fragment.
|
|
- `packages/desktop` and `packages/website` are 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 be
|
|
`pointer-events: none` and 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.
|