CloudEvents 2

크로스플랫폼 SDK 공통 계약: API·오류·상태·이벤트와 적합성 테스트

같은 서비스를 Java Server SDK, Android Kotlin SDK, iOS Swift SDK와 React JavaScript SDK로 제공하면 네 개의 구현이 생깁니다. 그러나 고객에게 전달해야 할 업무 의미까지 네 개가 되어서는 안 됩니다.예를 들어 서버는 상태 코드를 정상적으로 반환했는데 Android에서는 재시도하고 iOS에서는 즉시 실패한다면, 또는 Web SDK만 큰 숫자 ID를 다른 값으로 읽는다면 각 SDK의 코드는 동작해도 제품 계약은 깨진 것입니다.공통 계약의 목적은 모든 언어에서 똑같은 Class와 Method 이름을 강제하는 것이 아닙니다. Java에는 Java다운 API를, Kotlin에는 Coroutine과 Flow를, Swift에는 async/await과 AsyncS..

비동기 AI 요약 완료 상태 설계: Polling·Event와 Readiness Predicate

AI 요약 생성 API를 호출했습니다.응답에는 completed=false가 들어 있지만 요약 본문은 이미 존재합니다.이 요약을 사용자에게 보여 줘야 할까요?반대로 completed=true, summaryAvailable=true인데 본문이 비어 있다면 완료로 처리해도 될까요?{ "completed": false, "summaryAvailable": true, "summary": { "text": "결정 사항과 후속 작업이 포함된 기존 요약" }}이런 응답은 반드시 서버 오류라는 뜻은 아닙니다.completed가 최신 재생성 작업을 나타내고, summary는 이전에 성공한 결과를 나타낸다면 두 값은 동시에 성립할 수 있습니다.문제는 Client가 각 필드의 대상을 모른다는 점입니다.comp..