Repository navigation
Conversation
Replace the generic native handler with a maintained OpenTelemetry handler that records type-only errors under FI_HIDE_ERROR_DETAILS and preserves unknown outcomes when no completed chat response is available. Resolve wrapper request metadata from defaults plus overrides, without substituting response models. Add real-SDK and Boot wire regressions through Spring AI 2.1.0-RC1. Co-Authored-By: Claude Code <noreply@anthropic.com>
Apply error privacy and completion-aware status to native ChatClient and advisor observations. Preserve optional client linkage for model-only consumers and cover errors, timeout, cancellation, completed requests, and stop-time tags across the supported runtime matrix. Co-Authored-By: Claude Code <noreply@anthropic.com>
This branch has not been deployed
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
Follow-up to merged #473, addressing all three verified recall findings without introducing a second model span or provider.
SpringAITracingObservationHandleras a replacement for Micrometer's genericDefaultTracingObservationHandler. WithFI_HIDE_ERROR_DETAILS=true, native chat, embedding and tool errors retain ERROR status and exception type without recording messages or stacks. Original application exceptions and observation contexts are not mutated. Explicit raw-error opt-in remains available.2.1.0-RC1, alongside stable2.0.2and the 1.1.x cells.Reproduction
On current dev
268f76a823a43a3238b34b4984d25fd0e946d252, the recall harness reproduced four failing assertions covering the three findings: native error privacy, native timeout reported as OK, sync request alias replaced by the response snapshot, and missing stream request model. Regression tests were added before implementation.Existing open Spring PRs were checked first; #204 concerns the earlier 1.1.x port, #444 concerns starter/provider reuse, and #334 concerns shared Arconia privacy rather than these native Spring AI lifecycle defects.
Validation
All runtime tests used synthetic credentials and loopback HTTP under an outbound-denied sandbox. No vendor or Future AGI Cloud calls were made.
python3 .github/release/release_plan.py --check: 129 packages consistent.git diff --check: passed. Branch contains currentorigin/dev(normal merge reported already up to date).Scope and rollout
Existing constructors remain available; no version bumps, registry publication, merge, or external docs publication. Native users must adopt the documented replacement handler alongside the filter. Privacy applies to these AI spans, not application logs or independently instrumented HTTP-client spans. UNSET intentionally means unknown/incomplete, not confirmed success or a guessed provider failure.
🤖 Generated with Claude Code