Skip to content

Claude/analyze spring issue 29 v biy9#27

Merged
amavashev merged 2 commits intomainfrom
claude/analyze-spring-issue-29-vBIY9
Mar 24, 2026
Merged

Claude/analyze spring issue 29 v biy9#27
amavashev merged 2 commits intomainfrom
claude/analyze-spring-issue-29-vBIY9

Conversation

@amavashev
Copy link
Contributor

All done. Here's what was added across 4 repos:

Budget lifecycle outcome table added to all three client SDK READMEs with consistent structure covering all 8 scenarios:

Scenario Outcome
Reservation denied (409) Neither — exception thrown, method never runs
Dry-run Neither — no real reservation
Method succeeds Commit — actual charged, remainder auto-released
Method throws Release — full amount returned
Commit fails (transient) Retry with exponential backoff
Commit fails (4xx) Release
RESERVATION_EXPIRED Neither — server reclaimed
RESERVATION_FINALIZED Neither — idempotent

SDK cross-reference added to the main docs how-reserve-commit-works-in-cycles.md pointing readers to each SDK's outcome table.

Repos updated:

  • cycles-spring-boot-starter — table after ASCII diagram
  • cycles-client-typescript — new "Budget lifecycle" subsection with streaming note
  • cycles-client-python — new "Budget lifecycle" subsection
  • docs — SDK tip callout in protocol lifecycle page

claude added 2 commits March 24, 2026 10:53
Documents all scenarios where withCycles commits, releases, or does neither
(DENY, dry-run, EXPIRED, FINALIZED). Includes streaming adapter guidance.

https://claude.ai/code/session_012fx4F3BKF7QHZ5WMN1Jaua
- List all denial error types instead of just BudgetExceededError
- Add missing IDEMPOTENCY_MISMATCH row (neither commit nor release)

https://claude.ai/code/session_012fx4F3BKF7QHZ5WMN1Jaua
@amavashev amavashev merged commit fac41a0 into main Mar 24, 2026
1 check passed
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.

2 participants