The GitHub Copilot provider story
GitHub Copilot already serves those models. A Copilot provider is the pragmatic bridge — access to frontier models without owning LLM infrastructure.
And that bridge isn't a sketch — it shipped.
A public microsoft/amplifier-module-provider-github-copilot: a compact module backed by a large test surface, unlocking 18 models with claude-opus-4.5 as the default.
Real and working — which makes the failure that came next matter.
In one forensic session (a1a0af17), a single prompt ran away: the SDK's preToolUse deny returned an error, the LLM retried, and the loop accumulated tool calls until it spun for ~20 minutes.
One prompt. And it was captured verbatim in a regression test.
24 of 65 commit subjects begin with fix or hotfix — including a dedicated hotfix/sdk-0.1.28-permission-handler branch and a test-suite fix for SDK 0.1.28 compatibility.
Firefighting the SDK, release after release. That's what the rebuild had to end.
The rebuild introduced an SDK Driver pattern (sdk_driver.py, 616 lines) — LoopController, ToolCaptureStrategy, CircuitBreaker, and SdkEventHandler — that captures tool calls early instead of letting the SDK's internal loop spiral.
The loop is defused. But defusing one incident isn't the same as staying safe.
The tests/sdk_assumptions/ suite pins the SDK's undocumented behaviors — event ordering, deny hook, session lifecycle, tool registration — so an upstream change fails a test first. The SDK is confined to one pinned dependency.
SDK churn becomes a caught test, not a hotfix. And who did all this work?
github-copilot-sdk >= 0.1.0github-copilot-sdk>=0.1.0,<0.2.045 of 65 commits carry a Co-Authored-By: Amplifier trailer, and 41 note "Generated with Amplifier." Amplifier built and sustains its own Copilot provider.
A fragile integration became a self-maintained one. Here's the pattern.
Put the volatile SDK behind a driver and a contract test suite, and a hotfix-on-hotfix integration turns into a durable, self-maintained one — promoted to a well-known provider with zero Node.js and env-var auth (PR #9).
Beyond this one provider: driver + contract is the reusable move.
Shipped & actively sustained
Source repo: git@github.com:microsoft/amplifier-module-provider-github-copilot.git (public microsoft org). Latest commit 2026-03-03; 65 commits across all branches.
Data as of: March 3, 2026.
Commands run:
git remote -v — confirmed origin is the microsoft org (not marklicata)git log --all --pretty='%s' | grep -icE '^fix|hotfix' — 24 of 65 fix/hotfix subjectsgit log --all | grep -icE 'Co-Authored-By: Amplifier' — 45 of 65 commitshead -40 tests/integration/test_regression_305_loop.py — 305 turns / 607 tool calls / ~20 min / 303 spawnsgrep -nE 'class (LoopController|ToolCaptureStrategy|CircuitBreaker|SdkEventHandler)' amplifier_module_provider_github_copilot/sdk_driver.py ; wc -l — 616 linescat tests/sdk_assumptions/README.md — four assumption categories, baseline 2026-02-07, SDK >= 0.1.0wc -l amplifier_module_provider_github_copilot/*.py — 4,786 source lines / 11 files; grep -rn 'def test_' tests/ | wc -l — 571 test functions / 20 filesgrep DEFAULT_MODEL amplifier_module_provider_github_copilot/_constants.py — default claude-opus-4.5; commit 4a67053 — 18 models, SDK v0.1.24grep 'github-copilot-sdk' pyproject.toml — github-copilot-sdk>=0.1.0,<0.2.0git show --stat 396aefb — PR #9 well-known provider, zero Node.js, env-var auth (Brian Krabach, 2026-02-23)Primary contributors: Brian Krabach (31 commits), Marc Goodner (16), Mowri Mohan (6), HDMowri (5); Amplifier agent co-authored 45 of 65 commits.
Gaps: The 305-turn/607-tool/~20-min figures come from the regression test docstring's documented "Original Failure," not a live re-run. v1.0.1 test results (Windows 692 pass / WSL 694 pass / 95% coverage) are self-reported inside commit 4a67053. "No prior Copilot provider existed" is narrative framing; a deprecated, different-implementation predecessor did exist.