Skip to content

feat(types)!: remove the adcp.types.generated_poc alias in v10 - #1536

Merged
bokelley merged 1 commit into
nextfrom
bokelley/1525-remove-generated-poc-alias
Oct 19, 2026
Merged

bokelley merged 1 commit into
nextfrom
bokelley/1525-remove-generated-poc-alias

Conversation

@bokelley

@bokelley bokelley commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

What

Removes the adcp.types.generated_poc deprecation alias from next, as planned for v10:

  • deletes src/adcp/types/_generated_poc_alias.py (REMOVED_IN_MAJOR = 10) and its install() call in adcp.types;
  • deletes tests/test_generated_poc_alias.py;
  • updates the two tests/test_migrate_v3_to_v4.py tests 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

next now releases 10.0.0-alpha.N (#1525). The alias's own sunset test, test_the_alias_does_not_outlive_its_removal_major, fails on the 10.0.0-alpha.0 release 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 to adcp.types.domains (docs/types-9-migration.md already says the old path "is removed in v10").

Checks

Local run with the release PR's version applied (pyproject.toml at 10.0.0a0, next manifest at 10.0.0-alpha.0): pytest tests -n 6, without the Postgres reporting lane, passes, and mypy src/adcp and ruff 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

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>

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_risk is 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

@bokelley bokelley closed this Oct 18, 2026
@bokelley bokelley reopened this Oct 18, 2026
@bokelley
bokelley merged commit 893720b into next Oct 19, 2026
76 of 77 checks passed
@bokelley
bokelley deleted the bokelley/1525-remove-generated-poc-alias branch October 19, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant