union shares (for `Message`, a string `id`), so anything else malformed must still fail.
Tests for version-gated behavior belong behind `requires_ag_ui(' ')` in `tests/test_ag_ui.py`, never behind the module
PluginHost` instance someone
constructed. No module-level dicts, no import-time side effects. Tests build a
host and call `activate` directly.
- **Strings are keys, never payloads.** Hook names
Testing Guidelines
## Testing philosophy
The async backend defaults to asyncio. Use `uv run pytest --anyio-backend=trio --record-mode=none`
to run selected portable tests on Trio without duplicating
user asks you to review or integrate a PR or branch, you may inspect, test,
and integrate that contribution regardless of author status. Do not pull in
unrelated branches
ARM64).
## Critical Development Commands
AI agents should use these commands to build, test, and verify:
- **Build all targets:** `make build`
- **Run unit tests:** `make tests`
- **Run a specific test:** `make
into **main code** and **experimental code**.
* **Main code** should remain stable, consistent, and well-tested.
* **Experimental code** may be less stable and may contain inconsistent patterns or limited testing.
Small
creates/uses the repo `.venv`,
pins execution to Python 3.11-3.13, and installs missing dev test dependencies.
`HERMES_WEBUI_TEST_PYTHON` selects the supported base interpreter used to
create or rebuild
pnpm turbo run build --filter='web^...'`, `pnpm --filter web build`, and `pnpm --filter web test:routes`. Existing-page source and Markdown parity are covered by `apps/web/tests/fixtures/docs-baseline.json`; update fixtures only when
Repository Guidelines
## Skills
The `skills/` directory contains structured guides for common tasks (running
tests, building containers, managing dependencies, submitting SLURM jobs, etc.).
**Always read the relevant `SKILL.md` before starting
time and which then goes stale during co-development. Build harbor before installing or testing x:
```sh
cd apps/harbor && pnpm install && pnpm -r build
cd ../x && pnpm install && npm test
loop touches.
- Live execution is the highest-signal validation for orchestration code; smoke-test changes against the actual loop before declaring them safe.
- Cursor SDK is the only paid
selector on English comes
back in English. The selector is the control for that.
- **Test language behaviour by sampling, not once.** The original bug
reproduced in 2 of 5 runs
single binary: `joiner` (grant) and `garbage_collection` (revoke).
## Quick reference
```bash
# Run all unit tests (no credentials required)
go test ./...
# Build the binary
CGO_ENABLED=0 go build -trimpath -ldflags
expected of a change here — reproduce a failure before claiming one, label honestly, make tests exercise the code they cover — and what will be closed rather than reviewed.
Per-module