Direction
The core model interface should remain vendor-neutral. BaseModel and ModelResponse define the runtime boundary, and OpenAICompatibleModel already covers public and self-hosted services that implement the compatible chat-completions protocol. The optional Anthropic adapter is now complete through #55 and #56.
Future core work should improve the neutral integration surface instead of adding a first-class cloud adapter for each platform. A provider-specific adapter belongs in core only when it addresses a concrete capability that cannot be expressed through an existing neutral path and has a separately scoped issue. Otherwise, provider-specific support should use the compatible endpoint, an application-defined BaseModel, or an external package.
The repository also ships optional PyRIT and Garak integrations. Future harness work should be filed as a focused gap in those implementations rather than as another broad adapter.
Current child work
No open child implementation is currently scoped. The adapter contract, callable adapter, and call-time option handling have shipped. Keep new integration requests focused on a concrete gap and scope them separately before implementation.
Completed work
Deferred work
External adapter discovery through Python entry points remains deferred. The contract and callable adapter have shipped through #59 and #60; scope discovery separately only if real usage demonstrates a need.
Contributing
This is an umbrella issue. Do not implement directly from it. Choose an open child issue labeled status: available, check its Development section for linked work, and open a draft pull request with Closes #NN once you have an initial commit. The linked draft is the signal that work has started, so no /claim comment or manual status change is needed.
Direction
The core model interface should remain vendor-neutral.
BaseModelandModelResponsedefine the runtime boundary, andOpenAICompatibleModelalready covers public and self-hosted services that implement the compatible chat-completions protocol. The optional Anthropic adapter is now complete through #55 and #56.Future core work should improve the neutral integration surface instead of adding a first-class cloud adapter for each platform. A provider-specific adapter belongs in core only when it addresses a concrete capability that cannot be expressed through an existing neutral path and has a separately scoped issue. Otherwise, provider-specific support should use the compatible endpoint, an application-defined
BaseModel, or an external package.The repository also ships optional PyRIT and Garak integrations. Future harness work should be filed as a focused gap in those implementations rather than as another broad adapter.
Current child work
No open child implementation is currently scoped. The adapter contract, callable adapter, and call-time option handling have shipped. Keep new integration requests focused on a concrete gap and scope them separately before implementation.
Completed work
CallableModelfor synchronous or asynchronous custom inference functions without a provider dependency.Deferred work
External adapter discovery through Python entry points remains deferred. The contract and callable adapter have shipped through #59 and #60; scope discovery separately only if real usage demonstrates a need.
Contributing
This is an umbrella issue. Do not implement directly from it. Choose an open child issue labeled
status: available, check its Development section for linked work, and open a draft pull request withCloses #NNonce you have an initial commit. The linked draft is the signal that work has started, so no/claimcomment or manual status change is needed.