[dotnet-port-fixes] Add observability serialization parity tests - #832
Open
Michelle Clayton (michelle-clayton-work) wants to merge 1 commit into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Michelle Clayton (michelle-clayton-work)
requested a review
from a team
as a code owner
August 12, 2026 20:27
Copilot started reviewing on behalf of
Michelle Clayton (michelle-clayton-work)
August 12, 2026 20:28
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Adds regression tests to ensure observability telemetry safely falls back to a [Unserializable: %T] marker when sensitive-data serialization fails, and that workflow execution continues successfully (parity with the referenced upstream .NET fix intent).
Changes:
- Added unit coverage for
SerializedAttribute(...)fallback behavior onjson.Marshalerrors. - Added internal observability coverage ensuring executor input/output attributes use the unserializable fallback when sensitive-data serialization fails.
- Added an in-process end-to-end workflow test verifying unserializable sensitive telemetry does not break runs and records the fallback marker on relevant spans.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| workflow/internal/observability/observability_test.go | Adds targeted tests for serialization-fallback behavior in internal observability attributes. |
| workflow/inproc/observability_test.go | Adds an end-to-end inproc workflow regression test validating fallback telemetry markers without failing execution. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Summary
Adds regression coverage for the existing Go telemetry fallback when sensitive-data serialization fails. The new tests lock in that unserializable payloads do not fail workflow execution and that observability spans record the
[Unserializable: ...]marker on message and executor attributes, matching the upstream .NET fix intent selected from PR #7612.Ported .NET PRs
8a0731ad92560d7eb5c181682d9501a82a6b4a70, microsoft/agent-framework@8a0731a)Breaking Changes
No. This PR only adds regression tests around existing fallback behavior and does not change the public Go API.
Tests and Examples
go test ./workflow/internal/observability ./workflow/inprocNotes
The Go runtime already returned the
[Unserializable: %T]fallback fromworkflow/internal/observability/observability.go; this port is test-parity to keep that behavior aligned with the upstream .NET regression suite.Closes #826