← Documentation indexdocs/superpowers/plans/2026-10-12-v3-issue-229.md

V3 Issue #229 — Native Provider Tools Implementation Plan

Issue-specific plan for #229, covering R003 and R005. Start from verified main be3d035; finish and review before #230.

Goal: Add schema-backed native tool requests and lossless tool-result history across every shipped provider adapter, without textual control parsing or adapter-side execution.

Architecture: Keep shared call/reply/history validation in openkyrozen/providers/models.py; adapter serialization in each provider module; registry selection in the existing runtime provider boundary in openkyrozen/providers/calls.py. Preserve fallback, deadlines, retry budgets, usage accounting, and existing text APIs. Continuation state stays SDK-independent and bound to the provider/model that produced it.

Tech Stack: Python 3.12–3.13, existing provider SDKs, standard library, unittest, local HTTP/SDK-shape fixtures.

Constraints and compatibility

Review focus

Task 1: Shared conversation and continuation contracts

Files: openkyrozen/providers/models.py, openkyrozen/providers/__init__.py, tests/test_provider_contracts.py

Task 2: Provider API, fallback pinning, and runtime catalog selection

Files: openkyrozen/providers/base.py, openkyrozen/providers/fallback.py, openkyrozen/providers/calls.py, runtime provider tests

Task 3: Native serialization for provider adapter families

Files: openkyrozen/providers/openai.py, azure.py, anthropic.py, google.py, bedrock.py, ollama.py, perplexity.py, adapter fixtures

Task 4: Documentation, regression review, and delivery

Files: docs/providers.md, provider contract tests, related issue #225 regression