Instructions file
Instructions for the-teacher/active_harness, covering claude.md, what this is, commands, build gem artifact and bump patch version, sync, and release to rubygems.
Instructions file
Instructions for the-teacher/active_harness, covering claude.md, what this is, commands, build gem artifact and bump patch version, sync, and release to rubygems.
Agent
ActiveHarness divides errors into two categories: retryable and non-retryable. Retryable errors trigger automatic retries with exponential backoff, then move to the next fallback model. Non-retryable errors abort the entire chain immediately.
Agent
All hooks are registered with on, before, after, or callback at the class or instance level.
Agent
ActiveHarness agents can transcribe audio natively via OpenAI's or OpenRouter's speech-to-text endpoints. Enable it with transcribe true and use the same model/fallback DSL as any other agent.
Agent
Every object that makes an LLM call exposes #executiontime (seconds, rounded to 3 decimal places).
Agent
ActiveHarness agents can generate images natively — no customllmbackend/RubyLLM required. Enable it with image true and use the same model/fallback DSL as any other agent.
Agent
Before every call, ActiveHarness automatically normalizes @input by stripping leading and trailing whitespace and collapsing internal whitespace sequences to a single space.
Agent
ActiveHarness automatically calculates the monetary cost of every LLM call and attaches it to the Result object.
Agent
When a model returns a transient error (TimeoutError, RateLimitError, ServerError, ProviderUnavailableError), ActiveHarness automatically retries the same model with exponential backoff before moving to the next fallback.
Agent
When a provider returns token counts, they are available on the Result object under #usage. Not all providers return usage — the value is nil for streaming calls and some free-tier models.
Agent
Right now, "is this agent going to work?" can only be answered by actually calling it. Validation is scattered and inconsistent.
Agent
ActiveHarness could let agents accept images as input alongside a text prompt — "look at this and tell me X" — reusing the model chain, hooks, retry/fallback, and systemprompt machinery that already exists for text agents.