Skip to content

fix(instrumentation-py): repair SageMaker, Semantic Kernel, and Smolagents OTel 2.x spans - #391

Merged
fran3cc merged 1 commit into
respanai:mainfrom
Nightingalelyy:fix/otel2-py-sagemaker-semantic-kernel-smolagents
Aug 21, 2026
Merged

fix(instrumentation-py): repair SageMaker, Semantic Kernel, and Smolagents OTel 2.x spans#391
fran3cc merged 1 commit into
respanai:mainfrom
Nightingalelyy:fix/otel2-py-sagemaker-semantic-kernel-smolagents

Conversation

@Nightingalelyy

@Nightingalelyy Nightingalelyy commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • repair SageMaker streaming, async-job, provider, canonical tool, bounded serialization, and shared lifecycle behavior
  • normalize Semantic Kernel prompt wrappers, current chat operations, canonical tool definitions/calls, stable tool I/O, privacy, and shared lifecycle behavior
  • normalize Smolagents tool/step/agent spans, canonical tool data, bounded privacy-safe serialization, and shared delegate lifecycle behavior
  • add the patch release intent for exactly these three Python instrumentation packages

Validation

  • Read every current document under respan/contribution/ and audited the complete source and paired example diffs against the authoring, span-contract, architecture, testing, CI, publishing, and release-intent rules
  • Focused package tests pass: SageMaker 9/9, Semantic Kernel 17/17, Smolagents 19/19 (45/45)
  • Root-scoped Ruff check and format-check pass for all changed Python package files
  • All three package wheels build; clean-target import smoke passes, including final Semantic Kernel wheel SHA-256 1dbd262a18d293947a6f561ea86e8797a0c01505a2bd2bdf703e588d5633f3d0
  • Release inventory, release-intent validation, missing-intent check, and git diff --check pass
  • All 12 paired examples pass against exact local editable packages under marker otel2-fix-py-group-25-20260818T071900Z
  • Respan MCP audit opened all 12 trace trees and all 44 full records; every tree has one root, exact parentage, matching counts, and unique log/span IDs
  • Full-record audit confirms exact marker/grouping on 44/44 records, complete bounded inputs/outputs, exact model usage, SageMaker streaming, canonical tool definitions/current-turn calls, stable tool I/O, no forbidden aliases, and no credential or object-address leakage

External follow-ups

  • Platform ingestion still renders native failed Semantic Kernel and Smolagents spans as success/200 despite retained error fields and canonical HTTP 500 metadata.
  • Platform convenience projections still report SageMaker model traffic as provider openai despite canonical gen_ai.system and gen_ai.provider.name being sagemaker, and top-level tools/tool_calls arrays remain empty despite canonical attributes.
  • Semantic Kernel task display and Smolagents agent model labels remain backend/UI derivations; the instrumentation follows the contribution contract and does not add forbidden aliases or LLM fields to common-only Agent/Task spans.
  • A real SageMaker endpoint remains credential/service-gated because no SAGEMAKER_ENDPOINT_NAME is configured; committed deterministic Stubber paths cover text, tools, response streaming, and async submission.

Companion examples

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@fran3cc
fran3cc merged commit 06db9ea into respanai:main Aug 21, 2026
5 checks passed
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