Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions MIGRATION_v3_to_v4.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,16 @@ dependencies = [

## Fix removed-type imports first — they cascade

Real-adopter feedback (salesagent v3→v4 experiment, 270 files scanned, 161
test-collection failures): consumers tend to centralize SDK imports in one
schema module, so a single broken import there crashes test collection across
the whole codebase. salesagent re-exported through `src/core/schemas/_base.py`
— **one missing `FormatCategory` import there cascaded into ~140 test failures
during pytest collect-only**, and stubbing it revealed the next ~140-test
cascade from `BrandManifest`, then the next from the `generated_poc` reach-ins.
Real-adopter feedback (salesagent v3→v4 experiment at v4.0 release): 270 files
scanned, 161 test-collection failures. These figures reflect tooling at initial
release, before subsequent alias coverage and codemod improvements; run the codemod against
your own tree to see your actual count. Consumers tend to centralize SDK imports
in one schema module, so a single broken import there crashes test collection
across the whole codebase. salesagent re-exported through
`src/core/schemas/_base.py` — **one missing `FormatCategory` import there
cascaded into ~140 test failures during pytest collect-only**, and stubbing it
revealed the next ~140-test cascade from `BrandManifest`, then the next from
the `generated_poc` reach-ins.

The codemod's static finding count understates this by 100x+. To minimize the
felt blast radius, work in this order:
Expand Down
Loading