v0.4.0
v0.4.0 (2026-03-22)
Python observe reaches stable (ship criteria P>=98%, R>=90%), new default output format, and route extraction for 4 frameworks.
Features
- Python observe stable: Ship criteria achieved (P=98.2%, R=96.8% on httpx). L1 prefix stripping, L2 barrel import resolution, assertion-referenced import filter, test helper exclusion, and non-SUT helper filtering (mock/version/types).
ai-promptdefault output: New--format ai-promptoutput with actionable fix guidance, now the default format.- Route extraction: NestJS decorators, FastAPI route decorators, Next.js App Router
route.ts, Django URL conf patterns. - Python observe L2 improvements: Barrel wildcard re-export resolution, bare
importstatement resolution, attribute-access filtering for precision, stem-only fallback with barrel suppression.
Bug Fixes
- Python observe FP reduction:
is_non_sut_helper()now excludesmock*.py,__version__.py,_types.pyfrom production file candidates. - Python
_prefix in L1:production_stem()strips leading_for filename matching. - Python
src/layout: L2 import resolution detectssrc/<package>/project structure.
Install
cargo install exspecFull changelog: https://github.com/morodomi/exspec/blob/main/CHANGELOG.md