1.0.3
Hermes-native wrapper orchestration layer for Hermes Agent. 303 commits since v1.0.2.
Install
curl -fsSL https://raw.githubusercontent.com/rlaope/oh-my-hermes/main/install.sh | sh
omh setupOr ask your agent:
Hey Agent, Install this >> https://github.com/rlaope/oh-my-hermes <<
Already installed?
omh update
omh doctorPinning this exact release instead of tracking main:
curl -fsSL https://raw.githubusercontent.com/rlaope/oh-my-hermes/main/install.sh | OMH_CHANNEL=stable OMH_VERSION=1.0.3 shHighlights
Discovery and naming. A /omh meta-router gateway skill routes from the live catalog, four Hermes setup-guide skills ship with routed cards, and a generated full-catalog index reference makes the workflow surface discoverable from chat. Generated skill frontmatter now carries an omh- display prefix, so hermes skills list shows omh-routing, omh-plan, omh-doctor instead of bare names that could belong to any installed skill.
Bounded deep interview. Every interview question carries a Round {n}/6 header with a clarity percentage over three fixed dimensions, and the interview stops on resolution, an explicit user stop, or the round budget. Previously it had no round counter, no clarity signal, and an inherited rule that told the runtime to keep asking whenever an answer surfaced new ambiguity.
Coding delegation. Coding route next actions split into four request-led states, named coding-agent delivery takes precedence over advisor and feedback lanes, setup asks one question with usage-time owner delegation, and an opt-in local dispatch bridge executes fan-out contracts in parallel against a deterministic merge contract.
Messenger rendering. The chat route-hint path now honors the render-profile contract — the only limited-rendering path for the Hermes platforms not named individually — and a present-but-unsafe body warns instead of passing silently.
Operator signal. Wrapper degradation reaches chat users instead of being dropped at the wrapper, progress reporting detects claim/observation mismatches rather than only exempting them, and omh doctor gained a read-only advisory lane for the costliest Hermes misconfigurations, including a plugin that is installed but disabled.
Engineering gates. A pinned Ruff static-analysis gate runs in CI, a self-checking broad-exception policy gate classifies every broad except, repeated common-rail context in generated skills was measured and cut, and prompt, capability, stdout, and status payload budgets are bounded.
Defaults. Skill-pack install defaults to a core profile with opt-in full and a reconcile path back to core. All setup and CLI output defaults to English; localization is explicit opt-in via --language or OMH_LANG. OMH worktree creation was retired in favor of native Hermes and Git tooling.
See CHANGELOG.md for the full entry.
Verification
Release gates from docs/RELEASE.md were run locally and CI passed on Python 3.11 and 3.12: full suite 1860 passed; generated-doc byte gates green; harness validate 69 harnesses / 90 skills / 0 errors; release product-readiness --version 1.0.3 ready at score 100 with 0 blocking failures; use-case readiness 100; grounded-score 50/50; routing-precision 55/55; chat-card-coverage 60/60; route-hint-alignment 180/180 with 0 mismatch; context-brief 10/10; router-fast-path 11/11; localized-chat-copy 8/8; common-request-coverage 90/90; Hermes UX quality passed.
Install paths exercised: uv build plus wheel install with installed-console-script smoke; a live install.sh install into an isolated venv; and a live omh release hermes-smoke --live --install-path setup against a throwaway Hermes profile, which completed omh setup, hermes skills list --enabled-only, and omh doctor (28/28 checks) with the nine core omh- skills enabled.
Not observed: a live smoke against a maintainer's real Hermes profile, and any live Hermes chat session selecting OMH. These gates prove local deterministic contracts and an isolated install — they do not prove chat selection, executor dispatch, or message delivery.
Known issue in this tag
omh update on the preview channel reports main -> main instead of the version it moved between, because a branch archive records the source ref and not a version. Fixed on main after this tag (#670) — running omh update again picks up the fix and subsequent updates read 1.0.3 -> ….