[dotnet-port-fixes] Add observability serialization parity tests - #832
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
…alization-tests-f3284dd1331f25aa
Parity Review: No parity issuesThis PR adds regression tests only ( The test coverage locks in the existing
|
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