Skip to content

fix(served): idempotency key on reservation writes (0.3.2) - #45

Merged
bayleafwalker merged 1 commit into
mainfrom
fix/reservation-idempotency-key
Aug 23, 2026
Merged

fix(served): idempotency key on reservation writes (0.3.2)#45
bayleafwalker merged 1 commit into
mainfrom
fix/reservation-idempotency-key

Conversation

@bayleafwalker

Copy link
Copy Markdown
Owner

Found while probing the new work:write grant: the authority rejected sprintctl reservation reserve with idempotency-key-required because the client never sent one for work.reservation.* (adapter declares them required). Unique key per call by default, explicit key passthrough for retries, reads stay unkeyed. Regression test added; suite 1275 passed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Hwq1vFjhdXjLPP97cZVkJa

…3.2)

The adapter declares every work.reservation.* operation idempotency=required,
but reservation_operation() never sent a key, so the authority rejected each
reserve/touch/release with idempotency-key-required — after the authority
check, so a correctly granted identity looked like a missing grant. Keys are
unique per call by default (touch must advance activity every time), an
explicit key passes through for retries, and work.read.reservation stays
unkeyed because reads reject one.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hwq1vFjhdXjLPP97cZVkJa
@bayleafwalker
bayleafwalker merged commit 562991c into main Aug 23, 2026
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