# hal0 — Hermes-Agent runtime requirements.
#
# The hal0 release builder (src/hal0/agents/hermes_release.py, ADR-0032) does
# NOT hand this line to pip. It reads the URL, the extras and the commit from
# it, checks the commit out of a hal0-owned git mirror, and installs it
# editable into a uv-built Python 3.14 venv under /var/lib/hal0/hermes
# (from the checkout's uv.lock when that lock serves 3.14). The commit must be
# a full sha in VETTED_HERMES_REFS. `hal0 agent upgrade hermes --to=<sha>`
# builds another vetted commit until the next `hal0 update`.
#
# Compatibility posture: pin the reviewed official v0.22.4 release commit
# (4d043038; v0.22.2 d923a5eb before it, ADR-0034 decision 8) so provider, memory, and voice plugin
# contracts cannot drift underneath the bundled hal0 adapters. Lift this pin
# only through the compatibility review: re-vendor
# tests/fixtures/hermes/contracts/ and move VETTED_HERMES_REFS and
# [tool.hal0.upstream-hermes] in pyproject.toml in the same change.
#
# From v2026.7.30 (0.19.1) upstream setup.py refuses to build a wheel or sdist
# outside its Nix build (d84e11af, NousResearch/hermes-agent#68217), so this
# line is no longer pip-installable as written; the builder's editable install
# from a checkout is the supported path. From v0.21.6 every core dependency is
# gated to Python >= 3.14, which is why the venv is built on 3.14.
#
# The `web` extra pulls fastapi + uvicorn[standard], which the hal0 agent
# unit needs: it runs `hermes dashboard` (see src/hal0/cli/agent_shim.py).
# 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@4d04303818b61bf3aa09278af48356315515965b
