How a tiny kernel lets everything else move
microsoft/amplifier-core is documented as "the ultra-thin kernel of the Amplifier modular AI agent system" — a tiny, stable center that rarely changes.
And "tiny" here isn't a slogan. It's a number.
The "~2,600 lines" text entered README.md at commit c9b24f0 (2025-11-09). Measured at that exact commit, amplifier_core totalled 2,664 lines — the claim was accurate.
That restraint isn't an accident. It's written down as policy.
DESIGN_PHILOSOPHY.md's principle "Small, Stable, Boring Kernel" tells the project to favor deletion over accretion in the kernel, and to keep innovation at the edges (modules).
So if the kernel keeps deleting itself — what is it actually FOR?
Which provider to call. How to orchestrate. What to log. The Amplifier kernel deliberately makes none of these decisions — and a center that holds no opinions can sound like a center that does nothing.
One rule resolves the paradox.
The principle is "Mechanism, Not Policy": the kernel provides capabilities and stable contracts, modules decide behavior. The README states the test outright.
Run that test on real features and the opinions fall out of the center.
Provider choice, orchestration strategy, and logging are all things two teams could do differently. So they live outside the kernel — in separate module repos like amplifier-module-provider-anthropic and amplifier-module-tool-bash.
Which means the center itself is… empty.
Listing amplifier_core for provider, tool, or orchestrator files returns no matches. It holds only mechanism files — coordinator, loader, session, hooks, events, interfaces, models. The emptiness is the whole point.
bundle.md says it plainly: the center stays still so the edges can move fast.
When the kernel ships mechanisms only and pushes every policy out to swappable modules, stability and change stop competing — the center can stay still precisely because the edges are free to move fast.
Mechanism, not policy. That's the pattern worth keeping.
Source repo: microsoft/amplifier-core, verified via local fork ramparte/amplifier-core (upstream git@github.com:microsoft/amplifier-core.git). License: MIT, Copyright (c) Microsoft Corporation.
Active, in production — core intentionally stable / slow-changing
Verified at HEAD: 5249084 on branch fix/preserve-append-to-last-tool-result-in-merge; 134 total commits.
Commands run:
grep -n '2,600' amplifier-core/README.md ; grep '2,600' amplifier-core/bundle.md — documented ~2,600-line figuregit log -1 -S '2,600 lines' -- README.md — claim introduced in c9b24f0 (2025-11-09, Brian Krabach)git checkout c9b24f0; find amplifier_core -name '*.py' | xargs wc -l | tail -1 — 2,664 lines at that commitsed -n '/^dependencies = \[/,/^\]/p' amplifier-core/pyproject.toml — 5 runtime dependenciesls amplifier_core/ | grep -iE 'provider|tool|orchestr' — no matches (0 implementations)head -80 amplifier-core/docs/DESIGN_PHILOSOPHY.md — "Mechanism, Not Policy"; "Favor deletion over accretion"; Ring 0 kernel framinggit shortlog -sne HEAD — contributorsGaps & qualifiers: "~2,600" is the as-documented / design-intent size (2,664 measured at commit c9b24f0). The package has since grown to 8,134 total lines at HEAD, mostly validation/testing scaffolding. README lists 4 dependencies; pyproject.toml declares 5 (adds click) — 5 used as authoritative.
Primary contributor: Brian Krabach (130 of 134 commits, ~97%).