Skip to content

fix(hermes): keep plugin hook manifest in sync#488

Open
honor2030 wants to merge 1 commit into
rohitg00:mainfrom
honor2030:fix/hermes-plugin-hooks
Open

fix(hermes): keep plugin hook manifest in sync#488
honor2030 wants to merge 1 commit into
rohitg00:mainfrom
honor2030:fix/hermes-plugin-hooks

Conversation

@honor2030
Copy link
Copy Markdown
Contributor

@honor2030 honor2030 commented May 18, 2026

Summary

  • Add the missing Hermes integration hook names to integrations/hermes/plugin.yaml.
  • Add a consistency guard that compares the manifest hook list with the exported Hermes provider lifecycle methods.

Test Plan

  • RED: npm test -- test/consistency.test.ts failed with the new manifest/provider parity test before updating plugin.yaml.
  • GREEN: npm test → 91 files / 1008 tests passed.
  • GREEN: npm run build
  • GREEN: git diff --check

Closes #478

Summary by CodeRabbit

Release Notes

  • New Features

    • Expanded Hermes integration plugin capabilities with three new hook handlers enabling system prompt blocking, request data prefetching, and conversation turn synchronization features that are now available to users.
  • Tests

    • Added comprehensive consistency tests ensuring the plugin configuration accurately reflects all advertised Hermes plugin hooks and maintains proper alignment with implementation details.

Review Change Stack

@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

@honor2030 is attempting to deploy a commit to the rohitg00's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b849a397-eec9-4ce8-974c-b8094b69e214

📥 Commits

Reviewing files that changed from the base of the PR and between 9061da5 and 0dd4973.

📒 Files selected for processing (2)
  • integrations/hermes/plugin.yaml
  • test/consistency.test.ts

📝 Walkthrough

Walkthrough

The PR updates the Hermes plugin manifest to declare three previously missing hook handlers (system_prompt_block, prefetch, sync_turn) that are already implemented in the Python module, and adds cross-file consistency tests to validate that manifest declarations match README-advertised hooks and implemented methods.

Changes

Hermes Hook Manifest and Validation

Layer / File(s) Summary
Plugin manifest hook declaration
integrations/hermes/plugin.yaml
Three missing hooks (system_prompt_block, prefetch, sync_turn) are added to the hooks list, completing the manifest to match the six hooks implemented in the Python module.
Hook consistency validation test
test/consistency.test.ts
Helper functions parse YAML hook lists and extract hook names from README and Python implementation via regex. A new Vitest assertion cross-checks that manifest hooks match README-advertised names and that every advertised hook has a corresponding implementation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Three hooks were hiding in the Python's deep woods,
Till a manifest update brought them to the books,
And tests stood guard with consistency's might,
Ensuring the hooks stay declared and right! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix(hermes): keep plugin hook manifest in sync' directly summarizes the main change: synchronizing the plugin.yaml hook list with the actual implemented hooks in the Hermes provider.
Linked Issues check ✅ Passed The PR fully addresses issue #478 by adding all three missing hooks (prefetch, sync_turn, system_prompt_block) to integrations/hermes/plugin.yaml and implementing a consistency test to prevent future misalignment.
Out of Scope Changes check ✅ Passed All changes are directly scoped to the issue: plugin.yaml updates to add missing hook declarations and a new test to enforce manifest/implementation consistency.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hermes plugin.yaml declares only 3 of 6 implemented hooks — missing prefetch, sync_turn, system_prompt_block

1 participant