가입 없는 공용 합성 데모 · 모든 방문자가 같은 Wiki를 봅니다
DRAFT → REVIEW → SHARED DEMO

주문 금액 스키마 변경으로 인한 집계 누락 복구

검증된 합성 예시department심사용 고정 예시

이 결정은 어떤 대화에서 나왔을까요?

원본 대화와 비교하기 →

상태: 검토 전
입력 범위: a17d2e8c-44b1-4aa0-bf31-6b0a3f9c1201 turn 0–3
결론 신뢰도: 합성 세션에서 원인·결정·재실행 결과를 확인했으며 운영 일반화는 확인 필요

30초 인수인계

항목 인수인계 내용
증상 원천 주문 2,450건 중 일 매출 집계에는 2,413건만 반영돼 37건이 누락됐다.
원인 특정 배치의 amount 타입이 decimal에서 string으로 바뀌어 숫자 변환에 실패했다.
결정 수신 경계에서 숫자형 스키마 계약을 검사하고 실패 행은 격리한 뒤 수정 후 재처리한다.
검증 정상 10행은 정확히 집계됐고 오류 5행은 모두 격리됐다.
남은 한계 실제 공급 배치 24시간 안정성, 통화·소수점 형식 전체에 대한 일반화

문제 경계

  • 기대 상태: 입력 계약과 업무 규칙을 만족하는 데이터만 다음 단계로 전달한다.
  • 실제 상태: 원천 주문 2,450건 중 일 매출 집계에는 2,413건만 반영돼 37건이 누락됐다.
  • 확인 범위: 정상 10행·형식 오류 5행으로 구성한 합성 입력 15행
  • 제외 범위: 실제 공급 배치 24시간 안정성, 통화·소수점 형식 전체에 대한 일반화

확인된 사실

  • [확인됨] 원천 건수 2,450건과 집계 건수 2,413건의 차이는 37건이었다. (turn 0)
  • [확인됨] 누락 표본의 amount가 string 타입으로 유입됐다. (turn 1)
  • [확인됨] 0원 대체를 제외하고 계약 검증과 격리를 채택했다. (turn 2)
  • [확인됨] 합성 검증 결과는 운영 성과가 아니라 데모 범위의 재현 증거다.

판단 기록

채택한 결정

수신 경계에서 숫자형 스키마 계약을 검사하고 실패 행은 격리한 뒤 수정 후 재처리한다.

배제한 선택

변환 실패 값을 COALESCE(amount, 0)으로 0원 처리하는 방법.
배제 이유: 건수만 맞추고 실제 금액 오류를 숨겨 매출 지표를 왜곡하기 때문이다.

실행 또는 재현 절차

단계 행동 기대 신호 실행 상태
1 원천·집계 건수를 비교해 누락 표본을 고정한다. 37건의 누락 집합이 재현된다. 확인됨 · turn 0–1
2 수신 경계에 amount 숫자형 계약 검증을 적용한다. 형식 오류 행이 집계 전 차단된다. 확인됨 · turn 2–3
3 실패 행을 격리하고 원본 식별자를 보존한다. 수정 후 중복 없이 재처리할 수 있다. 확인됨 · turn 3
4 실제 공급 배치를 24시간 관찰한다. 타입 오류·격리·재처리 건수가 기록된다. 권장·미검증

검증 경계

검증한 것 범위 관찰 결과 증명하지 못한 것
합성 재현·수정 정상 10행·형식 오류 5행으로 구성한 합성 입력 15행 정상 10행은 정확히 집계됐고 오류 5행은 모두 격리됐다. 실제 공급 배치 24시간 안정성, 통화·소수점 형식 전체에 대한 일반화
운영 환경 미수행 관찰 없음 장기 안정성·실제 사용자 영향

남은 위험과 후속 작업

  • [확인 필요] 실제 공급 배치에서 동일 타입 변경이 재발하는지 확인 필요
  • [확인 필요] 쉼표·통화기호가 포함된 금액 형식의 추가 계약 필요
  • [후속] 미검증 항목은 담당자와 실제 환경에서 확인한 뒤 운영 지식으로 승격한다.

출처 추적표

문서 주장 근거 위치 상태
37건 집계 누락 turn 0 확인됨
string 타입 유입 turn 1 확인됨
0원 대체 제외·격리 채택 turn 2 사용자 결정
합성 15행 검증 turn 3 확인됨

공개 전 점검

  • ✓ 회사·고객·개인 식별자를 합성 값으로 대체
  • ✓ 비밀값·연결 문자열·실제 계정 정보 미포함
  • ✓ 실행 사실, 사용자 결정, 미검증 경계를 분리
  • ✓ 합성 검증 범위를 운영 성과로 과장하지 않음

공유 전 판정

합성 사례임을 유지하면 검토 후 부서 공유 가능. 실제 환경에서도 동일한 결과가 보장된다는 근거로 사용해서는 안 된다.