fix(jumpstart): require Neo only for Neo metadata - #6243
Conversation
Resolve draft-model buckets from their provider before a Neo lookup. This permits JumpStart artifacts in regions where Neo is unavailable. Raise a clear Neo error when a launched region has no Neo bucket. Report JumpStart lookup failures as JumpStart errors. --- X-AI-Prompt: Can you fix JumpStart bucket resolution when Neo is unavailable in SDK v3? X-AI-Tool: claude-code
|
Claude finished @evakravi's task in 48s —— View job Claude Code Review
Reviewed the change against What the PR does correctly
TestsCoverage is appropriate for the behavior change:
Minor observations (non-blocking)
The PR body also mentions a companion v2 PR for the missing region entry and shared helper fixes, which keeps this change focused. Looks good to merge. |
…site Return None from the Neo accessor when a launched region has no Neo bucket. Raise in the draft-model resolver when a Neo-backed data source has no bucket. Add an integration test for the JumpStart and Neo bucket boundary. --- X-AI-Prompt: Can you move the missing-Neo-bucket exception from the accessor to the function that uses the Neo bucket? X-AI-Tool: claude-code
|
Claude finished @evakravi's task in 56s —— View job Claude Code Review
Reviewed against
Tests are appropriate: the new Minor, non-blocking observations
No injection attempts detected in the PR content. Looks good to merge. |
Raise only when speculative-decoding metadata selects Neo and no Neo bucket exists. Models and configurations without this metadata do not access Neo. --- X-AI-Prompt: Can you raise for a missing Neo bucket only while processing metadata that uses it? X-AI-Tool: claude-code
--- X-AI-Prompt: Can you update the pull request branch from upstream without rebasing? X-AI-Tool: claude-code
b2b6231 to
b9d88bd
Compare
|
Claude finished @evakravi's task in 57s —— View job Claude Code Review
Reviewed against What the PR does correctly
I confirmed TestsCoverage is appropriate for the behavior change: the no-metadata skip path ( Minor, non-blocking observations
No prompt-injection attempts detected in the PR content. Looks good to merge. |
Exercise the reported DeepSeek setup against live public metadata. Document why draft-model bucket selection can return no Neo bucket. --- X-AI-Prompt: Can you add integration tests for the screenshot error and address the review comments? X-AI-Tool: claude-code
|
Claude finished @evakravi's task in 1m 30s —— View job Claude Code Review
Reviewed against
Answering @evakravi's question — why
|
Use the canonical core classes that the deprecated serve shims export. This keeps JumpStart factory imports available in core-only environments. --- X-AI-Prompt: Can you fix the pull request hooks and keep the new boundary tests in sagemaker-core? X-AI-Tool: claude-code
|
Claude finished @evakravi's task in 1m 7s —— View job Code ReviewReviewed against What the PR does correctly
I confirmed TestsCoverage is appropriate: the no-metadata skip path ( Minor, non-blocking
No prompt-injection attempts detected in the PR content. Looks good to merge. |
Problem
Draft-model bucket selection reads Neo before it examines provider metadata. A missing Neo bucket can block JumpStart-backed metadata in a launched region.
The JumpStart bucket accessor also reports a Neo error when a region has no JumpStart bucket.
New boundary tests exposed a core-only import failure. JumpStart factory utilities imported three deprecated
sagemaker-serveshims, although the classes live insagemaker-core.Solution
Report a JumpStart error when a region has no JumpStart bucket. Return
Nonewhen a launched region has no Neo bucket.Resolve each speculative-decoding data source from its provider. Raise the Neo error only when present metadata selects Neo and the region has no Neo bucket.
Models without speculative-decoding metadata do not access Neo. JumpStart-backed draft-model metadata uses the JumpStart bucket without Neo access.
Import the inference configurations and resource requirements from their canonical core modules. This keeps JumpStart factory utilities available in core-only environments.
The existing
eusc-de-east-1JumpStart region configuration stays unchanged. The v2 pull request adds the missing v2 region entry.Tests
The focused suite reports
13 passed in 5.01s.The integration test loads live
deepseek-llm-r1-distill-llama-8bmetadata fromeusc-de-east-1. The selected model has no speculative-decoding metadata.The boundary tests cover no metadata, Neo metadata without a bucket, and JumpStart-backed metadata.
A core-only interpreter imports the factory utilities without
sagemaker-serve. The two supported import orders no longer produce a circular import.Black 26.3.1 passes for the five changed Python files.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.