{
  "batch": "deep-13",
  "setup": "Cloned Hermes source at fdde27e7dae174cb4ba842589e92508852b7dd9f and installed it with uv sync --locked --python 3.14. Each pinned plugin passed through tryit.py with Nous FakeLLMServer and a real AIAgent conversation; empty plans showed Hermes tool registration and scripted plans exercised calls. Plugin tools were deferred behind Hermes tool_search/tool_call, so the first model offer listed none directly.",
  "plugins": [
    {
      "pr": 153826,
      "name": "googlehome",
      "validate": "Passed all catalog checks; warnings flag private Hermes core imports and two raw Desktop bridge calls for manual review.",
      "inside": "Loaded as a platform; doctor registered five tools and two hooks. Four scripted calls ran: status clearly reported no Cast device, discovery returned an empty list, an invalid volume was rejected by Hermes schema validation, and empty speech returned a text-required error.",
      "tests": "293 passed, 1 skipped (294 total) in Python unittest; 37/37 Desktop checks passed.",
      "useful": 4,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 27,
      "rank": 5,
      "best": "The Cast platform, speech tools, and Desktop controls make a local speaker a Hermes voice endpoint, with broad mock-device and UI test coverage.",
      "worst": "A physical speaker and usable TTS backend were absent here, while private core imports and raw Desktop bridge calls leave compatibility risk.",
      "blocked": null
    },
    {
      "pr": 151135,
      "name": "wake-me-when",
      "validate": "Passed every catalog check with no warnings.",
      "inside": "Loaded; doctor registered seven tools and one hook. Five calls ran: an empty watch list, a bundled demo watch started, the active watch appeared, stop-all ended it, and an unknown watch ID returned a clear message. The scripted turn stopped the watch before an alert.",
      "tests": "115 passed, 7 skipped in an isolated test environment; an initial Hermes-environment run had shared-storage interference and was superseded by this clean run.",
      "useful": 4,
      "reliable": 4,
      "polish": 5,
      "creative": 5,
      "beyond": 5,
      "total": 28,
      "rank": 4,
      "best": "It turns a live stream into event-driven agent attention with transcript evidence, clips, catch-up, and feedback rather than a one-shot search.",
      "worst": "Continuous live capture needs external media tools and speech setup; this scripted conversation verified watch control but not a sustained real-stream alert.",
      "blocked": null
    },
    {
      "pr": 150110,
      "name": "hermes-colab",
      "validate": "Passed every catalog check with no warnings.",
      "inside": "Loaded; doctor registered eight tools and one hook. Five calls ran: doctor identified missing Google OAuth client values, runtimes gave the sign-in step, recent jobs returned an empty list, an invalid upload path was refused, and an unknown log ID returned no such run.",
      "tests": "61 passed, 5 skipped in Python pytest.",
      "useful": 3,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 26,
      "rank": 6,
      "best": "Background Colab jobs, output syncing, resume logic, and a Desktop run view connect Hermes chat to useful remote compute.",
      "worst": "The actual GPU execution and recovery path requires a user-owned Google OAuth client and account, so it could only be judged from code and local tests here.",
      "blocked": null
    },
    {
      "pr": 153596,
      "name": "sentinel-vision",
      "validate": "Passed every catalog check with no warnings.",
      "inside": "Loaded; doctor registered nine tools and a slash command. Five calls ran: source listing and setup check identified the absent display/camera and alert opt-in, rules were empty, a camera watch rule was created with a fallback compiler, and a malformed time filter returned a clear error; no frame or alert was observed.",
      "tests": "1,679 passed, 2 skipped in Python pytest.",
      "useful": 4,
      "reliable": 5,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 28,
      "rank": 2,
      "best": "Persistent visual rules, local change filtering, model-call budgets, and a Desktop pane make Hermes able to watch a real scene and report evidence.",
      "worst": "This headless run lacked a camera or display and vision model, so rule creation did not prove frame judging or alert delivery end to end.",
      "blocked": null
    },
    {
      "pr": 152481,
      "name": "argus",
      "validate": "Passed all catalog checks; a warning identifies private Hermes imports in skill-apply paths.",
      "inside": "Loaded; doctor registered five hooks, an auxiliary task, a slash command, and a CLI command, with no agent tool. Three Hermes terminal calls ran: status reported no prior plugin data, backfill completed with zero tool outcomes and skill edits, and applying an unknown proposal was refused without an accept decision.",
      "tests": "115 passed in Python pytest after installing the declared mypy test dependency.",
      "useful": 5,
      "reliable": 4,
      "polish": 5,
      "creative": 5,
      "beyond": 5,
      "total": 29,
      "rank": 1,
      "best": "Intent-based review and approval-gated skill changes improve the user’s own Hermes agent across sessions, directly matching the hackathon’s agent-improvement goal.",
      "worst": "Deriving intent and reviews can consume many model calls, and private core imports in the apply path may break on Hermes upgrades.",
      "blocked": null
    },
    {
      "pr": 153357,
      "name": "twring",
      "validate": "Passed every catalog check with no warnings.",
      "inside": "Loaded as a platform; doctor registered its adapter and CLI, with no agent tool. Three Hermes terminal calls ran: status said unlinked, linking to a non-HTTPS server failed immediately, and unlink completed cleanly. A real call could not run without the app and account.",
      "tests": "84 passed in the Hermes integration Python pytest suite.",
      "useful": 5,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 28,
      "rank": 3,
      "best": "Phone calls, shared voice and chat turns, approval cards, and scheduled-job rings make a personal Hermes agent reachable throughout the day.",
      "worst": "The main phone experience depends on a Twring app and linked account, so the live call path was not independently exercised here.",
      "blocked": null
    }
  ]
}
