4장. CrewLink 도메인
Handoff, RiskItem, Acknowledgement, Shift, User를 정의한다. DRAFT→OPEN→ACKNOWLEDGED→CLOSED 상태 전이를 만들고 HIGH 위험이 확인되지 않으면 close를 막는다.
record DTO와 enum을 활용하되 DB·API 호환성을 생각한다. 시간은 Instant와 현장 timezone을 분리한다. 누가 언제 무엇을 확인했는지 audit event를 남긴다.