이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
출시 노트와 버전 메모에 넣은 한글이 길이는 그대로인 채 특정 음절만 다른 글자로 치환되어 저장됩니다. API 응답뿐 아니라 콘솔 웹 화면에서도 손상된 값이 그대로 보입니다 — 표시 문제가 아니라 저장값 자체가 손상된 것으로 보입니다.
출시 노트는 사용자에게 노출되는 텍스트라 오탈자로 남고, 검수 요청 뒤에는 고칠 수 없어 번들을 새로 빌드해야 했습니다.
환경
| 항목 | 값 |
|---|---|
| SDK | 3.0.5 |
| 사용 경로 | 콘솔 MCP — bundle_upload(memo), bundle_set_release_note |
| 발생 기간 | 2026-08-22 ~ 08-24 |
관측 사례
| 위치 | 보낸 값 | 저장된 값 |
|---|---|---|
출시 노트 (번들 20260824-16) |
끼니 | 끓끼 |
버전 메모 (번들 20260824-16) |
캡처 | 캐처 |
출시 노트 (번들 20260823-13, 출시 완료) |
바꿨어요 | 바꿈어요 |
자모 단위로 보면 이렇습니다.
끼 U+B07C [ㄲ+ㅣ] → 끓 U+B053 [ㄲ+ㅡ+ㅀ]
니 U+B2C8 [ㄴ+ㅣ] → 끼 U+B07C [ㄲ+ㅣ]
캡 U+CEA1 [ㅋ+ㅐ+ㅂ] → 캐 U+CE90 [ㅋ+ㅐ]
꿨 U+AFE8 [ㄲ+ㅝ+ㅆ] → 꿈 U+AFC8 [ㄲ+ㅜ+ㅁ]
확인한 것
- 문자열 길이는 항상 그대로입니다. 잘림이 아니라 치환입니다.
- 간헐적입니다. 같은 경로로 206자짜리 한글 출시 노트가 글자 단위로 완전히 일치하게 저장된 적도 있습니다. 모든 한글이 깨지는 것은 아닙니다.
- 인코딩 왕복으로 재현되지 않습니다. EUC-KR, CP949, johab, ISO-2022-KR, NFD→NFC 어느 것으로도 위 변환이 나오지 않았습니다.
- 보내는 쪽 값은 정상이었습니다(요청 페이로드 확인).
- 어떤 글자가 트리거인지는 규칙을 찾지 못했습니다.
영향
출시 노트는 사용자에게 보이는 텍스트라 오탈자로 남습니다. 더 큰 문제는 검수 요청 이후에는 고칠 수 없다는 점입니다.
bundle_set_release_note가 REVIEWING 상태에서 이렇게 거부됩니다.
릴리즈 노트 변경이 가능한 상태가 아닙니다.
수정 가능한 상태는 CREATED와 REJECTED뿐이라, 글자 하나 때문에 번들을 새로 빌드해 검수를 처음부터 다시 받아야 했습니다.
회피 방법
출시 노트를 검수 요청과 분리해 등록하고 반드시 다시 읽어 대조하면, 손상을 검수 전에 잡을 수 있습니다.
bundle_submit_review의releaseNotes에 실어 보내지 말고,bundle_set_release_note로 먼저 등록합니다.CREATED상태에서는 몇 번이든 고칠 수 있습니다.bundle_list로 다시 읽어 원문과 글자 단위로 대조합니다.- 깨졌으면 표현을 바꿔 다시 등록합니다. 저희는 “끼니” → "아침·점심·저녁"으로 우회해 통과했습니다.
- 일치를 확인한 뒤에
bundle_submit_review를deploymentId만 넣어 호출합니다.
확인 부탁드리는 것
- 출시 노트·메모 저장 경로의 한글 처리 단계(정규화나 필터가 있다면 그쪽)를 봐주실 수 있을까요.
- 콘솔 웹 입력 화면으로 직접 입력했을 때도 같은 문제가 있는지 궁금합니다. 저희는 MCP 경로만 사용해 확인하지 못했습니다.
- 검수 중에도 출시 노트 오탈자 정정만이라도 허용될 수 있을지 검토 부탁드립니다.
아직 확인하지 못한 것
- 콘솔 웹 UI로 직접 입력했을 때의 재현 여부
- 어떤 글자·조합이 손상을 유발하는지에 대한 규칙
appName (선택)
fastingtracker