Skip to content

Adding an Integration ​

This page is a preview

The AI dispatch / integration layer hasn't been built yet. This page describes the planned architecture and how you'll be able to add new integrations.

The Plan ​

autosolve will have an executor layer that launches external AI tools when rules match. An integration is a concrete executor — ra-aid, Ollama, a custom script, etc.

What an Integration Will Look Like ​

Based on the current architecture patterns, an integration will likely:

  1. Implement an Executor interface
  2. Receive issue/PR context and produce a result
  3. Be registered in DI like workers and preflights
go
// Hypothetical — not implemented yet
type Executor interface {
    Execute(ctx context.Context, task Task) (Result, error)
}

How You Can Help Now ​

The integration layer is in the design phase. If you have ideas or want to help shape it:

  • Open an issue with your use case — what AI tool, what triggers, what output format
  • Check the Ideas & Wishlist — the Rule Engine and Multi-Agent sections are relevant
  • Read the Idea — the original vision describes the executor concept

Current Extension Points ​

While the integration layer is being designed, you can already extend autosolve by:

  • Adding a Worker — new polling or processing tasks
  • Adding infrastructure clients in internal/infrastructure/ — new API clients, storage backends
  • Adding new partition types — see Schedule Package

Conventions ​

All code follows the project's Review Guidelines. Key points for infrastructure code:

  • Concrete names — no Service, Manager, Handler
  • Rate limiting via HTTP transport (transparent to callers)
  • Error interfaces for classification (Retryable, ServicePressure, WaitHinted)
  • Tests required for pkg/ and infrastructure code

Apache 2.0 · Built in public · Contributions welcome