ai-coding-mines목차GitHub

"완료" 기록이 완료를 뜻하지 않는다

Python · DB

증상

천여 건이 ok로 기록됐는데 표본 40건이 전부 원본 그대로였다. ok의 근거는 status_code == 200 하나였다.

해법

완료를 적을 때 무엇으로 검증했는지 같이 적는다재조회 N건 / 전수 재조회 / 미검증.

검증 안 한 완료는 "실행함"이라고만 적는다.

성공 판정을 함수로 강제한다.

def ok(code, resp):
    return code == 200 and isinstance(resp, dict) and resp.get("code") != "ERROR"

이걸 안 넣어 700여 건을 헛돌렸다. 전부 거부됐는데 진행 파일에는 put으로 기록됐다.

오염된 완료 목록은 다음 작업의 모수까지 틀리게 한다

교정 배치가 PUT 200 SUCCESS만 보고 2,608건을 ok로 적었다. 전수검증 표본 60건 중 60건이 미반영. 이 2,608건은 완료로 집계돼 다음 회차의 남은 대상 산정에서 빠져 있었다 — 허수가 한 배치의 문제로 끝나지 않고 그 뒤 작업의 분모를 오염시킨다.

강제 규약:

쓰기 → 대기 → 재조회 → 값 대조 → 일치할 때만 ok