0.78.0

takahirom/arbigent0.78.0Aug 19, 2026by takahirom

AI Summary

Adds Anthropic Claude as a first-class AI provider, allows `imageAssertions` at reusable call sites, and improves dependency safety by validating cycles and duplicates at load time.

Key Highlights

  • Native support for Anthropic Claude models via their own Messages API.
  • Ability to define `imageAssertions` on reusable calls for specific call-site verification.
  • Safer dependency management with validation at project load time to prevent cycles and duplicates.

New Features

  • Anthropic Claude as a first-class AI provider via `--ai-type=anthropic`.
  • imageAssertions on call-form scenarios for call-site verification.
  • Dependency validation at project load time to catch dangling, cyclic, or duplicate references.

Full Release Notes

## Anthropic as a First-Class AI Provider

Arbigent can now use **Anthropic's Claude models directly** alongside OpenAI, Gemini, and Azure OpenAI — via Anthropic's own Messages API, with image assertions and scenario generation implemented natively. Also available in the desktop UI's provider dialog, and `--anthropic-endpoint` supports Anthropic-compatible gateways.

```bash
arbigent run --ai-type=anthropic --anthropic-api-key=<KEY>
```

Huge thanks to @Alex-Vaiman for contributing this end to end — module, CLI/UI wiring, and thorough tests. 🎉

## Verify at the Call Site: `imageAssertions` on Reusable Calls

A scenario that delegates its *how* to a reusable call can now keep its own *what*:

```yaml
scenarios:
- id: open-search
  dependency: launch
  uses: open-screen        # shared navigation, defined once
  with: { screen: "Search" }
  imageAssertions:         # verification specific to this call site
  - assertionPrompt: "The search input field is shown"
```

The assertions run after the whole call finishes. Assertion prompts now also get the same `{{inputs.*}}` resolution and validation as goals.

## Safer Dependencies

Broken `dependency` references (dangling, cyclic, duplicate ids) are now rejected at load time, with every violation listed at once and the file path in the message. In the desktop UI, the dependency dropdown no longer offers choices that would create a cycle, and a project with a cycle can no longer be saved with scenarios silently missing. Under the hood, the four separate implementations of scenario resolution were unified into one resolver.

## What's Changed
* Unify scenario dependency and reusable resolution in one resolver by @takahirom in https://github.com/takahirom/arbigent/pull/405
* Validate scenario dependencies at project load time by @takahirom in https://github.com/takahirom/arbigent/pull/406
* Keep scenarios in a dependency cycle in the ordered list by @takahirom in https://github.com/takahirom/arbigent/pull/407
* Leave dependents out of the dependency menu so cycles cannot be made by @takahirom in https://github.com/takahirom/arbigent/pull/408
* Add Anthropic as a first-class AI provider by @Alex-Vaiman in https://github.com/takahirom/arbigent/pull/411
* Run CI for Anthropic provider PR (mirror of #411) by @takahirom in https://github.com/takahirom/arbigent/pull/412
* Allow imageAssertions on call-form scenarios as call-site verification by @takahirom in https://github.com/takahirom/arbigent/pull/413

## New Contributors
* @Alex-Vaiman made their first contribution in https://github.com/takahirom/arbigent/pull/411

**Full Changelog**: https://github.com/takahirom/arbigent/compare/0.77.0...0.78.0