# Recovery 3001 Windows 0.4.0 Beta 1 제품 목표 명세

- 기준일: 2026-07-29
- 1차 개발 대상: Recovery Core 0.4.0 + Windows 0.4.0 Beta 1
- Android: 기존 USB Alpha 보존, 신규 개발은 제품 방향 결정 전까지 보류
- 목적: “복구가 될 것처럼 보이는 데모”가 아니라, 안전성과 복구 결과를 시험 증거로 판정할 수 있는 Windows 베타 제품

## 1. 제품 성공 조건

0.4.0 Beta 1은 다음 조건을 모두 만족해야 합격이다.

1. 원본 USB를 수정하는 코드 경로가 없고 시스템 디스크 및 동일 물리 디스크로의 복원을 차단한다.
2. FAT32와 exFAT에서 삭제 파일 후보를 탐지하고, 파일명·크기·유형·복구 신뢰도를 표시한다.
3. 원본 전체 이미지를 먼저 만든 뒤 복구하는 기본 흐름과, 이미 확보한 디스크 이미지를 여는 흐름을 제공한다.
4. 복구된 파일마다 크기, 해시, 판정 결과를 기록하며 실패·불확실 결과를 성공처럼 표시하지 않는다.
5. 마포 현장 자료로 구성한 약 1,000개 공개 표본을 여러 삭제·덮어쓰기·손상 조건에서 반복 검증한다.
6. Windows 사용자가 장치 선택부터 결과 확인까지 별도 명령줄 없이 진행할 수 있다.
7. 사이트에서 개발 목표, 통과 기준, 현재 퍼센트, 검증 증거, 알려진 제한과 버전별 다운로드를 확인할 수 있다.

## 2. 지원 범위

### 지원

- Windows 10/11 x64
- 이동식 USB 및 파일 기반 디스크 이미지
- FAT32, exFAT
- 정상 읽기, 부분 읽기 오류, 작업 취소, 이미지 생성 재개
- 삭제된 일반 파일의 메타데이터 탐지
- 삭제 파일의 FAT 체인 또는 연속 배치 기반 복구
- 문서, 이미지, 동영상, 오디오, 압축, CAD 등 파일 내용 시그니처 판별
- 다른 물리 디스크에 비파괴적으로 복원
- JSON/CSV 결과 보고서와 SHA-256 무결성 증거

### 명시적 비지원 또는 제한

- NTFS, ReFS, APFS, HFS+, ext 계열은 0.4.0 Beta 1 범위 밖
- SSD TRIM으로 이미 제거된 데이터
- 완전히 덮어쓴 데이터
- 암호화 볼륨의 암호 해제
- 물리적으로 고장 난 장치의 전문 장비 수준 복구
- FAT 정보가 사라진 심한 조각화 파일의 완전 복구 보장
- 손상 파일의 내용을 자동으로 정상 문서로 수리하는 기능

화면과 보고서는 이 제한을 숨기지 않고 “복구 가능”, “불확실”, “복구 불가”로 구분한다.

## 3. 기능 목표와 통과 기준

### A. 원본 안전성 — 가중치 12%

기능:

- 물리 장치명, 제조사, 모델, 시리얼, 용량, 버스, 섹터 크기 표시
- 작업 시작 직전 장치 신원을 다시 확인
- 시스템 디스크 차단
- 원본과 목적지가 같은 물리 디스크이면 차단
- 원본 장치는 읽기 전용 API로만 접근
- 장치 재연결 또는 신원 변경 시 즉시 중단

통과 기준:

- 코드 검색과 테스트에서 원본 장치에 대한 쓰기·포맷·파티션 변경 경로 0개
- 시스템 디스크 선택 차단 테스트 100% 통과
- 동일 물리 디스크 목적지 차단 테스트 100% 통과
- 장치 교체·시리얼 변경·용량 변경 모의 시험에서 복구 시작 0건
- 차단 사유를 사용자가 이해할 수 있는 한국어 문장으로 표시

### B. 이미지 생성과 읽기 오류 대응 — 가중치 12%

기능:

- 원본 전체를 이미지 파일로 복사
- 진행률, 읽은 바이트, 처리 속도, 예상 남은 시간 표시
- 취소 후 안전한 지점에서 재개
- 읽기 오류 재시도
- 계속 진행을 선택한 경우 오류 구간을 기록하고 0으로 채움
- 완료 이미지 SHA-256 및 오류 맵 생성

