Skip to content

chore(deps): raise amplifier-agent floor to 0.14.0 - #23

Merged
David Koleczek (DavidKoleczek) merged 1 commit into
mainfrom
chore/agent-floor-0.14.0
Aug 19, 2026
Merged

chore(deps): raise amplifier-agent floor to 0.14.0#23
David Koleczek (DavidKoleczek) merged 1 commit into
mainfrom
chore/agent-floor-0.14.0

Conversation

@DavidKoleczek

Copy link
Copy Markdown
Collaborator

Raises MIN_AGENT_VERSION from 0.12.0 to 0.14.0, following the upstream amplifier-agent 0.14.0 release (microsoft/amplifier-agent#137, tagged v0.14.0).

Why this release forces the floor

The floor is a requirement statement, not a mirror of the latest engine release, so it moves only when this tool depends on something the new engine introduced. It does here.

We drive serve for every turn, and 0.14.0 is the first engine version whose serve lifecycle is correct on Windows. Three POSIX assumptions were wrong below it. The damaging one: os.kill(pid, 0) was used as a benign liveness probe, but on Windows CPython maps CTRL_C_EVENT to GenerateConsoleCtrlEvent, and because CTRL_C_EVENT == 0, signal 0 delivers a real console Ctrl+C to the target's process group — serve status could interrupt the very server it was reporting on. Alongside that, signal.SIGKILL does not exist on Windows and raised AttributeError when escalating a stop, and start_new_session=True is a POSIX-only way to detach a restart.

0.14.0 also stops refusing to write serve.json on Windows, where the 0600/0700 permission verification could never pass against NTFS, and reads Windows-authored agent .md and credentials.json as UTF-8 with an optional BOM — previously a BOM-prefixed agent file silently spawned a sub-agent with the wrong tools, or none.

Secondary, not load-bearing for the floor: the engine gained gemini and vllm provider modules, which surface through GET /v1/models and so appear in the config we rewrite.

Cost

AGENT_PINNED_REF follows to v0.14.0, and AGENT_HARD_FLOOR tracks the minimum, so every user below 0.14.0 is force-reinstalled at launch rather than left to self-update. That is the intended behavior for a floor bump, but it is a real cost worth naming: this is not a silent upgrade.

v0.14.0 is tagged and its GitHub Release is published, so the pinned ref resolves — install.sh and amplifier-agent update install from git and resolve through the Releases API.

Verification

make check is green (ruff check + format, src/ and tests/).

The two unit test files named by the release process, tests/test_version.py and tests/test_prereqs.py, do not exist in this repo — only a stale .pyc for the former remains. Nothing under tests/ asserts on these constants; the only references in tests/e2e/suites/onboarding/ are comments, and FAKE_AGENT_VERSION is pinned to 99.0.0 specifically so that suite does not track the floor. So there is no unit-level gate on this change, and the full e2e suite (which needs a DTU and Docker) has not been run against it here.

Also updated the now-stale (0.12.0 as of this writing) parenthetical in the onboarding conftest to match.

amplifier-opencode drives `serve` for every turn, and 0.14.0 is the first
engine version whose serve lifecycle is correct on Windows. Most
consequentially, `os.kill(pid, 0)` was used as a benign liveness probe;
on Windows CPython maps CTRL_C_EVENT to GenerateConsoleCtrlEvent and
CTRL_C_EVENT == 0, so signal 0 delivered a real console Ctrl+C to the
target's process group -- `serve status` could interrupt the server it
was reporting on.

0.14.0 also stops refusing to write serve.json on Windows, where the
0600/0700 permission verification could never pass against NTFS, and
reads Windows-authored agent .md and credentials.json as UTF-8 with an
optional BOM.

AGENT_PINNED_REF follows to v0.14.0, which is tagged and released
upstream.

🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier)

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
@DavidKoleczek
David Koleczek (DavidKoleczek) merged commit a63b015 into main Aug 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant