{
  "batch": "final-10",
  "ranking": [
    {"rank": 1, "pr": 152458, "name": "housemate", "total": 28, "why": "U4 R4 P5 C5 B5: a real platform adapter that turns old phones and laptops into room speakers for the user's own Hermes (hub-side wake word, device arbitration, timers, spoken approvals that go through Hermes's own approval card, a Desktop Rooms page), with 453 test functions and CI against real Hermes; held back only by setup weight, a stock wake word and reads of private base-class state."},
    {"rank": 2, "pr": 153714, "name": "tenure", "total": 27, "why": "U4 R4 P5 C4 B5: per-action-type revocable trust with file undo and a signed ledger that only ever adds approval prompts, finished like a product (Desktop page, dashboard tab, five locales, about 763 test functions, CI including the Hermes image); the 5,200-line heuristic shell classifier and a concept that takes effort to learn keep it from first."},
    {"rank": 3, "pr": 150644, "name": "hermes-canvas", "total": 26, "why": "U4 R4 P4 C4 B5: a Desktop plan canvas whose box status comes from hooks on real writes and check exit codes, with a mid-build veto and a finish gate that a prompt cannot do, about 206 test functions and an honest disclosure; Desktop-only and no CI."},
    {"rank": 4, "pr": 150596, "name": "ariadne", "total": 26, "why": "U3 R4 P4 C5 B5: record and offline replay of Hermes sessions through public middleware, with an upgrade check and bisect, is new for agents and is replayed in CI against three Hermes versions; its audience is plugin developers and cautious upgraders and its unit tests are thin (one file), so it sits below canvas on who would keep it installed."},
    {"rank": 5, "pr": 152691, "name": "grimoire", "total": 25, "why": "U4 R4 P5 C4 B4: locked-down DuckDB tools plus a post-reply check that every number traces to a query result and a Desktop Data page, with a CI matrix and the best documentation of the group; the tooling idea is familiar and the benchmark claims could not be verified here."},
    {"rank": 6, "pr": 153844, "name": "fine-print", "total": 25, "why": "U4 R4 P4 C5 B4: an original, measured catalogue of Hermes's own silent truncation and downscaling limits surfaced through 11 hooks with about 254 fixture tests and candid status labels; detectors are pinned to v0.23.0 strings, only 16 of 81 limits are marked verified, and its README says the cards were not delivered in Desktop 0.23.0."},
    {"rank": 7, "pr": 150800, "name": "hypnos", "total": 25, "why": "U3 R3 P4 C5 B5: trains a local LoRA overnight from the user's approvals and corrections and routes mastered turns to it through llm_execution middleware, the boldest idea here and on the user's own hardware, with 126 test functions; it needs a trainer environment and GPU or long CPU time, the MLX backend is unwritten and the screenshots are admitted mock-ups."},
    {"rank": 8, "pr": 150353, "name": "fluent", "total": 24, "why": "U4 R4 P4 C4 B4: checks the agent's terminal commands against the installed program's own help and man pages before they run, fails open, only adds approval requests and is tested on a real-command corpus; dashboard tab only, no Desktop page and no CI."},
    {"rank": 9, "pr": 153851, "name": "foreman", "total": 24, "why": "U4 R4 P4 C4 B4: a model-free gate on commit, push and pull request that reads the real diff for skipped or deleted tests, never merges for the agent, and has 384 test functions, CI and a Desktop pane; the text-matching gate is bypassable by its own admission and most screenshots are scripted previews."},
    {"rank": 10, "pr": 151887, "name": "cmi", "total": 24, "why": "U4 R3 P3 C4 B5: a zero-LLM context engine that folds old tool results into recallable stubs, a real replacement of a Hermes core slot with 354 test functions; it leans on Hermes internals and direct state.db reads, has no CI against Hermes, ships unrelated proxy and service code in the plugin folder, and its README is mostly about a Claude Code and Codex proxy."},
    {"rank": 11, "pr": 153955, "name": "shadow", "total": 24, "why": "U3 R3 P4 C4 B5: replays the user's own recent turns on a candidate model, judges blind in both orders and switches gradually through model-override middleware, with about 832 test functions and CI; it spawns a detached non-interactive Hermes child with --ignore-rules that the README does not disclose and calls a private gateway function."},
    {"rank": 12, "pr": 149640, "name": "hermes-ark", "total": 23, "why": "U4 R4 P4 C3 B4: encrypted, deduplicated, item-restorable backups of the Hermes home with a health guard written into tool results, a Desktop page and secrets read only through get_secret; backup is a familiar idea, there is no CI, and the README test count (174) exceeds the 123 test functions found."},
    {"rank": 13, "pr": 150556, "name": "hermes-ui-cards", "total": 23, "why": "U4 R4 P4 C3 B4: seventeen interactive card types rendered in Desktop and Webapp chat through the SDK with a text fallback and about 332 test functions, clean on the catalog rules; a known generative-UI pattern, no CI, and a demo-video placeholder left in the README."},
    {"rank": 14, "pr": 149738, "name": "trust-ladder", "total": 23, "why": "U4 R4 P3 C4 B4: compiles a user's correction into a verified pre-tool-call guard with rung fallback and verifier-gated done claims, with tests and TLA+ models; no UI, no CI, and the README install line still carries an owner placeholder."},
    {"rank": 15, "pr": 150840, "name": "kata", "total": 23, "why": "U3 R4 P4 C4 B4: mines recurring multi-step tool routines and, after human approval, registers each as one deterministic tool, with tests, CI and a dashboard tab; it only pays off for users with stable repeated routines and its README is over-badged with test counts that disagree (50, 61, 56 found)."},
    {"rank": 16, "pr": 153809, "name": "living-spaces", "total": 23, "why": "U4 R2 P3 C4 B5: agent-built persistent sandboxed mini-apps in a Desktop tab with a record store and about 600 test functions is an appealing new surface, but it uses private cron modules and the raw Desktop bridge, creates unattended cron turns with no approval step, and its own README says it is not a catalog-approved package."},
    {"rank": 17, "pr": 153020, "name": "breadcrumbs", "total": 23, "why": "U3 R3 P3 C4 B5: a content-addressed memory provider and context engine with zoomable recall and about 683 test functions, but a sprawling knob surface read from environment variables, a profile-cloning /island command that copies keys and skips its question when given a path, an unfocused README and a bundled Desktop file whose TypeScript source is not in the tree."},
    {"rank": 18, "pr": 152908, "name": "contract-necromancer", "total": 22, "why": "U4 R4 P3 C3 B4: runs hash-locked tests itself at the verify step and blocks edits to them, fail-closed with about 390 test functions and CI; no UI or demo, a name that suggests smart contracts, and an idea its own README places beside similar verify-gate plugins."},
    {"rank": 19, "pr": 150251, "name": "gemini-live", "total": 22, "why": "U4 R3 P4 C3 B4: full-duplex Gemini Live voice calls in Desktop that steer Hermes, with the key read through get_secret and only an ephemeral token in the browser; thin tests, no CI, private core calls, an optional shell that runs outside Hermes approvals, and its voice-picker entry needs the entrant's own patch to Hermes Desktop."},
    {"rank": 20, "pr": 152651, "name": "workroom", "total": 22, "why": "U3 R3 P4 C4 B4: links figures in Word, PowerPoint and Excel files to source cells with owner-approved releases, 31 tools, many hooks and Desktop panes, CI and about 594 test functions, but it serves a narrow Office audience, is Windows-centred, always stores chat text locally, reads the bytes of project .env files for its tripwire, and could not be registered here because its declared lxml dependency could not be installed offline."}
  ]
}
