Petru Paler
e9d3f34994
feat: add selection validation with optimistic locking
Implements Step 5.3 - selection validation for optimistic locking:
- SelectionContext: holds client's filter, resolved_ids, roster_hash, ts_utc
- SelectionDiff: shows added/removed animals on mismatch
- SelectionValidationResult: validation result with diff if applicable
- validate_selection(): re-resolves at ts_utc, compares hashes, returns diff
- SelectionMismatchError: exception for unconfirmed mismatches
Tests cover: hash match, mismatch detection, diff correctness, confirmed bypass,
from_location_id in hash comparison.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:46:19 +00:00
..
2025-12-27 17:37:16 +00:00
2025-12-29 06:52:23 +00:00
2025-12-27 18:25:28 +00:00
2025-12-27 17:54:21 +00:00
2025-12-27 17:58:29 +00:00
2025-12-27 17:58:29 +00:00
2025-12-28 18:34:41 +00:00
2025-12-28 07:35:05 +00:00
2025-12-28 07:35:05 +00:00
2025-12-27 19:40:55 +00:00
2025-12-28 18:59:24 +00:00
2025-12-28 07:25:18 +00:00
2025-12-28 19:51:28 +00:00
2025-12-28 07:25:18 +00:00
2025-12-27 18:25:28 +00:00
2025-12-28 18:59:24 +00:00
2025-12-27 21:37:19 +00:00
2025-12-28 19:51:28 +00:00
2025-12-27 19:18:08 +00:00
2025-12-29 07:02:19 +00:00
2025-12-29 06:52:23 +00:00
2025-12-29 07:02:19 +00:00
2025-12-28 18:47:11 +00:00
2025-12-28 07:25:18 +00:00
2025-12-28 07:25:18 +00:00
2025-12-29 15:19:11 +00:00
2025-12-29 15:31:07 +00:00
2025-12-29 15:46:19 +00:00
2025-12-29 07:51:20 +00:00
2025-12-29 07:18:17 +00:00
2025-12-29 08:11:36 +00:00
2025-12-29 09:40:34 +00:00
2025-12-29 09:08:13 +00:00
2025-12-29 09:25:39 +00:00