통과 기준:

- 정상 장치 이미지가 원본과 바이트 단위로 동일하고 SHA-256 일치
- 1MiB, 4MiB, 16MiB 청크 조건에서 결과 동일
- 취소·재개 후 최종 이미지 해시가 단일 실행 결과와 일치
- 강제 읽기 오류 조건에서도 앱이 충돌하지 않고 정확한 LBA/바이트 범위를 기록
- 불완전 이미지를 “완료”로 표시하지 않음

### C. 파일 시스템 탐지와 삭제 후보 수집 — 가중치 13%

기능:

- MBR/GPT 파티션 탐지
- FAT32/exFAT 볼륨 식별
- 삭제된 파일의 이름, 추정 크기, 시작 클러스터, 복구 방식 수집
- 하위 폴더 재귀 탐색
- 손상된 메타데이터를 만나도 가능한 범위까지 계속 탐색
- 삭제로 지워진 FAT32 시작 클러스터 상위 비트의 제한적 재구성

통과 기준:

- 정상 FAT32/exFAT 시험 이미지에서 대상 파티션 탐지율 100%
- 지원되는 깨끗한 삭제 시나리오에서 기대 후보 탐지율 99% 이상
- 중복 후보 ID 0건
- 볼륨 범위를 벗어나는 읽기 0건
- 손상 디렉터리 루프와 비정상 클러스터 체인에서 무한 반복 0건

### D. 파일 유형 판별과 복구 신뢰도 — 가중치 13%

기능:

- 확장자와 파일 내용 헤더를 별도로 검사
- JPEG, PNG, GIF, PDF, ZIP/Office, MP4/MOV, RIFF/AVI/WAV, DWG, OLE 문서 등 주요 시그니처 판별
- FAT 체인 존재 여부, 연속 배치 추정, 헤더 일치 여부로 신뢰도 점수 계산
- 높음·보통·낮음 3단계와 점수 근거 표시
- 확장자와 내용이 충돌하면 경고

통과 기준:

- 지원 시그니처 단위 시험 전부 통과
- 알려진 시그니처의 오탐률 1% 미만
- 확장자와 내용이 불일치한 시험 파일을 “높음”으로 판정하는 경우 0건
- FAT 체인이 있는 후보와 단순 연속 추정 후보를 동일 신뢰도로 표시하지 않음
- 판별 불가 파일을 임의 유형으로 단정하지 않음

### E. 선택, 복원, 충돌 방지 — 가중치 13%

기능:

- 이름, 확장자, 크기, 파일 유형, 신뢰도, 파일 시스템별 필터
- 단일·다중·전체 선택
- 복구 전 예상 파일 수와 용량 표시
- 기존 파일 덮어쓰기 금지
- 중복 이름은 안전한 새 이름으로 저장하거나 사용자가 별도 폴더를 선택
- 후보별 성공·불확실·실패 결과 기록

통과 기준:

- 기존 목적지 파일이 바뀌는 경우 0건
- 1,000개 동시 선택에서 UI 멈춤 없이 작업 시작
- 정상 연속 배치 표본은 원본 SHA-256 기준 100% 일치
- 부분 손상 파일은 성공이 아니라 불확실 또는 실패로 분류
- 취소 시 완료된 파일과 미완료 파일을 명확히 구분

### F. Windows 사용자 경험 — 가중치 12%

권장 흐름:

1. 시작 및 안전 안내
2. 원본 USB 선택과 장치 신원 확인
3. 원본 이미지 만들기 또는 직접 읽기 선택
4. 스캔 진행 및 발견 파일 실시간 집계
5. 검색·필터·신뢰도 확인 후 복구 대상 선택
6. 다른 디스크의 목적지 선택, 복구 실행, 결과 보고서 확인

설계 원칙:

- 가장 안전한 선택인 “이미지 먼저 만들기”를 기본 추천
- 전문 용어만 쓰지 않고 이유와 다음 행동을 함께 설명
- 위험 동작은 비활성화하고 해제 방법이 아니라 차단 이유를 표시
- 진행 중 창을 닫아도 데이터가 손상되지 않도록 취소 절차 제공
- 성공 개수보다 검증된 성공, 불확실, 실패 개수를 먼저 표시
- 고급 정보는 접어서 제공하되 장치 신원과 목적지는 항상 노출

