[DO NOT MERGE] Dev/sdk 0.14.0.dev0#439
Open
NiteshDhanpal wants to merge 13 commits into
Open
Conversation
… delivery adapters, emitter) (#412)
…gModel (#355) Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Declan Brady <declan.brady@scale.com> Co-authored-by: Nitesh Dhanpal <NiteshDhanpal@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…quivalence [AGX1-373] (#414)
…est) (#438) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Pre-release version for building a dev wheel off `next` (carries the Temporal tracing fail-open #437 + Agentex span-start-skip #438 fixes) to vendor into the rocket_mock_async_agent image ahead of a published 0.14.x. Not intended for PyPI publish as-is; `.dev0` sorts below a future real 0.14.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
This PR is targeting The
See |
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.
What
Bumps
adk/pyproject.toml(agentex-sdk)0.13.2→0.14.0.dev0so we canuv builda clearly-versioned pre-release wheel offnext.Why
nextcarries two tracing fixes that aren't in any publishedagentex-sdk(latest is0.13.2):adk.tracing.spanSTART/END activities fail open (a span-activity timeout no longer fails the workflow; emitsagentex.tracing.temporal_span_activity.dropped).We need these in the
rocket_mock_async_agentload-test image now, ahead of a real0.14.x.How it's consumed
The wheel built from this branch is vendored into the agent image — see agentex-agents #1736. Nothing here is published to PyPI;
.dev0sorts below a future real0.14.0.Cleanup
Close once
0.14.xis cut through the normal release flow.Greptile Summary
This is a DO NOT MERGE dev artifact cutting
agentex-sdk 0.14.0.dev0off thenextbranch to produce a vendored wheel for load testing therocket_mock_async_agent. It bundles two targeted fixes and a large new unified harness surface.TracingModule.start_span/end_spannow catchActivityErrorandTemporalTimeoutErrorin Temporal workflows, re-raise cancellations, emit theagentex.tracing.temporal_span_activity.droppedDatadog counter, and returnNone/ the original span instead of failing the workflow.state_machine.pyis updated to guardend_spanagainst the newly possibleNonereturn.AgentexTracingProcessorgains a skip-start flag (envAGENTEX_TRACING_SKIP_AGENTEX_SPAN_START, default ON) that turns the previous INSERT-on-start + UPDATE-on-end double-write into a singlespans.createon end; the decision is captured once at__init__to prevent mid-span splits.span_derivation.py,tracer.py,types.py,auto_send.py,emitter.py, andyield_delivery.pyundersrc/agentex/lib/core/harness/, along with new*Turnadapters for LangGraph, pydantic-ai, Claude Code, and Codex; all re-exported fromadk.__init__.Confidence Score: 4/5
Safe to build from for load-testing purposes; both targeted tracing fixes are structurally sound and the state_machine guard is correct.
The two core fixes are narrow and well-tested. The unified harness surface is new code with good test coverage and explicit docstrings for known limitations. Two minor inefficiencies — a per-call counter allocation in the dropped-metric helper and a noisy init-time logger.info on every processor construction — don't affect correctness but are worth addressing before the real 0.14.x release.
agentex_tracing_processor.py (init-time log noise), tracing.py (counter allocation per drop event). All harness surface files look clean.
Important Files Changed
if span:, so the new None return from start_span is handled correctly.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD subgraph fix437 ["Fix #437 – Temporal fail-open"] A["ActivityHelpers.execute_activity()"] -->|"ActivityError / TimeoutError"| B{"is_cancelled?"} B -->|Yes| C["re-raise → fail workflow"] B -->|No| D["log warning + emit counter"] D -->|start_span| E["return None"] D -->|end_span| F["return original span"] A -->|Success| G["return Span"] end subgraph fix438 ["Fix #438 – Single-INSERT tracing"] H["on_span_start()"] --> I{"_skip_span_start (default ON)"} I -->|True| J["no-op"] I -->|False| K["spans.create(start kwargs)"] L["on_span_end()"] --> M{"_skip_span_start"} M -->|True| N["spans.create(full kwargs)"] M -->|False| O["spans.update(end kwargs)"] end subgraph harness ["Unified harness surface (AGX1-375)"] P["HarnessTurn"] --> Q["convert_*_to_agentex_events()"] Q --> R["SpanDeriver.observe()"] R -->|"OpenSpan / CloseSpan"| S["SpanTracer.handle()"] S --> T["adk.tracing.start_span / end_span"] Q --> U{"Delivery mode"} U -->|"Async / Temporal"| V["auto_send() → adk.streaming"] U -->|"Sync HTTP ACP"| W["yield_events() → HTTP yield"] V --> X["TurnResult"] W --> X end%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD subgraph fix437 ["Fix #437 – Temporal fail-open"] A["ActivityHelpers.execute_activity()"] -->|"ActivityError / TimeoutError"| B{"is_cancelled?"} B -->|Yes| C["re-raise → fail workflow"] B -->|No| D["log warning + emit counter"] D -->|start_span| E["return None"] D -->|end_span| F["return original span"] A -->|Success| G["return Span"] end subgraph fix438 ["Fix #438 – Single-INSERT tracing"] H["on_span_start()"] --> I{"_skip_span_start (default ON)"} I -->|True| J["no-op"] I -->|False| K["spans.create(start kwargs)"] L["on_span_end()"] --> M{"_skip_span_start"} M -->|True| N["spans.create(full kwargs)"] M -->|False| O["spans.update(end kwargs)"] end subgraph harness ["Unified harness surface (AGX1-375)"] P["HarnessTurn"] --> Q["convert_*_to_agentex_events()"] Q --> R["SpanDeriver.observe()"] R -->|"OpenSpan / CloseSpan"| S["SpanTracer.handle()"] S --> T["adk.tracing.start_span / end_span"] Q --> U{"Delivery mode"} U -->|"Async / Temporal"| V["auto_send() → adk.streaming"] U -->|"Sync HTTP ACP"| W["yield_events() → HTTP yield"] V --> X["TurnResult"] W --> X endPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "chore(sdk): bump agentex-sdk to 0.14.0.d..." | Re-trigger Greptile