Skip to content

v0.1.0 - first working code

Latest

Choose a tag to compare

@bettercallzaal bettercallzaal released this 24 May 01:47
544df88

PR1 scaffold landed. End-to-end orchestration loop works: task -> classify -> autonomy gate -> spawn (Hermes claude-cli) -> stream + collect events -> record outcome to Bonfire.

Tests: 15/15 pass on Node 18 / 20 / 22.

Shipped

  • HermesRunner - claude CLI subprocess with --output-format stream-json
  • BonfireMemory - episode writes with local 9-pattern secret-scan
  • hermesBugFix - first PatternAdapter (keyword-matched)
  • Autonomy gate - 3-tier (AUTO / CONFIRM / REFUSE) with default policy
  • Async semaphore for concurrency cap

Quick start

import { orchestrate, HermesRunner, BonfireMemory, hermesBugFix } from 'hermes-orchestrator'

const outcome = await orchestrate('fix the type error in src/foo.ts', {
  runner: new HermesRunner(),
  memory: new BonfireMemory({ bonfireId: '...', apiKey: '...' }),
  patterns: [hermesBugFix],
  costCap: 2.0,
})

Known limits (lifted in v0.2.0+)

  • No supervisor watching (PR2 / v0.2.0)
  • No mid-run interventions (PR3 / v0.3.0)
  • Memory.retrieve returns [] until Bonfire admin labeling unlocks (no code change needed)

Install (pre-npm-publish)

npm install git+https://github.com/bettercallzaal/hermes-orchestrator.git#v0.1.0

See the README for the full roadmap.