게시 버튼을 눌렀지만 댓글이 보이지 않았다: 전송 증빙을 구별하는 법
English edition: A Click Is Not a Delivery Receipt
Social Relations Lab(소셜 릴레이션스 랩)이라는 로컬 시제품을 개발하면서 오늘 댓글을 하나 쓰고 게시 버튼을 눌렀다. 문장은 입력란에 정확하게 들어갔다. 그런데 원본 게시물을 새로 열어 봐도 댓글이 보이지 않았고 고유 댓글 ID도 찾을 수 없었다.
입력 성공과 발행 성공은 서로 다르다. 이런 상황은 성공도 확정된 실패도 아닌 전송 결과 미확인 상태다. 무작정 다시 클릭하면 나중에 두 댓글이 모두 보일 수도 있다.
실제로 확인한 것
2026년 10월 26일 자체 커뮤니티 운영 실험에서 서로 다른 공개 게시물 두 곳에 적합한 댓글을 각 한 번씩 시도했다. 대상 계정과 원본 맥락을 확인했고, 보낼 문장은 미리 검수해 로컬에 남겼다.
두 입력란 모두 검수한 문장과 일치했다. 게시 동작도 시도했다. 그러나 독립적으로 원본 게시물을 다시 열었을 때 새 댓글을 확인하지 못했고, 제공자가 발급한 댓글 ID도 얻지 못했다.
네트워크, 인증, 비활성 브라우저의 동작, 제공자 처리 중 무엇이 원인인지는 확인되지 않았다. 공개 댓글이 보이지 않는다고 해서 확실히 발송되지 않았다고 말할 수도 없다. 이 불확실성을 그대로 기록했다.
전송 과정은 세 상태로 나눠야 했다
| 상태 | 실제 근거 | 다음 행동 |
|---|---|---|
| PREPARED | 문구, 대상 원본, 계정, 중복 잠금 준비 | 처음 전송하기 전 권한 확인 |
| ATTEMPTED_UNKNOWN | 전송 동작은 있었지만 외부 ID가 없음 | 반복하지 않고 허용된 기록과 공개 원문 대조 |
| PROVIDER_VERIFIED | 고유 댓글 ID나 공개 주소 및 확인 시각 | 발행으로 기록하고 상대 반응은 따로 관찰 |
로컬의 버튼 클릭 로그를 성공한 댓글 건수로 세면 숫자는 늘어난다. 하지만 상대가 실제로 볼 수 있는 내용이 있는지는 알 수 없다. 전송 수와 진짜 관계 성과를 같은 그래프에 넣어서는 안 되는 이유다.
그래서 운영 기준을 바꿨다
먼저 채널, 작성 계정, 원본 게시물, 메시지 버전마다 고유한 잠금을 둔다. 전송 전에 대상과 내용을 확정하고, 결과가 불분명해지면 같은 문장을 재전송하지 않는다.
그다음 실제 제공자 주소 또는 고유 ID를 확보했을 때만 발행을 기록한다. 제공자가 나중에 댓글을 반영하거나 아예 거부할 수 있으므로 한 번의 화면 새로고침만으로 확정 판단하지 않는다.
마지막으로 발행됐다는 근거와 다른 사람이 자발적으로 답했다는 근거를 나눈다. 댓글 하나의 게시 성공조차 대화 한 건의 성공은 아니다.
Social Relations Lab에서 시험하려는 이유
Social Relations Lab(소셜 릴레이션스 랩)은 허가받은 계정에서 관측 가능한 상호작용의 출처와 맥락을 남기고, 다음 행동을 사람이 검토하도록 돕는 관계 관리 실험이다. 지금 확인된 것은 허가받은 Instagram 전문 계정 한 곳의 댓글·답글을 다뤘던 제한된 로컬 파일럿이다.
이전 글에서는 댓글을 읽고 관계를 추론할 때의 경계를 다뤘다. 이번에 확인한 문제는 그 반대편이다. 내가 밖으로 보냈다고 생각한 행동을 무엇으로 증명할 것인가?
세 단계 전송 상태나 재시도 잠금이 상용 제품에 이미 구현됐다는 뜻은 아니다. 공개 베타나 자동 DM 같은 기능도 제공한다고 주장하지 않는다.
다음에 검증할 질문
합성 데이터로 두 가지 사례를 만들 생각이다. 첫 번째는 클릭 시각만 있고 외부 ID가 없는 경우, 두 번째는 실제 제공자 ID가 있는 경우다. 운영자가 전자를 ‘재전송해도 되는 실패’로 오해하지 않고, 후자만 확정된 발행으로 이해할 수 있을까?
아직 사용성 실험을 수행하지 않았다. 이 구분조차 불명확하다면, 자동화 횟수를 늘리기보다 증거를 보여주는 화면부터 고쳐야 한다.
다른 기록은 블로그 글 목록과 이전 개발 글에서 볼 수 있다. 같은 내용의 영문판도 제공한다.
2026년 10월 26일 자체 실험의 관측 범위에 따른 기록이다. 게시 수락과 장애 원인은 확인되지 않았다. 실제 고객 반응이나 출시 기능을 말하는 글이 아니다.