통과 기준:

- 신규 사용자가 문서 없이 6단계를 완료하는 내부 사용성 시험 5명 중 4명 이상
- 주요 작업에 필요한 화면 이동 6단계 이하
- 위험한 원본/목적지 선택을 다음 버튼 이전에 차단
- 오류 메시지마다 원인, 영향, 다음 행동 포함
- 1280×720, 1920×1080, 150% 배율에서 핵심 버튼과 상태가 잘리지 않음
- 키보드만으로 주요 흐름을 완료 가능

### G. 시험, 증거, 회귀 방지 — 가중치 15%

표본:

- 약 1,000개
- 아주 작은 텍스트부터 대용량 동영상까지 포함
- 이미지, PDF, Excel, Word, PowerPoint, ZIP, CAD, 오디오, 동영상, 이메일·데이터·코드 등 다양한 형식
- 원본 파일명, 상대 경로, 크기, SHA-256, 유형을 공개 매니페스트로 보존
- 원본 내용도 비교 가능한 시험 자료 범위에서 공개

필수 환경:

- FAT32 빠른 삭제
- exFAT 빠른 삭제
- 삭제 후 쓰기 없음
- 삭제 후 소량 덮어쓰기
- 삭제 후 다량 덮어쓰기
- 조각화 파일
- 디렉터리 일부 손상
- 읽기 오류 주입
- 다른 USB 모델 또는 이미지 기반 재현 환경

통과 기준:

- 시험 실행마다 원본 매니페스트, 복구 매니페스트, 해시 비교표 생성
- 깨끗한 지원 시나리오에서 SHA 일치 복구율 100%
- 덮어쓴 파일을 정상 복구로 잘못 판정하는 비율 0%
- 오류 주입 시험에서 충돌·무한 대기 0건
- 기존 자동 테스트 전부 통과, 신규 기능별 회귀 테스트 추가
- 재현 명령, 앱 버전, OS, 파일 시스템, 장치 식별 정보를 결과에 기록

### H. 버전 관리와 배포 — 가중치 10%

기능:

- SemVer 형식 `0.4.0`과 채널 `Beta 1`을 분리 표기
- 버전별 Windows ZIP 또는 설치 파일 보존
- 각 버전의 파일 크기, SHA-256, 빌드일, 릴리스 노트, 알려진 제한 공개
- 최신 안정판, 최신 시험판, 과거 버전 구분
- 개발 목표별 퍼센트와 마지막 검증 시각 표시
- 다운로드 중단을 막기 위한 Range 요청 지원
- 실패 시 직전 사이트·API·다운로드 이미지로 롤백

통과 기준:

- 사이트에서 0.2.x, 0.3.0, 0.4.0 계열을 버전별로 구분
- 공개 URL에서 전체 다운로드와 Range 다운로드 모두 성공
- 다운로드 파일의 외부 재계산 SHA-256이 공개값과 일치
- 진행률은 완료된 마일스톤의 가중치 합으로만 계산
- 증거 없는 수동 퍼센트 상승 금지
- 배포 후 공개 페이지, API, 다운로드, 체크섬을 외부에서 재검증

## 4. 진행률 계산 규칙

전체 진행률은 다음 가중치 합으로 계산한다.

| 영역 | 가중치 |
|---|---:|
| 원본 안전성 | 12% |
| 이미지 생성·오류 대응 | 12% |
| 파일 시스템 탐지 | 13% |
| 유형 판별·신뢰도 | 13% |
| 선택·복원 | 13% |
| Windows UX | 12% |
| 시험·증거 | 15% |
| 버전·배포 | 10% |

영역별 가중치의 합은 100이다. 각 영역은 다시 3~8개의 마일스톤으로 나누고, 다음 상태만 사용한다.

- 미착수: 0%
- 구현 중: 해당 마일스톤 0%, 별도 상태만 표시
- 구현 완료·자동 시험 통과: 마일스톤 가중치의 50%
- 실제 시험과 증거 등록 완료: 마일스톤 가중치의 100%

