Skip to content

v2.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Sep 05:05
· 99 commits to main since this release

oh-my-hermes 2.0.1 · stable

Everything merged since 2.0.0 (2026-08-29), 118 pull requests. The grouped summary is in CHANGELOG.md; the full list is below.

Highlights

  • GPT-6 Astra onboarded with an exact-model contract, both-lane routing, and a calibration block that was measured against the block it replaced and revised on the number; the six Astra ids inherit the contract and omh coding model-contract-audit reconciles a host catalog against OMH coverage.
  • Request scoring gains an exhaustive-search signal; Claude Fable 5.1 / Mythos 5.1, GLM 5.3, and MiniMax recognized; token prices are a cited config document.
  • Revision-bound verification plans, resumable fan-out, provider-pressure admission, and a completion-integrity gate on the coding side; native cost provenance and session-scoped todos in the HUD.
  • Twenty-plus new omh-* workflows (codebase-uml, refactor-plan, inference-serving, tech-debt-audit, decision records, omh-docs, GitHub issue intake, and more).
  • The unit-test suite is sharded with a serial quarantine and exact-once aggregation; the site version badge is parity-gated and moves with the other version surfaces.
  • Fixes: plugins.enabled items level with their key are read and written correctly; two CI flakes retired.

Install

curl -fsSL https://raw.githubusercontent.com/rlaope/oh-my-hermes/main/install.sh | sh      # macOS / Linux
irm https://raw.githubusercontent.com/rlaope/oh-my-hermes/main/install.ps1 | iex           # Windows
omh setup

Hermes skill tap: hermes skills tap add rlaope/oh-my-hermes then hermes skills install rlaope/oh-my-hermes/skills/omh-routing --yes. Existing installs: omh update.

Release evidence

Check Status
Full unit suite + compileall on the bumped tree passed inside the Cut Release run (33945214557)
CI on the tagged tree's parent (94928e8): sharded suite, generated-docs byte checks, dry-run install and stable-channel smokes, capability probe, release smoke plan, readiness checklist, installed-command smoke green
Wheel built, verified immutable, attached oh_my_hermes-2.0.1-py3-none-any.whl + omh-release-evidence-2.0.1.json (33945782041)
npm publish step passed; registry propagation may lag a few minutes
Homebrew tap rlaope/tap/omh formula at 2.0.1, wheel sha256 pinned
Workflow docs, roles, capability families, ULW inventory and site regions byte-exact, checked in CI
Workflow-learning review queue not applicable, no learning contract changed
Plugin bundle omh setup unchanged in this release beyond the version surface
GitHub Pages site copy changed only by the version badge

Not observed in this release run (manual checks remain)

  • omh update on a live machine from 2.0.0, and omh release hermes-smoke --live against a real Hermes profile.
  • Every runtime claim above the plugin install is prompt-level or wrapper-observed evidence, per docs/RELEASE.md; a routed model is not proof that a provider serves it.

