CxODEV-1730: port StructuredErrorException + structured_error contract to master#217
Merged
Merged
Conversation
…t to master Ports the structured-error capability released on the v3 line (v3.8.0) to the v4 master line. Same behavior, no version bump — master keeps its 4.0.1 version. - StructuredErrorException(code, reason, referenceError?) - StructuredError DTO and ErrorOutput.StructuredError (omitted when null → back-compat) - StructuredErrorSerializer: OutputKey, ToOutputData (for signal senders) and tolerant TryParse (consumer side); round-trip contract test pins shape/key - both ExecutionManager and TypePollSpreadingExecutionManager populate structured_error when a StructuredErrorException is caught; plain exceptions still emit only error_message Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Minor bump for the additive structured_error capability ported from v3.8.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The v4 line is now published from master; add v4.* so a v4 tag fires the same pack/push steps. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
Ports the structured-error capability that shipped on the v3 line (v3.8.0) to the v4
masterline, on top of current master. Behavior is identical to the v3 release. Also bumps the v4 packages to4.1.0and lets the release workflow fire onv4.*tags.Why
The
structured_errortask-output contract (added under CxODEV-1730 for ROM→SOM error persistence) was released on v3.8.0. Master (v4.x) needs the same capability so it doesn't regress when consumers move to the v4 packages.Changes
Structured-error capability
StructuredErrorException(code, reason, referenceError?)— thrown by workers to attach a sanitized, stable classification to a failed task's output.StructuredErrorDTO +ErrorOutput.StructuredError(omitted when null → backward-compatible).StructuredErrorSerializer— defines thestructured_erroroutput key + shape,ToOutputData(for signal senders with no exception to catch), and tolerantTryParse(consumer side). Round-trip contract test pins the key/shape.ExecutionManagerandTypePollSpreadingExecutionManagerpopulatestructured_errorwhen aStructuredErrorExceptionis caught; plain exceptions still emit onlyerror_message.Versioning & release
4.0.1 → 4.1.0(Client, Engine, Patterns, KafkaCancellationNotifier, Toolkit) — minor bump for the additive feature.release.ymlnow triggers on bothv3.*andv4.*tags (wasv3.*only), so av4.1.0tag publishes the v4 line.Port notes
91291aa+ cleanup22b7b6d); the v3 csproj version bumps (3.7.3→3.8.0) were deliberately excluded — master is versioned independently (now4.1.0).Tests
ConductorSharp.Engine.Tests— 55 passed (includes the portedStructuredErrorTestsround-trip/contract cases). Solution builds clean.🤖 Generated with Claude Code