즉 코드가 만들어졌다는 이유만으로 기능을 100% 완료 처리하지 않는다.

## 5. 버전 정책

- `0.2.x Prototype`: 기술 실험 보관용
- `0.3.0 Product Preview`: 기존 Windows 기능 확인용
- `0.4.0 Beta 1`: 이번 1차 목표
- `0.4.x Beta`: 사용자 시험에서 발견된 결함 수정
- `0.5.0`: NTFS 또는 고급 조각화 복구 여부를 별도 의사결정
- `1.0.0`: 코드 서명, 설치·업데이트, 약관·지원 체계, 회귀 시험을 모두 통과한 유료 판매 가능판

버전은 같은 번호의 파일을 교체하지 않는다. 수정 빌드는 새 버전 또는 명시적 빌드 번호로 발행한다.

## 6. Beta 1 종료 게이트

다음 중 하나라도 충족하지 못하면 0.4.0 Beta 1 완료로 표시하지 않는다.

- G1: 원본 쓰기 경로 부재와 시스템 디스크 차단 증거
- G2: FAT32/exFAT 자동 시험 전부 통과
- G3: 1,000파일 깨끗한 삭제 시험 SHA 100% 일치
- G4: 덮어쓰기·손상 조건에서 거짓 성공 0건
- G5: Windows 6단계 UX와 접근성·해상도 점검
- G6: 버전별 다운로드, SHA-256, 릴리스 노트 공개
- G7: 외부 사이트·API·Range 다운로드·롤백 검증

코드 서명과 실제 USB 다중 장치 시험이 끝나지 않았다면 “상용 정식판”이 아니라 “Beta”로만 배포한다.

## 7. 바로 시작하는 구현 순서

1. 사이트 진행상태 API의 대용량 저장 안정화
2. Core 0.4의 파일 시그니처·신뢰도 판정
3. Windows 결과표에 유형·점수·판정 근거 표시
4. 0.4.0 개발 빌드와 자동 시험
5. 버전 아카이브와 가중 진행률 화면
6. 1,000파일 코퍼스 재현 시험
7. Beta 1 패키징, 외부 검증, 사이트 공개

## 8. 2026-07-29 Dev 2 검증 상태

현재 공개 개발판은 `0.4.0 Beta 1 Dev 2`, Control은 `0.5.1`이며 증거
가중 전체 진행률은 75%다.

완료된 증거:

- SanDisk FAT32 E:를 변경하지 않고 61,524,131,840바이트 전체 볼륨
  이미지를 생성
- 이미지 생성 완료, 읽기 오류 0, SHA-256
  `16ddad9b3e62a8db8362c36b9c3f6e82b591e92346eb9b5c1cce387340f6c57b`
- 시험 전후 이미지 SHA-256 일치
- 마포 현장 원본 매니페스트 1,000건, 39개 확장자,
  10,427,498,573바이트
- 원본 이름 후보 1,000/1,000 발견
- 삭제 후보 1,001/1,001 비덮어쓰기 복구, 실패 0
- 매니페스트 기준 크기와 SHA-256 1,000/1,000 일치
- 과거 동일 이름 삭제 엔트리 1개를 별도 변형으로 보존
- 지원되는 원본 유형 947/947 시그니처 판독
- 원본 확장자와 내용이 실제로 다른 파일 2개를 낮은 신뢰도로 표시,
  높은 신뢰도 충돌 0
- Rust workspace tests 34개 통과, Clippy 경고 0
- 공개 ZIP과 보고서·매니페스트·비교 CSV·raw JSON 6개를 외부에서
  재다운로드해 SHA-256 일치
- ZIP 전체 다운로드와 Range 요청 HTTP 206, 1,024바이트 확인

아직 완료로 표시하지 않는 항목:

- Windows 안내→장치→이미지→스캔→선택→결과의 6단계 UX 재구성
- 1280×720, 1920×1080, 150% 배율, 키보드와 비지도 사용성 시험
- 실제 exFAT USB와 다른 모델 USB의 교차 검증
- 0.4 엔진으로 덮어쓰기·조각화·절단 조건의 거짓 성공 회귀
- Windows 코드 서명 인증서와 서명된 설치 패키지

## 9. 2026-07-29 Dev 3 검증 상태

