Files
FESADev/docs/tracking/decisions/0004-candidate-output.md
T
2026-10-18 15:06:44 +09:00

20 lines
1.0 KiB
Markdown

# 검증된 결과만 최종 공개
## 배경
Accepted 증분이 생긴 뒤에도 다음 증분·로그 close·HDF5 기록·재개방 검사에서 실패할 수 있다.
이때 기존 정상 최종 결과를 훼손하면 실패 실행과 성공 실행을 구별할 수 없다.
## 선택
Trial 검증 뒤 state를 commit하고, 전체 해석 완료와 로그 close 성공 뒤 writer를 호출한다.
별도 candidate 파일을 기록·close·self-check한 뒤 최종 경로를 교체한다.
Output lease로 같은 결과 쌍을 쓰는 실행을 하나로 제한한다.
## 대안과 영향
최종 파일을 먼저 truncate하거나 각 trial을 정상 결과로 직접 저장하는 방식은 실패 보존 조건과
충돌하므로 사용하지 않는다. Candidate용 저장 공간과 재개방 비용이 필요하다.
실패 로그가 갱신되고 이전 최종 파일이 남을 수 있어 파일 존재만으로 이번 성공을 판단할 수 없다.
실행 중 accepted history는 강제 종료 로그만으로 복원하지 못한다.