Skip to content

Repository files navigation

Hotfix Agent by Hermes

Hotfix Agent by Hermes turns high-signal GitHub bug issues into Hermes Agent draft pull requests without running a dedicated FireTonic orchestrator server.

MVP flow

Sentry → GitHub Issue + agent:fix → GitHub Actions dispatcher → Hermes /v1/runs
       → Hermes fixes/verifies → draft PR + issue labels/comments

What is in this repo

  • src/ — TypeScript source used by actual hotfix smoke tests.
  • tests/ — TypeScript node:test contract and smoke-test coverage.
  • .github/workflows/sentry-auto-label.yml — optional source classifier for Sentry-origin issues.
  • .github/workflows/dispatch-hermes-agent.yml — generic agent:fix dispatcher to Hermes /v1/runs.
  • templates/prompts/github_bugfix_v1.md — Hermes bugfix prompt contract.
  • scripts/ensure-labels.sh — creates/updates required GitHub issue labels.
  • docs/specs/2026-05-06-firetonic-mvp-design.md — MVP design spec.
  • docs/plans/2026-05-06-firetonic-mvp-implementation-plan.md — implementation plan.

Repository setup

  1. Configure repository variables and secrets:

    • AGENT_DISPATCH_ENABLED — repository variable. Set to true only in trusted/private deployments. Defaults to disabled when unset or any value other than true.
    • HERMES_API_URL — base URL for Hermes API Server, for example https://hermes.example.com.
    • HERMES_API_KEY — bearer token accepted by Hermes API Server.
  2. Create labels:

    ./scripts/ensure-labels.sh owner/repo
  3. Configure Sentry GitHub issue alerts to include useful issue body context:

    • Sentry issue URL
    • error message
    • top stacktrace frames
    • environment
    • release or commit
    • event count or user impact
  4. Add agent:fix to an issue to dispatch Hermes.

Local verification

npm ci
npm test

CI runs the same TypeScript verification path plus bash -n scripts/ensure-labels.sh.

Retry

Retries are label-based. Remove stale status labels and re-add agent:fix:

remove agent:running / agent:failed / agent:done if applicable
remove agent:fix if already present
add agent:fix

Safety defaults

  • Public/demo mode keeps AGENT_DISPATCH_ENABLED=false; agent:fix labels are acknowledged and removed without calling Hermes.
  • Hermes PRs are always draft PRs.
  • FireTonic MVP does not pass Sentry API credentials to Hermes.
  • Actions only dispatches and records the run id; it does not poll long-running jobs.

About

No-server GitHub issue to Hermes Agent draft PR automation

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages