Skip to content

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

@revie999

Description

@revie999

Problem

integrations/hermes/plugin.yaml declares only 3 hooks:
hooks:

  • on_session_end
  • on_pre_compress
  • on_memory_write
    But init.py implements 6 hooks, including three critical ones never invoked without manual patching:

prefetch()

• Hook: prefetch()

• Declared?: ❌

• What it does: Injects relevant memories before each LLM call

sync_turn()

• Hook: sync_turn()

• Declared?: ❌

• What it does: Captures every conversation turn in background

on_session_end()

• Hook: on_session_end()

• Declared?: ✅

• What it does: Marks sessions complete

on_pre_compress()

• Hook: on_pre_compress()

• Declared?: ✅

• What it does: Re-injects context before compaction

on_memory_write()

• Hook: on_memory_write()

• Declared?: ✅

• What it does: Mirrors MEMORY.md writes

system_prompt_block()

• Hook: system_prompt_block()

• Declared?: ❌

• What it does: Injects project profile at session start

Without sync_turn, auto-capture is silently disabled. Without prefetch, no context injection at session start.

Suggested Fix

Update plugin.yaml to declare all 6 hooks:
hooks:

  • prefetch
  • sync_turn
  • on_session_end
  • on_pre_compress
  • on_memory_write
  • system_prompt_block

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions