Skip to content

sammcf/hermes-model-discipline

Repository files navigation

model-discipline plugin

model-discipline is a Hermes plugin for bounded, verifier-first workflows.

It is designed for smaller local models that should not be trusted with broad open-ended tool access. Instead of asking the model to improvise every step, the plugin gives it a narrow action surface:

  • choose a runbook
  • start a workflow
  • execute a declared stage
  • run verification
  • route to a repair path
  • publish only when allowed

Why this exists

For weaker but faster local models, reliability often comes from reducing action-space entropy rather than increasing prompt cleverness. This plugin pushes work into:

  • deterministic scripts
  • explicit artifacts
  • explicit workflow state
  • verifier checks
  • guarded publication

Public philosophy

The plugin is intentionally limited. It is not a general automation framework. It is a disciplined runtime for runbooks that are authored ahead of time.

Toolset

Enable the plugin toolset with:

  • hermes chat --toolsets model_discipline
  • python cli.py --toolsets model_discipline

The plugin registers:

  • discipline_list_runbooks
  • discipline_get_runbook
  • discipline_start_workflow
  • discipline_status
  • discipline_execute_stage
  • discipline_verify
  • discipline_repair
  • discipline_publish

Recommended usage pattern

  1. discipline_list_runbooks
  2. discipline_get_runbook
  3. discipline_start_workflow
  4. discipline_execute_stage
  5. discipline_verify
  6. discipline_repair if needed
  7. discipline_publish only when verification is green

Included example runbooks

daily-briefing

A simple reporting-oriented runbook:

  • collect inputs
  • prioritize items
  • render briefing
  • verify
  • publish

repo-inspection-report

A simple repo-analysis runbook:

  • inventory repo files deterministically
  • render a markdown report
  • verify output

File layout

~/.hermes/plugins/model-discipline/
  __init__.py
  hooks.py
  models.py
  runtime.py
  schema.py
  storage.py
  tool_api.py
  runbooks/
  scripts/
  templates/
  fixtures/
  docs/

Runtime state is stored under:

  • ~/.hermes/model-discipline/runs/
  • ~/.hermes/model-discipline/sessions/

Extending with new runbooks

Add:

  1. a runbook YAML file under runbooks/
  2. stage/verifier scripts under scripts/<runbook-name>/
  3. optional templates under templates/<runbook-name>/
  4. optional fixtures under fixtures/<runbook-name>/

Keep runbooks sane:

  • explicit stages
  • explicit read/write paths
  • verifier-first
  • bounded params
  • guarded publish steps
  • no hidden chat-memory dependencies

Development notes

The plugin ships with self-tests under tests/. Run them from a Hermes checkout with:

  • python3 -m pytest /home/sam/.hermes/plugins/model-discipline/tests -q

About

Hermes Agent plugin: bounded runbook-driven workflows for small local models. Deterministic scripts, verifier-first discipline, guarded publication.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors