### 17.1 P2 — insert-first 주장이 Spring Data 의 `save` 계약과 어긋난다. 그리고 테스트 이중이 그 차이를 가린다

어댑터는 이렇게 쓴다.

```java
try {
  repository.save(GrpcOperationLedgerEntity.claim(identity, requestFingerprint, now));
  return Optional.empty();                       // 내가 이겼다
} catch (DataIntegrityViolationException alreadyClaimed) {
  return repository.findById(identity.storageKey()).map(entity -> entity.toRecord(identity));
}
```

전제는 `save` 가 INSERT 이고, 같은 신원의 두 번째 청구가 유니크 제약을 건드린다는 것이다.

