Release v0.10.2 - #39
Merged
Merged
Conversation
The mapping from a blocking `execute()` result onto `RunResults` was a private function in `client.py` with a single caller, the bare-runner fallback inside `start_and_wait`. A consumer driving `execute()` itself had to re-read `pipe_output.model_extra` and re-validate the usage records by hand before it could reach `summarize_usage`, `collect_artifacts` or any of the parity fields — which is what the Python starter does today. It moves to `pipelex_sdk/execute_result.py` as `results_from_execute(result)`, beside the `PipelexExecuteResult` it takes and on the side of the import edge that already depends on `runs`. The mapping itself is unchanged, `execute()` still returns `PipelexExecuteResult` because that model carries the runner's whole typed envelope, and the docs now say how a direct caller gets from one to the other. Closes L-260922-b7268d 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Makes the mapping from a blocking `execute()` result onto `RunResults` public as `results_from_execute(result)` in `pipelex_sdk/execute_result.py`. Previously only `start_and_wait` used this mapping; a consumer driving `execute()` directly had to re-read `pipe_output.model_extra` and re-validate usage records by hand to reach `summarize_usage`, `collect_artifacts` or the parity fields. The new function performs the same lift, so direct callers get the same `RunResults` shape the durable path hands back. `execute()` still returns `PipelexExecuteResult` because that model carries the runner's whole typed envelope. Adds unit tests and doc updates. Closes L-260922-b7268d. <sup>Written for commit 4b5fb1a. Summary will update on new commits.</sup> <a href="https://cubic.dev/pr/Pipelex/pipelex-sdk-python/pull/38?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Release v0.10.2
Bumps version from
0.10.1to0.10.2. Promotesdev→main.Changelog
Added
results_from_execute, the lift from a blocking result ontoRunResults, made public.pipelex_sdk.execute_result.results_from_execute(result)turns aPipelexExecuteResultinto theRunResultsthe durable path hands back, lifting the usage pair, the graph pair, the working memory and the three I/O artifacts off the runner's extension-openpipe_outputonto their declared fields. It is the same mappingstart_and_waithas always applied on its bare-runner fallback, which until now was private: a caller driving the blockingexecute()itself had to re-readpipe_output.model_extraand re-validate the records by hand to reachsummarize_usage,collect_artifactsor any parity field.execute()still returnsPipelexExecuteResult, since that model carries the runner's whole typed envelope. The function is pure — no client, no network — and is documented indocs/run-results.mdanddocs/run-usage.md.Closes L-260922-48670b
🤖 Generated with Claude Code
Summary by cubic
Makes
results_from_executepublic so callers who drive the blockingexecute()directly can lift the result ontoRunResultswithout re-readingpipe_output.model_extraby hand._map_run_result_to_run_resultsintopipelex_sdk/execute_result.pyasresults_from_execute— the same mappingstart_and_waitapplies on its bare-runner fallback.execute()still returnsPipelexExecuteResult; the lift is pure, documented, and covered by new unit tests.0.10.2for this release.Written for commit 29e717a. Summary will update on new commits.