`0.4.0 Beta 1 Dev 3`은 Dev 2의 복구 코어와 실자료 결과를 유지하면서
Windows 사용자가 따라갈 수 있는 상품형 흐름을 추가한 개발판이다.

이번 버전에서 구현하고 검증한 기능:

- 시작 안내 → 원본 선택 → 이미지 확보 → 읽기 전용 스캔 → 선택·복구 →
  결과 검증의 6단계 상태 모델
- 장치 자동 선택 제거, 모델·용량·버스·PhysicalDrive 번호를 보고 사용자가
  직접 원본을 선택하는 안전 게이트
- 각 단계에 해당하는 행동만 본문에 표시하고, 앞 단계가 끝나기 전에 스캔·
  복구 버튼을 활성화하지 않는 전환 규칙
- 권한, 저장 공간, 동일/시스템 디스크, 장치 연결 변경, 잘린 이미지,
  기타 오류에 대한 원인·영향·다음 행동 안내
- 복구 출력별 SHA-256과 후보 크기 비교
- 후보 ID, 출력 경로, 크기, 감지 유형, 신뢰도, 판정 근거, 해시, 실패를
  보존하는 비덮어쓰기 HTML·JSON 보고서
- SHA-256은 복구 출력의 이후 변경 여부를 확인하는 값이며, 삭제 전 원본
  해시가 없으면 원본 동일성을 증명하지 않는다는 명시적 안내
- F5, Ctrl+O, Ctrl+F, Ctrl+A, Esc 단축키
- 크기 조정·세로 스크롤이 가능한 원본 패널과 가로·세로 스크롤이 가능한
  후보 표
- 내부 렌더러 기준 시작·원본·이미지·결과 화면 1024×720 검증. 목표
  1280×720은 이보다 넓은 영역을 제공한다.

Dev 3 검증 결과:

- Rust workspace 테스트 40개 통과
- Clippy `-D warnings` 통과, 경고 0
- Windows GUI·CLI Release 빌드 통과
- FAT32, exFAT, 조각화, 부분 덮어쓰기, 절단 이미지를 포함한 8개 환경의
  기대 행동 8/8 통과
- 완전 복구 환경 5개, 알려진 제한을 정확히 노출한 환경 2개, 안전 거부
  환경 1개
- SanDisk FAT32 61,524,131,840바이트 이미지에서 후보 1,001/1,001,
  복구 실패 0
- 마포 현장 매니페스트 1,000파일의 크기·SHA-256 1,000/1,000 일치
- 시험 후 이미지 SHA-256
  `16ddad9b3e62a8db8362c36b9c3f6e82b591e92346eb9b5c1cce387340f6c57b`
  재일치

Dev 3에서도 완료로 표시하지 않는 게이트:

- 실제 Windows 10, 150% 배율, 1920×1080 교차 점검
- 문서 없이 수행하는 비지도 사용자 5명 중 4명 이상 완주
- 실제 exFAT USB와 추가 제조사·용량 USB
- 물리 읽기 오류가 있는 장치의 장시간 시험
- Windows 코드 서명 인증서와 서명된 설치·휴대용 패키지

따라서 Dev 3은 공개 가능한 개발판이지만 유료 판매 가능한 정식판이나
서명된 Beta 1 완료판으로 표시하지 않는다.

## 10. 2026-07-29 Dev 4 검증 상태

`0.4.0 Beta 1 Dev 4`의 개발 목표는 exFAT 지원을 “형식 이름을 인식하는
수준”에서 “구조를 검증하고 복구 근거를 설명할 수 있는 수준”으로 올리는
것이다.

구현한 기능:

- exFAT Main·Backup boot region의 checksum을 각각 검증
- Main이 손상되고 Backup이 정상인 경우 검증된 Backup으로 전환
- Main과 Backup이 모두 손상된 경우 스캔을 안전하게 거부
- 정상 검증 상태와 사용자 경고를 분리해 정상 상태에 불필요한 경고를 표시하지 않음
- 보존된 exFAT FAT chain을 따라 비연속 cluster의 조각 파일 복구
- FAT chain이 지워졌거나 불완전한 삭제 파일은 연속 배치 추정이라는 제한을 명시
- Windows 결과와 JSON 보고서에 Main·Backup 검증 및 Backup 사용 여부 기록

