Skip to content

Preserve accepted update failure diagnostics - #101

Merged
rmcdaniel merged 1 commit into
mainfrom
fix/update-failure-diagnostics
Oct 8, 2026
Merged

rmcdaniel merged 1 commit into
mainfrom
fix/update-failure-diagnostics

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Change

Addresses #100. Map accepted handler failures to public UpdateFailed, preserving the Server's failure message, HTTP status, response and workflow/run/update/failure IDs. The exception inherits from InvalidArgument so existing catches keep working. Malformed requests, validator rejection and validator infrastructure failures retain their existing types.

Prepare patch 2.4.3. This changes client error mapping and introduces no wire, replay or codec change.

Verification

Local Python 3.12 verification passed: 295 error/client/sync tests, Ruff and mypy over all 31 source files. The new sync and async regressions separately passed without warnings. Tests cover useful message fallbacks, missing identities, explicit duplicate requests, preserved legacy catches and validation distinctions.

Source CI passed all supported Python versions, package metadata/smoke, lint, corpus policy and connected Server integration. Python 3.10 passed 2,484 tests with three skips. Python 3.11 and 3.12 each passed 2,485 with two skips. Developer portal checks and public boundary checks passed.

Reviewed exact candidate 805c33f6a37d9c318794536b709f7a1f5f6c84a6: handler failure mapping is below the existing validator/argument-specific branches, raw response is retained, and the public subtype preserves legacy catches. Only the intended eight files changed.

Publication and consumers

Published 2.4.3 from merged commit 852981dce65ccb5d1aa4a9050c5d3012cd255cf6. Publication passed exact metadata and supported install verification. Merged-main CI passed. The public errors reference exposes the new class.

Sample App #154 is merged at c3377e18b89ce83838570c81eb4d592200c330e8. Main's live published update experiment passed all nine PHP/Python/Rust directions, replacement recovery, useful failure diagnostics, original identities and failed-request deduplication. Native image qualification passed both architectures. Independent anonymous reads verified both registries and channels at sha256:704c829151389be0477de946c8cd1457193f041992776af45625f6241666aee5. Other SDKs and Server have no runtime dependency on this client-only mapper and need no release. #100 is delivered.

@rmcdaniel
rmcdaniel marked this pull request as ready for review October 8, 2026 00:40
@rmcdaniel
rmcdaniel merged commit 852981d into main Oct 8, 2026
13 checks passed
@rmcdaniel
rmcdaniel deleted the fix/update-failure-diagnostics branch October 8, 2026 00:40
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