Skip to content

Reject ambiguous registrations before polling - #110

Merged
rmcdaniel merged 2 commits into
mainfrom
fix/105-registration-ambiguity-20261010
Oct 10, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
fix/105-registration-ambiguity-20261010

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Change

Reject duplicate workflow and activity wire names in the production Worker before contacting Server. Reject conflicting signal, query, update and validator names at class decoration. DuplicateRegistrationError is a public SDK error with the kind, wire name and both definitions.

Python method resolution stays explicit: overriding the same attribute is valid, while different resolved attributes cannot claim the same name within one handler kind. Worker, Replayer and test-environment admission independently apply the same resolved-handler validation, including programmatically defined classes. Names are scoped to each Worker/Replayer and each handler kind. The workflow test environment rejects replacement by a different class and keeps same-class registration idempotent for automatic execution. Explicit activity mock setters still allow replacement.

Refs #105. Prepares routine SDK 2.5.4 with unchanged wire protocol and supported Server floor. Publication and issue closure follow exact main, registry and ordinary consumer qualification.

Verification

  • Initial controls:14 fail against the unchanged baseline,9 existing behavior controls pass. The complete new set passes36 cases after repair, including12 programmatic-class admission controls.
  • Worker, registration and official replay corpus suite:312 passed,2 explicit skips. Type checking passes32 source files and lint passes.
  • A new official fixture exercises actual Worker admission before replay of a committed activity history. It fails against a fresh PyPI2.5.3 installation and passes against the repair. The installed baseline Worker SHA256 matches exact tag2.5.3.
  • Full Python3.10–3.12, regression policy, package, portal and connected integration checks remain required before merge.

@rmcdaniel
rmcdaniel merged commit 86cfced into main Oct 10, 2026
13 checks passed
@rmcdaniel
rmcdaniel deleted the fix/105-registration-ambiguity-20261010 branch October 10, 2026 21:41
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.

2 participants