Dev 4 자동 통과 기준과 결과:

| 검증 항목 | 통과 기준 | Dev 4 결과 |
|---|---:|---:|
| Rust 전체 시험 | 실패 0 | 43/43 통과 |
| 정적 검사 | Clippy 경고 0 | 통과 |
| Windows Release 빌드 | GUI·CLI 모두 생성 | 통과 |
| exFAT boot checksum | 정상·Main 손상·양쪽 손상 기대 행동 100% | 통과 |
| 보존된 조각 FAT chain | 원본 SHA-256 일치 | 통과 |
| 마포 현장 exFAT 후보 탐지 | 1,000/1,000 | 1,000/1,000 |
| 마포 현장 exFAT 복구 | 크기·SHA-256 1,000/1,000 | 1,000/1,000 |
| 시험 후 원본 이미지 | SHA-256 불변 | 일치 |
| 다중환경 매트릭스 | 기대 행동 전부 통과 | 9/9 |
| 거짓 성공 | 알려진 손상·덮어쓰기에서 0 | 0 |

실자료 exFAT 시험의 범위:

- 마포 현장 원본 1,000개, 10,427,498,573바이트
- 문서, 이미지, 동영상, 오디오, PDF, Office, CAD, 압축 및 기타 현장 형식
- `exfatprogs 1.3.0`으로 만든 15,032,385,536바이트 표준 exFAT 이미지
- 복사 직후 1,000개를 다시 읽어 원본 해시와 일치하는지 확인한 뒤 삭제
- 삭제 뒤 보이는 파일 0개와 `fsck.exfat -n` 정상 상태 확인
- 복구 중 원본 이미지는 읽기 전용으로 연결하고 시험 뒤 이미지 해시 재확인

이 시험은 실제 현장 파일 내용을 사용하지만 “물리 exFAT USB 시험”은 아니다.
현재 SanDisk E:는 FAT32이며 안전 정책상 자동 포맷하지 않았다. 따라서 다음
항목은 아직 판매판 통과로 표시하지 않는다.

- 별도로 준비한 물리 exFAT USB
- 제조사·용량이 다른 USB 여러 대
- 실제 Windows 10 및 150% 배율
- 문서 없이 수행하는 사용자 5명 중 4명 이상 완주
- 장시간 물리 읽기 오류 주입
- Windows 코드 서명 인증서와 서명된 설치형 또는 휴대형 패키지

## 11. 사용자 경험 상세 설계

### 1단계: 시작과 사고 방지

- 첫 화면에서 “USB 사용 중지 → 원본에 새 파일 저장 금지 → 다른 디스크에
  복구”를 한 문장씩 안내한다.
- 기본 추천은 원본 전체 이미지를 먼저 만드는 경로다.
- 통과 기준: 사용자가 위험 안내를 확인하기 전에는 장치 스캔을 시작할 수 없다.

### 2단계: 원본 선택

- 자동 선택하지 않고 모델, 용량, 버스, PhysicalDrive 번호를 함께 표시한다.
- 시스템 디스크는 선택할 수 없게 하며 선택된 장치의 신원을 실행 직전에 다시
  확인한다.
- 통과 기준: 잘못된 시스템 디스크 또는 교체된 장치로 작업이 시작되는 경우 0건.

### 3단계: 이미지 만들기

- 목적지 여유 공간, 예상 크기, 진행률, 처리 속도, 남은 시간을 표시한다.
- 읽기 오류가 생기면 위치와 길이를 기록하며 불완전 이미지를 완료라고 표시하지
  않는다.
- 통과 기준: 정상 이미지의 크기·SHA-256 일치, 취소·재개 결과 일치.

### 4단계: 스캔

- FAT32·exFAT 구조 검증 결과, 찾은 후보 수, 경고와 알려진 제한을 실시간으로
  표시한다.
- Main boot가 손상되어 Backup을 사용했다면 그 사실을 명시한다.
- 통과 기준: 구조가 양쪽 모두 손상됐을 때 안전 거부하고, 정상 상태에는 불필요한
  경고를 표시하지 않는다.

### 5단계: 선택과 복구

