필수 PDF 첨부 전달안 — 가상 워크숍 제안서 접수 목적: 사용자가 확인한 현재 파일만 검사 완료 후 제출에 포함한다. 파일 선택·전송·검사·접수를 별도 상태로 다룬다. 입력: PDF 1개, 1~10,000,000바이트 허용. 안내는 10MB 이하이며 여기서 10MB는 10,000,000바이트다. 빈 파일·암호 파일·서버 검사 미통과 파일은 첨부 완료 불가. 브라우저 제한은 안내이고 서버에서도 검증한다. 시작: 파일 선택창 취소는 기존 첨부를 유지한다. 실제 새 파일 선택은 기존 첨부를 제외하고 선택 버전을 올린다. 새 파일이 잘못됐어도 과거 파일로 자동 복귀하지 않는다. 제안서의 다른 입력값은 유지한다. 상태: 선택 전→전송 중→서버 수신 확인→파일 검사 중→현재 첨부 사용 가능. 전송률 100%만으로 완료 처리하지 않는다. 수신 결과 미확인은 전송 결과 확인 중, 수신 확인 후 검사 대기는 파일 검사 중으로 구분한다. 완료: 현재 선택 버전·업로드 시도와 일치하는 서버 첨부 식별값, 접수 연결, 검사 통과 결과가 있어야 한다. 같은 시도의 오래된 상태 응답이 최신 완료를 검사 중으로 되돌리지 않도록 서버 상태 버전도 비교한다. 거부: 유형·크기·빈 파일·암호·검사 실패별 수정 행동을 표시한다. 검사 서비스 장애는 파일 결함으로 단정하지 않는다. 이때 사용 가능으로 승인하지 않고 결과 확인/재시도 경로를 안내한다. 교체·지우기: 기존 응답 적용과 첨부 사용 가능 상태를 즉시 무효화하고, 서버에서도 해당 선택을 폐기/제외하도록 처리한다. 지운 뒤 늦은 성공으로 다시 첨부하지 않는다. 화면 제거·통신 중단·서버 임시 파일 삭제 완료는 서로 다르다. 같은 이름: 이름이 같아도 새 선택은 새 버전이다. 서버가 발급한 파일 식별값으로 연결하고 파일명만으로 덮어쓰지 않는다. 미확인: 같은 업로드 시도의 결과를 먼저 조회한다. 기존 시도가 진행 중이면 새로 전송하지 않는다. 확정 실패/미수신 후 재전송은 같은 내용·같은 시도에 대한 중복 방지와 상태 규칙을 개발이 확인한 경우에만 제공한다. 새 파일 교체는 새 시도다. 계약이 없으면 자동 재전송 대신 결과 확인과 명시적 새 선택을 제공한다. 제출: 필수 첨부가 준비되지 않으면 이유를 설명하고 제출 불가. 서버도 현재 소유·접수 연결·선택 버전·검사 통과를 접수 확정과 일관되게 재검증한다. 접수 중에는 첨부 변경을 막는다. 접수 결과 미확인은 같은 접수 식별값으로 조회하고 중복 접수하지 않는다. 접수 이후: 접수된 첨부는 현재 편집 상태와 분리한다. 이 예제에는 접수 후 교체를 제공하지 않는다. 임시 파일 만료·영구 보관·삭제 시점은 실제 서비스 규칙과 담당자 확인 후 별도 확정한다. 접근성: 기본 파일 선택 입력과 키보드를 제공한다. 상태는 색·퍼센트 외에 글자로 알리고 불필요한 초점 이동을 하지 않는다. 오류 뒤 파일 입력과 수정 안내에 접근할 수 있게 한다. 문서/담당: 기획서는 필수 첨부 이유와 완료 기준·대안 선택을, 설계서는 상태·문구·버전·요청/응답·예외를 남긴다. 개발은 검증·권한·중복·동시성·임시 파일 수명, QA는 순서별 UI와 실제 첨부 식별값, 운영은 확인 가능한 처리 상태와 안내를 맡는다. 검수: 경계값, 100%, 서버 거부, 검사 장애, 같은 이름 교체, 삭제 후 늦은 성공, 오래된 상태 응답, 결과 미확인, 최종 권한 변화, 접수 중 변경/중복을 실행해 환경·버전·기대/실제 결과·증거를 기록한다. 이 전달안은 실제 접수 서버의 통합검수 통과 기록이 아니다.