{
 "batch": "deep-25",
 "setup": "Hermes cloned from github.com/NousResearch/hermes-agent (depth 1, build git fdde27e) and installed with uv sync --locked --python 3.14 per RUN.md; each plugin run with tryit.py against Nous's fake_llm_provider. Plugin tools gated by check_fn (no QEMU, no AgentLine key here) are hidden by Hermes, so those handlers were also called directly with the Hermes venv. The machine's disk filled during the first pass (each run's Hermes home ~700 MB); gemini-live was rerun cleanly, but plur1bus's heavy dependency install (lancedb, sentence-transformers/onnxruntime) failed with ENOSPC and was not retried. Tests run with the Hermes venv python + pytest.",
 "plugins": [
  {
   "pr": 153871,
   "name": "barehand",
   "validate": "passed (all checks ok, security scan safe, no warnings)",
   "inside": "loaded and enabled; doctor OK: 1 tool (barehand_machine), 1 pre_tool_call hook, plus computer_use provider, CLI, slash command, skill and prompt section. barehand_machine is hidden by its check_fn because no QEMU/VNC machine exists here, so planned calls got 'tool does not exist'; called directly: status returned a clear 'no such machine, create it with hermes barehand up' message, an unknown action returned the allowed list, snapshot_save on a stopped machine failed cleanly.",
   "tests": "729 passed, 6 failed, 7 skipped (the failures are unix-socket permission and unreachable-VNC cases that this sandbox's network proxy and socket rules affect)",
   "useful": 3,
   "reliable": 4,
   "polish": 5,
   "creative": 5,
   "beyond": 5,
   "total": 27,
   "rank": 2,
   "best": "Gives Hermes a computer_use provider over QEMU QMP/VNC with screen-text reading and destructive actions escalated to human approval, so the agent can rescue or install a machine with no OS: hardware work no prompt can do.",
   "worst": "Its audience is people with QEMU VMs or VNC consoles; nothing could be driven end to end here without QEMU, and a few transport tests fail outside the author's setup.",
   "blocked": null
  },
  {
   "pr": 153844,
   "name": "fine-print",
   "validate": "passed (all checks ok); isolation verdict in_process because ctx.post_message is used for cards",
   "inside": "loaded and enabled; doctor OK: 0 tools, 11 hooks (transform_tool_result, pre/post_llm_call, pre/post_api_request, post_compaction, ...) plus /limits command and a system-prompt sheet. A chat with read_file on a 5,000-char one-line file, terminal printing 200,000 lines, and read_file on a missing file all completed with no crash; the recorded results were cut at 1,200 chars, so its in-result notes could not be seen.",
   "tests": "495 collected: 487 passed, 8 skipped (run as README says, pytest tests); a bare pytest from the folder errors on the root __init__.py relative import",
   "useful": 4,
   "reliable": 4,
   "polish": 5,
   "creative": 5,
   "beyond": 4,
   "total": 26,
   "rank": 3,
   "best": "Makes Hermes's silent limits (truncated pages, downscaled images, dropped images, swapped search backend) visible to the user with numbers and a fix, measured on 103k real tool results, with no LLM calls and no network.",
   "worst": "It only observes and explains; the value is diagnostic and some users will find cards noisy, and running its suite needs the exact README command.",
   "blocked": null
  },
  {
   "pr": 152976,
   "name": "agentline",
   "validate": "passed (all checks ok, security scan safe); kind platform runs in-process",
   "inside": "loaded and enabled (installed its websockets dependency); doctor OK: 9 tools, 1 pre_tool_call hook, gateway platform 'agentline' and a skill. Without AGENTLINE_API_KEY its tools are hidden by check_fn (planned calls got 'tool does not exist'); called directly, status failed with 'AGENTLINE_API_KEY is not set; add your AgentLine API key to Hermes', sms to 'not-a-number' returned a clear E.164 error, the guard blocked 911 and sent a real call to the approval gate.",
   "tests": "38 passed",
   "useful": 4,
   "reliable": 4,
   "polish": 4,
   "creative": 4,
   "beyond": 5,
   "total": 26,
   "rank": 4,
   "best": "Adds a real phone line as a Hermes platform (text or call your agent, place calls, live caller questions reach Hermes) with every call, text and number purchase behind Hermes's approval gate and an allowlist.",
   "worst": "Everything runs through one commercial service (agentline.cloud, the author's listed name) with paid numbers, so nothing works without that account, and the status handler raises rather than returning an error object.",
   "blocked": null
  },
  {
   "pr": 153050,
   "name": "mandate",
   "validate": "passed with warnings: security scan 'caution' (curl|sh patterns in docs/scripts) and private core imports in bench/demo/scripts plus mandate_core/cli.py:208 cron.jobs.get_job (catalog rule 9)",
   "inside": "loaded and enabled; doctor OK: 1 tool (mandate_status), pre_tool_call and post_tool_call hooks, CLI. Chat ran 4 of 4 calls: mandate_status returned 'No Mandate job is bound to this run. Nothing is enforced.', same for an unknown job, terminal echo ran under observe mode, and a non-string job was rejected by Hermes's schema check.",
   "tests": "161 passed, 1 failed, 1 skipped (the failure asserts the Hermes version string is v0.23.0; this Hermes is a newer git build)",
   "useful": 3,
   "reliable": 4,
   "polish": 5,
   "creative": 4,
   "beyond": 4,
   "total": 24,
   "rank": 5,
   "best": "Learns a least-privilege policy for unattended cron jobs and, once a human approves it, blocks out-of-mandate tool calls inside the tool loop, backed by a recorded attack benchmark.",
   "worst": "Useful mainly to people running unattended cron jobs, and it leans on a private Hermes core import (cron.jobs) that the catalog check flags.",
   "blocked": null
  },
  {
   "pr": 150251,
   "name": "gemini-live",
   "validate": "passed (all checks ok, security scan safe, desktop surface stays inside the plugin SDK)",
   "inside": "loaded and enabled on rerun (the first pass failed only because the disk was full); doctor OK: 0 tools, 0 hooks; it adds a CLI command (hermes gemini-live doctor|models), a dashboard API and a Desktop page, none of which a chat with the scripted model can reach without a Gemini key and a browser.",
   "tests": "pytest 126 passed, 1 failed (cat /etc/os-release refused, a path-rule difference on this machine); node engine test file passed",
   "useful": 4,
   "reliable": 4,
   "polish": 5,
   "creative": 4,
   "beyond": 5,
   "total": 27,
   "rank": 1,
   "best": "Full-duplex voice calls with your own Hermes agent in Desktop and the dashboard: the key stays in Hermes's secret store, the browser gets an ephemeral token, and work is handed to real Hermes turns with their approvals.",
   "worst": "Needs a Gemini key and sends call audio and, by default, the open chat's context to Google; its opt-in run_readonly does not path-check git arguments.",
   "blocked": null
  },
  {
   "pr": 151604,
   "name": "plur1bus",
   "validate": "failed: capability probe 'import failed: No module named plur1bus_hermes' after the dependency install hit 'No space left on device' on this machine; also private core imports (plugins.memory.config_schema) flagged",
   "inside": "not loaded: enable refused (dependency install ENOSPC) and doctor reported 'Plugin registration failed: No module named plur1bus_hermes'. By reading, it registers a memory provider (memory_store, memory_recall), a settings RPC, a CLI, a dashboard API and a Desktop page.",
   "tests": "none in the catalog folder (the repository has a separate plur1bus-hermes/tests suite, not shipped with the plugin and not run)",
   "useful": 4,
   "reliable": 2,
   "polish": 3,
   "creative": 3,
   "beyond": 5,
   "total": 22,
   "rank": 6,
   "best": "A full local long-term memory provider for Hermes with semantic recall, reranking and a Desktop memory browser, with keys held in Hermes's secret scope.",
   "worst": "Its __init__.py only works once the pyproject package plur1bus_hermes and a heavy ML stack are installed, so it did not load here, and plaintext apiKey config values take priority over the secret store.",
   "blocked": null
  }
 ]
}