mergetrain 2.4.1
What changed
- Normal ready-checked enqueue now rejects copied
--base-shaor--head-shavalues when they do not exactly match the current integration ref and clean task branch. Ordinary agent handoff continues to capture both SHAs by default. - Release publishing now requires an SSH-signed annotated tag trusted by the repository's tracked allowed-signers file before artifacts are built or PyPI credentials are exposed.
- The adoption harness distinguishes launcher/setup failures from agent behavior failures and its documented macOS launcher is independent of the current worktree directory.
Evidence
- Controlled Codex trials against the 2.4.1 candidate: 3/3 safe handoffs.
- Author-external PyPA
sampleprojectpilot: task implemented and tested, one exact-SHA manual enqueue, no runner/push/cancel mutation. - Local release gate: 583 tests passed plus critical coverage checks.
- GitHub CI passed across lint, package/sdist, MCP clean-install handshake, E2E, dashboard, and Python 3.10-3.14 on macOS, Ubuntu, and Windows.
See CHANGELOG.md for the full details.