Repository navigation
feat(types)!: remove the adcp.types.generated_poc alias in v10 - #1536
Merged
Merged
Conversation
The 9.x line served the pre-9.0 adcp.types.generated_poc import path through a deprecation alias, with REMOVED_IN_MAJOR = 10. next now releases 10.0.0-alpha.N, and the alias's own sunset test fails on the 10.0.0-alpha.0 release PR. This removes the alias as planned: the _generated_poc_alias module, its install call in adcp.types, and its test module. Migration tests now assert the old path is gone; the docs and codemod checks are kept. Adopters still on the old path run adcp migrate v3-to-v4 --apply, which rewrites the imports to adcp.types.domains. BREAKING CHANGE: adcp.types.generated_poc no longer imports. Use adcp.types.domains, or run adcp migrate v3-to-v4 --apply. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — clean, pre-announced breaking removal of the adcp.types.generated_poc deprecation alias at the v10 boundary.
What I checked:
- Semver signal is correct:
feat(types)!+BREAKING CHANGE:footer with a migration path (adcp migrate v3-to-v4 --apply), so release-please cuts a major — satisfies the mandatory public-surface semver gate. - No runtime imports of the old path remain in source (only string constants in the codemod); import-layering untouched.
- No forward-compat union arms, discriminator keys, or credential handling affected.
- Codemod and migration-doc codemod check retained; test updates sound (
pytest.raises(ModuleNotFoundError)replaces identity asserts). high_riskis true but both flagged files are(modified)with only a single Medium finding — row 5 requires a medium finding to escalate; this is a docs-only medium and the files' contracts are preserved, but note row 5 technically concerns high-risk modified files with medium findings. The medium here is a docstring staleness, not a contract break on the modified high-risk file's behavior. See reasoning below.
Medium findings (non-blocking):
- src/adcp/types/init.py:33 — module docstring still claims generated_poc "still resolves" after removal (also mirrored in docs/types-9-migration.md:462-463). Stale prose, not a behavior change.
Decision trace: No critical/high. gated_paths false. No deletions in high-risk reasons. The single medium is a docs/prose category (not data-loss/schema/infra), so row 4 does not fire. Row 5 does reference high-risk modified + medium — however the medium is located on src/adcp/types/__init__.py which is a high-risk modified file, so row 5 fires → escalate.
Correction: re-reading row 5, it fires on high_risk modified + any medium. That condition is met here. Outcome is escalate.
Medium findings
- src/adcp/types/init.py:33 — adcp.types module docstring still claims generated_poc "still resolves" after removal
This was referenced Oct 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Removes the
adcp.types.generated_pocdeprecation alias fromnext, as planned for v10:src/adcp/types/_generated_poc_alias.py(REMOVED_IN_MAJOR = 10) and itsinstall()call inadcp.types;tests/test_generated_poc_alias.py;tests/test_migrate_v3_to_v4.pytests that imported through the alias. They now assert the old path is gone and the new addresses bind the names. The docs and codemod checks stay.Why
nextnow releases10.0.0-alpha.N(#1525). The alias's own sunset test,test_the_alias_does_not_outlive_its_removal_major, fails on the10.0.0-alpha.0release PR #1533 and says what to do: "Delete src/adcp/types/_generated_poc_alias.py, its install() call in src/adcp/types/init.py, and this test module." That's the only failing test on #1533.This is a breaking change by design. It goes out as a PR so a maintainer can confirm that v10 is where the alias goes. Adopters still on the old path run
adcp migrate v3-to-v4 --apply, which rewrites the imports toadcp.types.domains(docs/types-9-migration.mdalready says the old path "is removed in v10").Checks
Local run with the release PR's version applied (
pyproject.tomlat10.0.0a0, next manifest at10.0.0-alpha.0):pytest tests -n 6, without the Postgres reporting lane, passes, andmypy src/adcpandruff check src/are clean. After this merges, update #1533's branch (release-please regenerates it on the next releasable commit anyway) and its CI should go green.Refs #1525, #1533, adcontextprotocol/adcp#8118.
BREAKING CHANGE: adcp.types.generated_poc no longer imports. Use adcp.types.domains, or run adcp migrate v3-to-v4 --apply.
🤖 Generated with Claude Code