- 파일명, 추정 크기, 감지 유형, 복구 방식, 신뢰도와 근거로 정렬·필터링한다.
- 복구 대상과 예상 총용량을 보여 주고, 목적지가 원본과 같은 물리 디스크이면
  차단한다.
- 기존 파일을 덮어쓰지 않고 안전한 새 이름을 사용한다.
- 통과 기준: 기존 목적지 변경 0건, 원본 디스크 쓰기 0건.

### 6단계: 결과와 검증

- “성공”, “검증된 성공”, “불확실”, “실패”를 서로 다른 상태로 표시한다.
- 각 파일의 출력 경로, 크기, SHA-256, 유형, 신뢰도, 제한과 오류를 HTML·JSON에
  남긴다.
- 다음 행동은 “결과 폴더 열기”, “보고서 열기”, “다시 스캔”, “전문가 의뢰”로
  제한한다.
- 통과 기준: 실패·불확실 결과를 성공으로 집계하는 경우 0건.

### 공통 접근성·사용성 기준

- 1280×720, 1920×1080, Windows 150% 배율에서 주요 버튼과 상태가 잘리지 않는다.
- 마우스 없이 F5, Ctrl+O, Ctrl+F, Ctrl+A, Esc로 핵심 작업이 가능하다.
- 모든 오류 메시지는 원인, 영향, 다음 행동을 포함한다.
- 비지도 사용자 시험에서 5명 중 4명 이상이 외부 문서 없이 6단계를 완주해야
  Beta 1 UX 게이트를 통과한다.

## 12. 상용화 판단 규칙

- 개발 진행률은 코드 작성량이 아니라 증거가 등록된 마일스톤만 합산한다.
- 자동시험만 통과한 기능은 해당 마일스톤의 최대 50%까지만 인정한다.
- 물리 장치, 실제 Windows 환경 또는 사용자 시험이 필요한 항목은 그 시험 없이는
  100%로 표시하지 않는다.
- 다운로드가 가능하더라도 코드 서명·설치·지원 체계가 없으면 “개발판”으로
  표시한다.
- 알려진 제한, 미통과 게이트와 안전 거부는 사이트와 결과 보고서에서 숨기지
  않는다.

## 13. 2026-07-29 Dev 5 Windows UX 검증 상태

`0.4.0 Beta 1 Dev 5`는 여섯 단계 사용 흐름의 핵심 동작이 저해상도와 고배율에서
잘리지 않는지를 자동 판정하고, 실제 Windows 실행 화면을 증거로 남기는
개발판이다.

구현·검증된 항목:

- 여섯 단계 전체를 접근성 트리로 렌더링해 핵심 동작 7개의 존재 여부, 활성 상태,
  화면 내부 배치를 자동 검사한다.
- 자동 검사 프로필은 1280×720 100%, 1920×1080 150%,
  1280×720 150%(논리 화면 853.333×480)이며 3/3 통과했다.
- Windows 11 Pro 빌드 26200, 적용 DPI 144(150%), 작업 영역 1024×720에서
  시작·원본 선택·이미지 확보·결과 검증 화면 4개를 실제 실행 화면으로
  보존했다.
- Rust 전체 시험 46/46, Clippy 경고 0, Windows GUI·CLI Release 빌드를
  통과했다.
- UI 감사 JSON SHA-256은
  `a44dbc3aff16421d0a0dc67cdb35979183002cb26164c480b50aaa0a6e0197d3`이다.
- Windows GUI SHA-256은
  `b71d6f44f078ddeca59b5f26696f72af20f67d899101e5606bc19e04a0bf924d`이며
  Authenticode 상태는 `NotSigned`이다.

아직 UX 및 상용 Beta 1 통과로 표시할 수 없는 항목:

- 실제 Windows 10 x64에서 동일 UI·코어 회귀 시험
- 비지도 사용자 5명 중 4명 이상이 외부 문서 없이 여섯 단계 완주
- 별도로 준비한 물리 exFAT USB 및 제조사·용량이 다른 추가 USB 검증
- 장시간 물리 읽기 오류 주입 시험
- Windows 코드 서명 인증서와 서명된 설치형 또는 포터블 패키지

따라서 Dev 5의 Windows UX 영역은 구현과 자동·실행 화면 증거는 확보했지만,
Windows 10과 비지도 사용자 시험 전에는 100%로 계산하지 않는다.
