v0.17.5
v0.17.5
First release published to real PyPI. Every workspace package now ships as a proper wheel/sdist with real PyPI Requires-Dist metadata (hatchling strips the workspace path pins at build time), gated behind a manual-approval environment before publish.
Fix: tool_search's own hit message contradicted its own description. The tool's description correctly told the model a hit becomes callable starting its NEXT reply, but the text returned immediately after a hit said the tool was "now available to call" — a direct contradiction read mid-round, before any caller has had a chance to compose the hit into its bound tool set. This drove a calling model to immediately retry the newly-found tool in the same round and bounce off "No such tool available" (found live, metallm prod conversation 019f6cf5-073a-7b50-bd44-721efb0c7b90).
create_tool_search_tool(packages/agent/tools/src/threetears/agent/tools/relevance.py). No caller can make a tool available before the next round boundary — that's a hard architectural floor (a model completion already in flight is committed to whatever tool schema it was sent with), not something any caller can work around. This is a wording fix only: the hit-message return string now matches the description instead of promising immediacy no caller can deliver.
Docs: codified the never-squash-merge convention directly in CLAUDE.md. The merge_commit-only convention was already followed in practice, but was never written down anywhere read at session start; a squash merge earlier in this cycle silently diverged main's file content from a source branch until it was caught and corrected. Added an explicit "Git / PR Workflow" section (never squash-merge, never force-push, release sequencing) so this stays a checked rule, not tribal knowledge.
Also in this release: container registry parameterization (docker-bake.hcl's REGISTRY variable replaces the hardcoded ghcr.io/pacepace namespace, defaulting to a bare aibots namespace so local builds can never accidentally push to a personal account).
Verified live: 3tears, 3tears-agent-tools, 3tears-models, and 3tears-nats all confirmed installable from pypi.org at 0.17.5 before this note was written.
Full Changelog: v0.17.4...v0.17.5