# hal0 — Hermes-Agent runtime requirements.
#
# The hal0 bootstrap creates a managed venv at /var/lib/hal0/venvs/hermes/
# and installs from this file. `hal0 agent upgrade hermes` installs only a
# deliberately reviewed commit, runs `hermes config migrate` to reconcile the
# config schema, and reprovisions.
#
# Compatibility posture: pin the reviewed official v2026.7.7.2 release commit
# so provider, memory, and voice plugin contracts cannot drift underneath the
# bundled hal0 adapters. Lift this pin only through the compatibility review.
#
# The `web` extra pulls fastapi + uvicorn[standard], which the hal0 agent
# unit needs: it runs `hermes serve` in web/dashboard mode (HERMES_WEB_DIST
# + HERMES_DASHBOARD_TUI in the unit drop-in). Without it the unit
# crash-loops on `No module named 'fastapi'`.
#
# The `mcp` extra pulls the MCP client (`mcp==...`), which upstream gates
# behind this extra. Without it the venv has NO `mcp` package: both MCP
# servers hal0 provisions into config.yaml (hal0-admin, hal0-memory) are
# dead while `hermes mcp list` still prints ✓ (#2021,
# `hermes-venv-missing-mcp-extra`). The provisioning `mcp_wire` phase now
# hard-fails when the venv client cannot import/connect — do not drop this
# extra.
hermes-agent[web,mcp] @ git+https://github.com/NousResearch/hermes-agent.git@9de9c25f620ff7f1ce0fd5457d596052d5159596
