What it means
the selection moved between the caller's read and the write.
How to handle it
Read or dry-run the selection again, then submit its current meta.actual_count as the confirmation.
Wire contract
| Code | confirm_count_mismatch |
|---|---|
| Class | conflict |
| HTTP status | 409 |
| Meta keys | actual_count |
| Raised | Yes |
The response uses the standard {"error": {…}} envelope. Branch on error.code, not the human-readable message. Preserve request_id when reporting a failure.