From bfbf98cffd7ae450140076f7d1dc9cf3c95929b1 Mon Sep 17 00:00:00 2001 From: Brian O'Kelley Date: Sun, 3 May 2026 21:41:18 -0400 Subject: [PATCH] docs(migration): note 161 figure is v4.0 worst case (#520) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Salesagent re-run against v4.3+ (after expanded aliases + smaller-cascade warning) hit 141 findings and ~36 collection errors — markedly fewer. The 161 number gets quoted as if it's still representative; this callout points adopters at what to expect on v4.3+ while preserving the worst-case framing for adopters copying salesagent's pre-v4.3 pattern. Co-Authored-By: Claude Opus 4.7 (1M context) --- MIGRATION_v3_to_v4.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MIGRATION_v3_to_v4.md b/MIGRATION_v3_to_v4.md index 7b406e56c..4fde1f5d3 100644 --- a/MIGRATION_v3_to_v4.md +++ b/MIGRATION_v3_to_v4.md @@ -56,6 +56,15 @@ the whole codebase. salesagent re-exported through `src/core/schemas/_base.py` 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 161 figure is the worst case at v4.0 release.** A salesagent +> re-run against v4.3+ (after expanded type aliases, `pending_activation` +> codemod flagger, and the smaller-blast-radius +> `_base.py`-cascade-warning landed) hit 141 codemod findings and ~36 +> collection errors — markedly less than the worst-case framing above. +> Expect the lower number on v4.3+ checkouts; the worst-case story is +> preserved here so adopters who copy salesagent's pre-v4.3 pattern know +> what to triage first. + The codemod's static finding count understates this by 100x+. To minimize the felt blast radius, work in this order: