Repository navigation
fix: explain unavailable deployment acquisition - #699
Merged
Merged
Conversation
|
Member
Author
|
@greptileai review |
# Conflicts: # client-sdks/platform/openapi.json # client-sdks/platform/rust/openapi-3.0.json # client-sdks/platform/rust/openapi.json # client-sdks/platform/typescript/.speakeasy/gen.lock # client-sdks/platform/typescript/docs/models/deploymentdeployersecret.md # client-sdks/platform/typescript/docs/models/deploymentdetailresponsedeployersecret.md # client-sdks/platform/typescript/docs/models/deploymentdetailresponselocation.md # client-sdks/platform/typescript/docs/models/deploymentlocation.md # client-sdks/platform/typescript/docs/models/deploymentstatedeployersecret.md # client-sdks/platform/typescript/docs/models/deploymentstatelocation.md # client-sdks/platform/typescript/docs/models/persistimporteddeploymentrequestdeployersecret.md # client-sdks/platform/typescript/docs/models/persistimporteddeploymentrequestlocation.md # client-sdks/platform/typescript/docs/models/publicendpoint.md # client-sdks/platform/typescript/docs/models/synclistresponsedeployersecret.md # client-sdks/platform/typescript/docs/models/synclistresponselocation.md # crates/alien-deployment/src/manager_api_transport.rs
Member
Author
|
@greptileai review |
alongubkin
added a commit
that referenced
this pull request
Oct 8, 2026
Repeated `alien deploy` commands accept an unchanged saved public subdomain and explicitly requeue failed setup operations before acquiring execution. Routing changes fail with an actionable resume command. When the manager finishes between the status read and acquisition, the CLI inspects structured acquisition errors throughout the source chain and confirms completion from an authoritative deployment snapshot. Success requires Running, an installed release, no desired release, and no active or queued update. Other rejection reasons and failed completion reads remain failures. Resource progress starts after acquisition. The progress callback is released after the runner finishes so setup rows stop redrawing during manager handoff. Validation: - Earlier controlled AWS before/after run reproduced a false statusMismatch after update completion and successful recovery with the candidate CLI. - HTTP regressions cover completion, pending work, missing state, other rejections, transport failure, and both actual acquisition helpers. - Fresh CI and Greptile review run on the updated branch. Refs ALIEN-1317. The shared acquisition contract from #699 is merged and included in this branch.
alongubkin
added a commit
that referenced
this pull request
Oct 8, 2026
Sync the generated hosted API SDK with the acquisition outcome contract introduced in #699. Explicit requests now expose `notAcquired` with bounded rejection reasons, while responses from older servers can omit the field. This dedicated SDK sync also preserves the operations configuration added on main instead of regenerating against an older schema. All three Rust/TypeScript OpenAPI inputs come from the source API generation pipeline; TypeScript models were generated with the pinned Speakeasy 1.799.0 CLI. Unrelated documentation example rewrites were restored as complete files. Validation: TypeScript SDK build passes with `NODE_OPTIONS=--max-old-space-size=16384 pnpm -C client-sdks/platform/typescript build`. The generated Rust response has a default-empty `not_acquired` collection for compatibility with older servers. All 36 hosted controller deployment-store regressions pass, including acquisition outcome propagation and older responses without `notAcquired`.
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.
Summary
Validation
cargo check -p alien-manager --features sqlite,openapicargo test -p alien-manager --features sqlite explicit_acquire_ --test sqlite_store_tests -- --nocapturecargo test -p alien-deployment explicit_acquire_mismatch_fails_without_retrying --lib -- --nocapturepnpm run generate:manager-rust-sdkLinear: ALIEN-948
Refreshed against current main. Re-ran two SQLite acquisition classification tests and three generated client compatibility tests. Regenerated with
pnpm run generate:manager-rust-sdkandpnpm run generate:manager-api; fresh schemas also reconcile existing external-binding schema drift. Live isolated API/manager proof distinguishes statusMismatch from a held lease and confirms successful lease release. The CLI transport HTTP regression executes all 60 contention attempts over 118 seconds and reports the held-lease explanation; a live CLI contention run now also passes. The test acquired and renewed an owned AWS deployment setup lease before launching the real CLI in supported standalone-manager mode against an isolated manager and API over local HTTPS. After the bounded wait, the CLI explained that another operation still held the lease and that this command had not acquired it. Holder release returned HTTP 200 / success=true. Earlier hosted-mode runs over the public tunnel ended with HTTP 503 and remain inconclusive for that routing path. Timeout text also distinguishes deferral and older managers without reasons. Normal platform SDK generation was run to align newly exposed reason fields.Platform SDK
client-sdks/platformis reset to main in this PR. This repo has no generator for the platform spec, so the earlier platform SDK additions (UnacquiredDeployment,DeploymentAcquireUnavailableReason, the newSyncAcquireResponsefields) are dropped here. They come back on the next platform spec sync. Nothing in this repo depends on them: the CLI transport reads acquisition reasons only through the manager SDK (alien_manager_api::types).Manager artifacts after merging main:
alien-manager-schema-exporteroutput is byte-identical tocrates/alien-manager/openapi.json; thegenerate:manager-rust-sdkdown-convert/fix steps andpnpm run generate:manager-api(Speakeasy 1.680.11) produce no changes besides generation metadata.