Skip to content

feat: Phase 5 design doc and pre-testing hardening - #16

Closed
loki-hermes-agent[bot] wants to merge 1 commit into
mainfrom
feat/phase5-design-and-hardening
Closed

feat: Phase 5 design doc and pre-testing hardening#16
loki-hermes-agent[bot] wants to merge 1 commit into
mainfrom
feat/phase5-design-and-hardening

Conversation

@loki-hermes-agent

Copy link
Copy Markdown

Summary

Prepares the project for functional testing on the eth-docker deployment and lays the groundwork for Phase 5.

Changes:

  1. Phase 5 Design: Created docs/runbook-synthesis.md detailing the synthesis algorithm, minimum data requirements (10+ resolved incidents), output format (runbooks/drafts/), and the mandatory human review gate.
  2. Missing Runbooks: Added runbooks/validator_duty_misses.yaml and runbooks/client_crash.yaml to provide meaningful test coverage for common failure modes.
  3. Heartbeat Metric: Added prometheus-client dependency and implemented hermes_alive Gauge in processor.py, exposed via an HTTP server on port 8091. This enables the HermesAgentSilent alert.
  4. Prometheus Alerts: Created docs/prometheus-alerts.yml containing HermesAgentSilent and WebhookReceiverDown alert rules as specified in the design docs.
  5. Docker & Entry Point: Created the root Dockerfile for hermes-agent (using uv) and added an if __name__ == "__main__": block to processor.py so it can be run directly as python -m agentic_node_ops.processor.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Testing

  • All existing tests pass (pytest -v --cov=agentic_node_ops --cov=webhook_receiver — 161 tests passed, 89% coverage)
  • Linting and formatting (ruff check & ruff format) applied and passing

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation

- Added docs/runbook-synthesis.md outlining synthesis algorithm, minimum data requirements, and human review gate.
- Created missing runbooks: validator_duty_misses.yaml and client_crash.yaml.
- Added hermes_alive heartbeat metric to processor.py using prometheus-client.
- Created docs/prometheus-alerts.yml with HermesAgentSilent and WebhookReceiverDown rules.
- Created root Dockerfile for hermes-agent and added __main__ entry point to processor.py.
@itenev

itenev commented Jun 9, 2026

Copy link
Copy Markdown
Owner

this pr will be split into atomic prs

@itenev itenev closed this Jun 9, 2026
@itenev
itenev deleted the feat/phase5-design-and-hardening branch June 9, 2026 23:17
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.

1 participant