Skip to content

fix(instrumentation-py): repair Strands Agents, Superagent, and Temporal OTel 2.x spans - #392

Merged
fran3cc merged 1 commit into
respanai:mainfrom
Nightingalelyy:fix/otel2-py-strands-superagent-temporal
Aug 21, 2026
Merged

fix(instrumentation-py): repair Strands Agents, Superagent, and Temporal OTel 2.x spans#392
fran3cc merged 1 commit into
respanai:mainfrom
Nightingalelyy:fix/otel2-py-strands-superagent-temporal

Conversation

@Nightingalelyy

@Nightingalelyy Nightingalelyy commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Repair the Python Strands Agents, Superagent, and Temporal instrumentations for current OTel 2.x and current supported SDKs.
  • Normalize canonical agent, task, chat, tool, guardrail, workflow, and Temporal runtime spans while preserving contract-correct ownership of model, usage, tool, and failure fields.
  • Add bounded privacy-safe serialization, shared/ref-counted lifecycle handling, current SDK dependency floors, and a patch release intent for all three packages.

Validation

  • Focused package tests pass: Strands Agents 13/13, Superagent 16/16, and Temporal 14/14 (43/43 total), including declared-minimum SDK environments.
  • Root-scoped Ruff check and format check pass for every changed package source and test file.
  • All three wheels build and pass isolated installation, import, entry-point, and pip check validation.
  • Release inventory, release-intent, missing-intent, and git diff --check validations pass.
  • The full respan/contribution/ contract was re-read and the final source/example diffs were audited against it.
  • All 13 paired example processes completed under exact marker otel2-fix-py-group-26-20260818T090100Z.
  • Respan MCP audit opened all 13 trees and all 53 full records: one root per trace, exact parentage, unique log/span IDs, exact markers, bounded content, canonical tools/calls, and no credential, alias, object-address, or raw-event leakage.

External follow-ups

  • The platform convenience tools/tool_calls arrays remain empty despite canonical Strands definitions/current-turn calls and connected tool spans.
  • Backend ingestion projects the controlled Superagent failure and enclosing Strands workflow root as success/200 even though package-owned spans retain their native failed status and diagnostics.
  • Strands Agent records remain common-only by contract, so model and usage stay on authoritative child chat spans and the UI may display unknown-model for the Agent.
  • The optional Daytona repository scan remains credential-gated because DAYTONA_API_KEY is unavailable; broader Temporal continue-as-new/update/cancellation/remote-service cases remain future coverage.

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 6fc4c05 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