What's Changed

  • fix(routing): stop owner cues matching inside compound words and filenames by @sionic-khope in #1165
  • fix(routing): widen greenfield project-bootstrap reach to file requests by @sionic-khope in #1166
  • fix(routing): make the sole-owner delegation carve-out executor-neutral by @sionic-khope in #1167
  • feat(setup): external-CLI handoff recognition — install guide, setup interview, merge-process contract by @sionic-khope in #1168
  • feat(coding): single-run maestro dispatch and explicit-owner override by @sionic-khope in #1169
  • feat(coding): per-run --model/--effort on omh coding run + truthful maestro copy by @sionic-khope in #1170
  • feat(tui): Claude Code-style aligned token columns on subagent HUD rows by @sionic-khope in #1171
  • feat(coding): live mid-run token telemetry for Maestro-lane HUD rows by @sionic-khope in #1178
  • feat(benchmark): live cross-harness lane that executes what it submits by @sionic-khope in #1173
  • feat(quality): bind evidence freshness to the git tree hash by @sionic-khope in #1174
  • feat(loop): ordered stop ladder before a goal-loop tick advances by @sionic-khope in #1176
  • feat(skills): add adversarial-consensus, the pre-plan attack workflow by @sionic-khope in #1177
  • feat(fanout): cap dispatch recursion depth and per-run spawn ceiling by @sionic-khope in #1172
  • feat(fanout): classify unit retries and gate them on replay safety by @sionic-khope in #1179
  • feat(coding): operator category->model chains for the Maestro lane (category-maestro) by @sionic-khope in #1180
  • feat(verification): escalate to thorough lane on sensitive path touches by @sionic-khope in #1181
  • feat(design): scored visual verdict, default-prior awareness, and review prompts for the design lane by @sionic-khope in #1183
  • feat(skills): add llm-app-dev, the LLM feature build-discipline workflow by @sionic-khope in #1182
  • feat(setup): surface category-maestro through setup, model setup, and a guided interview by @sionic-khope in #1185
  • feat(skills): add the backend, rust, and native-debugging domain pack by @sionic-khope in #1184
  • feat(design): deterministic local design reference data behind omh design data by @sionic-khope in #1186
  • fix(tests): deflake spawn-stagger test with an injected clock by @sionic-khope in #1187
  • fix(routing): normalize Hangul trigger-token hold-backs before subtraction by @sionic-khope in #1188
  • feat(benchmark): ternary live verdicts and baseline comparison by @sionic-khope in #1189
  • feat(quality): completion-integrity gate that refuses fake completion by @sionic-khope in #1191
  • fix(coding): name where catalogless profiles route categories in category-maestro show by @sionic-khope in #1192
  • feat(routing): trigger language packs so any input language is addable by @sionic-khope in #1193
  • docs: bring README, site, installation, and agent-install surfaces current with category-maestro by @sionic-khope in #1194
  • fix(coding): spell out the sidecar's closed enums in the executor-facing prompt by @sionic-khope in #1195
  • feat(security): named strict security posture via OMH_SECURITY by @sionic-khope in #1196
  • feat(coding): resumable fanout via a terminal-state run journal by @sionic-khope in #1197
  • feat(routing): vagueness gate on heavy-mode routing by @sionic-khope in #1198
  • feat(quality): adversarial-regression rule before a guard deletion by @sionic-khope in #1200
  • feat(quality): measured instruction-density gate for skill bodies by @sionic-khope in #1201
  • feat(coding,workflows): negative-conclusive terminal statuses by @sionic-khope in #1202
  • feat(coding): deterministic request-complexity scorer feeding a model recommendation by @sionic-khope in #1203
  • feat(system): one truncation contract with spill-to-artifact back-references by @sionic-khope in #1199
  • fix(plugin_bundle): honest-unknown elapsed time in run summary by @sionic-khope in #1204
  • feat(skills): detect and suppress cross-surface duplicate content by @sionic-khope in #1205
  • feat(loop): sticky-rule re-attachment with a bounded repeat policy by @sionic-khope in #1207
  • feat(coding): preflight-block a doomed Hermes child spawn before it starts by @sionic-khope in #1206
  • feat(security): approval-tier resolver centralizes confirm/refuse decisions by @sionic-khope in #1208
  • feat(coding): prescribe capped structural search in the handoff contract by @sionic-khope in #1210
  • feat(coding): symlink shared build artifacts into fanout unit worktrees by @sionic-khope in #1209
  • feat(quality): denominator hygiene for every rate OMH reports about itself by @sionic-khope in #1212
  • feat(learning): calibrate the routing corpus against recorded decisions by @sionic-khope in #1214
  • feat(quality): budget the shared prompt for the smallest model in the fleet by @sionic-khope in #1215
  • feat(coding): foveated history layout policy on the prompting contract by @sionic-khope in #1211
  • feat(quality): classify prompt/schema overlap on the omh tool surface by @sionic-khope in #1213
  • feat(coding): classify, repair, and interview dispatch failures by @sionic-khope in #1217
  • feat(routing): GLM 5.3-generation calibration, chains, and speed-tier projection by @sionic-khope in #1216
  • feat(skills): model-optimization — the model-onboarding process as an installable skill by @sionic-khope in #1218
  • feat(skills): memory-sync interviews pick candidates, resume, and finish with an applied write by @sionic-khope in #1219
  • fix(hud): scope the plan todo to the session that declared it by @sionic-khope in #1220
  • feat(tui): selectable TUI themes with an arrow-key picker by @sionic-khope in #1221
  • feat(skins): omh theme repair for a skin the manifest can no longer prove by @sionic-khope in #1222
  • Point the language policy and the skill checklist at what the code does by @sionic-khope in #1229
  • Split the web lookup lane out of the ulw-research engine by @sionic-khope in #1227
  • ulw-research asks who the output is for, and writes the human a real briefing by @sionic-khope in #1228
  • feat(skills): ai-slop-cleaner gains a slop taxonomy, fixed pass order, and detection-first inventory by @sionic-khope in #1239
  • A sentence that reports a trigger is not asking for work by @sionic-khope in #1240
  • feat(skills): code-review gains a spec-conformance axis and a named smell baseline by @sionic-khope in #1237
  • feat(codegraph): omh codegraph uml + the codebase-uml skill — one readable picture of a repo by @sionic-khope in #1230
  • feat(skills): frontend-refactor — previewed, behavior-locked, impact-ordered UI restructuring by @sionic-khope in #1238
  • feat(skills): refactor-plan — phased, abortable execution shape for decided refactors by @sionic-khope in #1241
  • feat(skills): inference-serving — decide, deploy, and measure LLM serving as one gated process by @sionic-khope in #1243
  • docs(readme): add Discord community invite to the Be with us table by @sionic-khope in #1248
  • feat(skills): instrumentation ladder — tiered observability audits, span vocabulary, harness budgets by @sionic-khope in #1246
  • docs: skill upstream-sources registry for reconstruction provenance and update tracking by @sionic-khope in #1250
  • feat(routing): onboard Claude Fable 5.1 and Mythos 5.1 across both lanes, with 5.1-aware Claude calibration by @sionic-khope in #1253
  • feat(skills): tech-debt-audit — the severity-by-effort debt ledger with rerun reconciliation by @sionic-khope in #1254
  • feat(skills): decision records — the ADR lifecycle wired into decide and decision-recall by @sionic-khope in #1256
  • feat(setup): provider-entitlement interview reorders chains per machine and seeds the Maestro lane by @sionic-khope in #1260
  • fix(skills): repoint the boundary-crossing refactor deference at refactor-plan by @sionic-khope in #1264
  • docs(sources): candidate rows carry their issues, and agentic-eval points at its real upstream by @sionic-khope in #1265
  • feat(surfaces): copy/export manifest for the current work artifacts by @sionic-khope in #1255
  • feat(fanout): bound review dispatches per goal attempt by @sionic-khope in #1257
  • fix(routing): canonicalize ULW names across every public route-hint surface by @sionic-khope in #1258
  • feat(memory): bind project-memory review decisions to the candidate revision they read by @sionic-khope in #1259
  • feat(skills): a11y rule IDs and the auto-fixable partition by @sionic-khope in #1266
  • feat(skills): web vitals budgets — thresholds, attribution, and field-vs-lab by @sionic-khope in #1268
  • test(routing): restore the registered canonical ULW seam by @sionic-khope in #1269
  • feat(skills): self-evaluation loops — shapes, stop rules, and what a judge score is worth by @sionic-khope in #1270
  • fix(hud): the activity row's measured block sits beside its identity, and tells the truth by @sionic-khope in #1271
  • fix(cost): a zero renders only with the provenance that earns it by @sionic-khope in #1278
  • fix(cost): an unpriceable unrecorded cost is unknown, not free by @sionic-khope in #1281
  • feat(cost): token prices become a config document, not a source edit by @sionic-khope in #1284
  • build(deps-dev): bump ruff from 0.16.4 to 0.16.5 by @dependabot[bot] in #1276
  • feat(routing): refuse a dispatch that would inherit a provider which cannot serve it by @sionic-khope in #1286
  • fix(hud): drop the context dash the header could never fill by @sionic-khope in #1287
  • feat(skills): award-bar-score — the published award bar, measured instead of asserted by @sionic-khope in #1285
  • feat(cost): every shipped rate cites its source, and a user-priced figure says so by @sionic-khope in #1289
  • feat(hud): the subagent row's metric run reads in three tones and one order by @sionic-khope in #1298
  • fix(loop): a dispatch outcome only tightens, and a legacy record still recovers by @sionic-khope in #1299
  • fix(loop): an observed queue item says so, and an unresolved dispatch is reported by @sionic-khope in #1300
  • Add adaptive provider-pressure admission to fanout dispatch by @frirenai in #1302
  • feat(runtime): recover media, watch, release, and installer contracts by @sionic-khope in #1301
  • test(media): stamp the primary-handoff fixture at test time by @sionic-khope in #1308
  • feat(models): onboard GPT-6 Astra with an exact-model contract, version-aware calibration, and both-lane routing by @sionic-khope in #1307
  • feat(routing): recognize the MiniMax model family by @sionic-khope in #1311
  • feat(benchmarks): manifest-aware analysis for targeted family runs by @sionic-khope in #1312
  • feat(todo): the plan todo belongs to the session that declared it by @sionic-khope in #1309
  • Add source-first OMH Docs skill by @sionic-khope in #1316
  • test(fanout): progress waits in the admission tests outlast a slow runner by @sionic-khope in #1317
  • fix(hud): the row identity keeps its parentheses by @sionic-khope in #1318
  • feat: deliver verified coding, cost, intake, and CI workflows by @sionic-khope in #1319
  • fix(site): the landing page's hero badge carries the released version by @sionic-khope in #1320
  • test(adapters): the non-timeout scenarios get the 5-second budget the crash-descendant test already uses by @sionic-khope in #1324
  • fix(config): plugins.enabled items level with their key are read, and new items match the file's indent by @sionic-khope in #1323
  • feat(coding): add observable orchestration contracts by @sionic-khope in #1328
  • feat(models): measure the gpt-6-astra override against the block it replaced, and revise it on the number by @sionic-khope in #1331
  • test(benchmark): the delegator wrapper names the two family-arm framework tests by @sionic-khope in #1334
  • feat(routing): an exhaustive-search request reaches the standard tier on its own by @sionic-khope in #1336
  • feat(models): inherit Astra contracts and audit catalog drift by @frirenai in #1337
  • chore(release): the bump tool moves the site badge, and the 2.0.1 changelog entry by @sionic-khope in #1338
  • docs(readme): drop the Friren callout screenshot by @sionic-khope in #1339

Full Changelog: v2.0.0...v2.0.1