Skip to content

Map gateway errors by code first (minor 0.3.0) - #5

Merged
jssng-pinetree merged 1 commit into
mainfrom
feat1/error-model-0.3.0
Oct 25, 2026
Merged

jssng-pinetree merged 1 commit into
mainfrom
feat1/error-model-0.3.0

Conversation

@solari-ci-status

Copy link
Copy Markdown

What

Hand-port of the sandbox SDK error-model change (gateway errors are mapped by their code first; 403 NotEntitled is a plan error; 429 and 503 breadth), as in PROTOCOL.md section 4. Source of truth for the other SDKs: TypeScript, Python, Go, Rust and C++ all change together, so this is a minor release.

Checked

Built with tests: 51 doctest cases, 543 assertions pass.

Release

After merge: tag v0.3.0 (never re-pointing an existing tag).

🤖 Generated with Claude Code

https://claude.ai/code/session_01D22yA2FD2Cm7HuYGcwAXSN

…9 and 503 breadth)

Matches the shared error model in PROTOCOL.md section 4.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D22yA2FD2Cm7HuYGcwAXSN
@solari-ci-status

Copy link
Copy Markdown
Author

ARCHI-SIGNOFF sandbox 5f25863

Hand-port of the 0.3.0 error model (private #676). Files: errors.hpp, errors.cpp, README, tests/test_main.cpp. I read the code and the tests; I did not build C++ for this port, so the repo's CI job must be green. (The dependency pins from the earlier cpp#4 are already on main.) I diffed each ported source file against the merged private one: the only differences are comments (private paths sdk/PROTOCOL.md / sdk/conformance/... replaced or removed, as intended for a public repo); the mapping code and the tests are identical. The rule is the one I verified in the private PRs: 403 NotEntitled → plan error with status 403, other 403 → plain gateway error; 429 only ConcurrencyLimitExceeded or code-less → concurrency-limit error; 503 only NoCapacity/StartTimeout or code-less → no-capacity error; status, code and retryable kept; retry behaviour unchanged. The repo's CI job was still running at sign-off (1 check, not green): merge only when it is green; a red job voids this. Tags and the crate stay held until #687 (private release prep) is merged and signed; never re-point a tag.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NmYLnJPcpNnnK5pSvg7QNr

@jssng-pinetree
jssng-pinetree merged commit 514c8b9 into main Oct 25, 2026
1 check passed
@jssng-pinetree
jssng-pinetree deleted the feat1/error-model-0.3.0 branch October 25, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant