결정 dart.fs_raw 는 INSERT … ON CONFLICT DO NOTHING 만 한다. 정정공시는 새 접수번호(rcept_no)로 새 행이 쌓이고, 표준화는 (기업, 연도, 보고서, 연결/별도)마다 최신 접수번호를 쓴다. dart.fs_std 는 언제든 지우고 다시 만드는 파생 테이블이다.
이유 매핑 규칙을 고치거나 추가해도 API 를 다시 부르지 않고 원천에서 재생성할 수 있다(FR-206). 원천이 변하지 않으므로 지표·경보 → 표준계정 → 원천 행 → 접수번호로 거슬러 올라갈 수 있다(NFR-04).
덧붙임 (2026-10-09, VERIFICATION 122) 위 ‘정정은 새 접수번호로 쌓고 최신을 씀’이 실제로는 동작하지 않았다 — 한 번 받은 (기업, 연도, 보고서)는 영구히 수집 대상에서 빠졌다. 이제 받은 날 뒤에 같은 기간 정기보고서가 다시 제출되면(보고서명의 ‘(2026.06)’ 으로 기간을 맞춤, 12월 결산 기준) 그 기간만 다시 받는다. 확인한 사실: 기재정정 뒤에 다시 부르면 DART 는 정정본 접수번호로 응답한다(실데이터 3건). 첨부정정은 원래 접수번호를 그대로 준다 (첫 수집 기록 — 첨부정정이 이미 있었는데도 원본 번호). 다시 받으면 받은 시각이 늦어져 같은 정정으로 또 받지 않는다.
덧붙임 (2026-10-09, VERIFICATION 157) 공시 목록에는 제출 ‘날짜’만 있어, 받은 날과 같은 날 제출된 정정은 ‘받은 뒤’인지 가릴 수 없었다(새벽에 받고 오후에 낸 정정을 영구히 놓침). 이제 받은 날과 같은 날 제출분도 보되 받은 접수번호보다 새 접수번호일 때만 다시 받는다(접수번호 = 날짜 + 일련번호라 순서가 맞음). 첨부정정처럼 다시 받아도 원래 번호로 응답하면 그날 실행마다 · 다음 날 한 번 더 받고 멈춘다.