ENG-2597: Promote stlc-generated python SDK (Stainless cutover)#113
Merged
Conversation
Sync the stlc-generated SDK from python-sdk-staging onto main, replacing the Stainless-hosted generation pipeline. API changes (from the OAS, identical to the go SDK's latest sync): - add Conversation.title (optional) - expand connections.revoke docs (202 Accepted + background Temporal purge, idempotent per app/user/provider) - regenerated test fixture values De-Stainless'ing: - README MCP install badges switched from the Stainless-hosted endpoint (hyperspell.stlmcp.com) to `npx @hyperspell/hyperspell-mcp` (the published npm package) - .stats.yml dropped the Stainless spec URL + hashes Mechanics: - release-please files (CHANGELOG, .release-please-manifest.json, release-please-config.json, .github/) preserved - version pinned to the manifest's 0.38.0 (staging ships a 0.0.1 placeholder) - staging repo references rewritten to python-sdk Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Firetiger has created a monitoring plan for this PR. |
Confidence Score: 5/5 - Safe to MergeSafe to merge — this PR promotes a Stainless-generated Python SDK cutover (ENG-2597) and the automated review found zero issues across all 8 changed files. The PR achieves a clean SDK promotion with no logic bugs, security concerns, or correctness issues identified. All changed files were fully reviewed and passed without any substantive feedback. Key Findings:
|
aburkard
added a commit
that referenced
this pull request
Jun 26, 2026
#114) Adds the in-house release-please workflow that opens/maintains the release PR and tags on merge, using PRODUCTION_REPO_TOKEN. Replaces the release automation that Stainless ran externally via the stainless-app GitHub App (being retired). The SDK content was already promoted from staging in #113. Co-authored-by: stlc-bot <stlc-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <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 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
Promote the stlc-generated python SDK from
python-sdk-stagingontomain, replacing the Stainless-hosted generation pipeline. This is the python analogue of the proven go cutover (hyperspell-go #4/#5/#6).Diff (audited clean — mirrors go)
Conversation.title; expandconnections.revokedocstring (202 Accepted + background Temporal purge, idempotent per app/user/provider); regenerated test fixtures.npx @hyperspell/hyperspell-mcpinstead of the Stainless-hostedhyperspell.stlmcp.com;.stats.ymldropped the Stainless spec URL + hashes.0.38.0(staging ships a0.0.1placeholder — stamped back to avoid a version regression).CHANGELOG.md,.release-please-manifest.json,release-please-config.json,.github/untouched. No deletions.Residual
stainlessstrings remain only in dev/CI tooling (pkg.stainless.compreview-install CDN,$STAINLESS_OPENAPI_SPEC_URLmock-server env fallback) — gen-controlled, not customer-facing, same as go.Sequencing (python publishes to PyPI, so higher-stakes than go — order matters to avoid a double-publish):
.github/workflows/release-please.yml(separate PR, mirrors hyperspell-go feat(api): api update #5) usingPRODUCTION_REPO_TOKEN.release: x.y.zPR → merging that is the single, gated PyPI publish.🤖 Generated with Claude Code