[AAASM-4338] 🐛 (core): Add --pre/prerelease to SDK-emitted install hints#231
Conversation
All live PyPI releases are pre-release (0.0.2 yanked), so the bare pip install shown on runtime-not-found fails to resolve. Add --pre to the runtime.py and _install.py hint strings, keeping the [runtime] extra. Drop --pre once a stable release is published. Refs AAASM-4338, completes AAASM-4332.
uv refuses to resolve pre-releases without an opt-in, so 'uv add agent-assembly' fails while the SDK is pre-release only. Use --prerelease=allow and add a note mirroring the existing --pre note (drop once a stable release exists). refs AAASM-4338
The install_uv docs macro still emitted a bare 'uv add agent-assembly' while install_pip/install_pip_runtime already carry --pre. Align it so rendered docs resolve on a clean pre-release environment. refs AAASM-4338
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Claude Code review — AAASM-4338Verdict: changes-needed (one missed code-emitted install hint) CI: ✅ green — 19/19 checks passed. Scope (the 4 changed surfaces are all correct):
Gap — a third code-emitted install hint was missed: raise ConfigurationError(
f"No gateway found at {base_url} and 'aasm' is not on PATH. "
"Install it with: pip install 'agent-assembly[runtime]'" # <-- no --pre
)This is the same runtime-not-found class as the two hints you fixed, and it is user-facing (raised at runtime). A user following it verbatim on a clean env hits "No matching distribution found" while the SDK is pre-release — exactly the failure this ticket exists to close. AC step 3 ("grep-sweep for any other user-facing install instruction... fix all") is not satisfied until this line also gets Suggest: Correctly left untouched (verified by grep-sweep): Side-effects: clean. Hint-asserting tests green ( Add — Claude Code review |
Completes AAASM-4338 — the ConfigurationError raised when the aasm binary is not on PATH still suggested a bare pip install, which fails on a clean pre-release environment (all live releases are pre-release, 0.0.2 yanked). Caught in review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R7vqjjo5nrebYNt8WnCNbz
Claude Code review — follow-up: gap fixed on-branchThe review found a third code-emitted install hint that the original diff missed: Fixed + pushed (commit Verdict: now approve-ready (CI was already green 19/19; this was a scope-completeness gap, not a CI break). Historical/pinned lines (RUNBOOK, verification-reports, |
|



Description
Completes AAASM-4332. That ticket added
--preto the README/docspip installcommands, but three residual install surfaces still emitted the broken bare command.
Because every live PyPI release of
agent-assemblyis a pre-release (and 0.0.2 isyanked), any install that does not opt into pre-releases fails with
"No matching distribution found". This PR fixes the remaining surfaces:
agent_assembly/runtime.py,agent_assembly/_install.py) — the runtime-not-found error strings now saypip install --pre agent-assembly[runtime]. A user following the SDK's own errormessage now gets a command that resolves.
uv add(README) —uvrefuses pre-releases without an opt-in, souv add agent-assemblyfailed while the SDK is pre-release only. Changed touv add --prerelease=allow agent-assemblywith a note mirroring the existing--prenote (drop the flag once a stable release exists).install_uvdocs macro (docs_macros.py) — still emitted a bareuv add agent-assemblywhileinstall_pip/install_pip_runtimealready carried--pre; aligned it.Grep-sweep (
pip install agent-assembly/uv add agent-assemblyacrossagent_assembly/,README.md,docs/, plus a broaderuv addsweep):runtime.py,_install.py,README.mduv line,docs_macros.pyinstall_uv.docs/release/RUNBOOK.mdpinned historicalpip install agent-assembly==0.0.1a8.post1(a pin, resolves fine); allpip install --pre …lines already fixed by AAASM-4332;pip install agent-framework(different package);
pip install -e ./git+https://…(not version-resolved installs).uv flag verified via
uv add --help→--prerelease=allow(possible values:disallow, allow, if-necessary, explicit, if-necessary-or-explicit).
Type of Change
Breaking Changes
Related Issues
Testing
test/unit/test_runtime.pyasserts"pip install" in <hint>, which still holds; hint-string content is not otherwiseasserted)
Validation:
uv sync;ruff checkon changed files clean;pytest -k "install or macro or runtime"→ 86 passed, 10 skipped.
Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_01R7vqjjo5nrebYNt8WnCNbz