Skip to content

v0.22.1 — verifier agent

Choose a tag to compare

@bahdcoder bahdcoder released this 30 Apr 03:38
· 12 commits to main since this release

Highlights

Verifier agent (config.verifier). Optional second LLM that judges, after every terminal-text turn, whether the main agent really finished or stopped prematurely. On needs_work + high (within max_reprompts_per_turn cap), bridge synthesizes a user-message re-prompt and resumes the same turn — the agent sees what looks like a normal user follow-up.

The verifier sees the agent's system prompt, full conversation text, and full tool I/O (head/tail-elided at 1000 chars/side). Frozen JSON-schema verdict shape (verdict, confidence, instruction) plus stable system-prompt bytes mean the verifier hits the upstream's prefix cache from call two onward. Failures (build errors, timeouts, parse failures) emit verifier_error and proceed — the verifier never blocks the agent.

Three new SSE events: verifier_started, verifier_verdict, verifier_error. Force-disable via BRIDGE_VERIFIER_DISABLED=1.

See: Verifier Agent, SSE → Verifier Events.

Changes

Added

  • Verifier agent (config.verifier) — see above.

Changed

  • VerifierProvider::OpenAI wire format normalized to "open_ai" (matching core::ProviderType::OpenAI). The serde-default "open_a_i" is rejected. Inline tests guard the rename. No impact on existing callers — the verifier is brand new in this release.

Fixed

  • artisan-test rtk filter now passes through unchanged. Laravel 13 ships laravel/pao which makes php artisan test emit single-line JSON instead of the human-readable PHPUnit summary. The previous filter stripped every line that didn't match its hardcoded Tests: / OK (...) patterns and left the agent with no test signal. The replacement filter wins precedence over artisan-zz-generic (which would otherwise truncate at 240 chars/line and mangle pao's JSON) but does no rewriting.
  • Tool-description tests (*_description_is_rich). Restored phrases that the earlier tool-description trim removed but glob and read description tests still asserted on. test-unit had been failing on every CI run since the trim landed.

Full changelog

https://github.com/usehiveloop/bridge/blob/v0.22.1/CHANGELOG.md