{"repo":"NousResearch/hermes-agent","public_id":"39104","display_label":"Gateway /update broken for pip/PyPI installs","summary":"A cluster of bugs and fixes around the /update endpoint and CLI update path failing for pip-installed (PyPI/system) packages, primarily due to incorrect PROJECT_ROOT resolution and .git-based install detection rejecting non-git installs.","subsystem":"gateway","counts":{"members":11,"open_issues":3,"open_issues_distinct":3,"open_prs":2,"closed_issues":0,"merged_prs":0,"attempt_prs":8},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.15854545454545452},"fix_edges":[],"members":[{"kind":"issue","number":39104,"title":"Gateway /update fails with \"not_git_repo\" for pip (PyPI) installs","url":null,"state":"open"},{"kind":"issue","number":46406,"title":"[Bug]: System-installed hermes CLI resolves PROJECT_ROOT to Python package dir, not project dir — cascading failure when venv is unavailable","url":null,"state":"open"},{"kind":"issue","number":59850,"title":"hermes update (Windows): dependency install runs at PROJECT_ROOT (running-CLI dir), not the extracted install root → `uv pip install -e .` exit 2","url":null,"state":"open"},{"kind":"pr","number":39155,"title":"fix(gateway): remove .git check blocking /update on pip installs","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":39157,"title":"fix(gateway): detect pip installs in /update instead of bare .git check","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":39158,"title":"fix(gateway): allow update for pip installs","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#39157","number":39157},{"kind":"pr","value":"#39104","number":39104},{"kind":"pr","value":"#39157","number":39157}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":39232,"title":"fix(gateway): allow /update for pip installs (#39104)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#39157","number":39157},{"kind":"pr","value":"#39155","number":39155},{"kind":"pr","value":"#39158","number":39158},{"kind":"pr","value":"#39104","number":39104},{"kind":"pr","value":"#39104","number":39104},{"kind":"pr","value":"#54825","number":54825}],"category":"merged_via","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":46418,"title":"fix(cli): recover project root outside editable installs","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":46571,"title":"fix(cli): validate PROJECT_ROOT by walking to pyproject.toml (#46406)","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":59866,"title":"fix(cli): pass cwd to install functions to support update when PROJECT_ROOT diverges from install root","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#59850","number":59850}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":71510,"title":"fix(cli): target the managed install root in the ZIP update path","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"2071aa7ea038","number":0},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#71510","number":71510},{"kind":"pr","value":"#374151","number":374151},{"kind":"pr","value":"#59850","number":59850},{"kind":"pr","value":"#59866","number":59866},{"kind":"pr","value":"#71510","number":71510}],"category":"partial_fix","implication":"needs_llm"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}