### 17.1 P3 — 클래스가 비판한 무제한 증가를 형제 맵이 그대로 한다 클래스 javadoc 이 집합 방식을 거부한 이유가 무제한 증가다 — "A set grows without bound for the life of a session". 체크포인트는 그 비판을 지킨다. 세션당 항목 하나이고 순번만 앞으로 간다. 형제 맵은 지키지 않는다. ```java private final ConcurrentMap replayableOutcomes = new ConcurrentHashMap<>(); … public void recordApplied(GrpcClientStreamMessage message, String outcomeReference, Instant at) { checkpoints.put(message.sessionId().value(), checkpoint.advancedTo(message.sequence(), at)); if (outcomeReference != null && !outcomeReference.isBlank()) { replayableOutcomes.put(message.dedupKey(), outcomeReference); // ← 메시지마다 한 항목