User Tools

Site Tools


takeoutphotosanitizer:uncertain_reclassificatio_workflow_guide

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
takeoutphotosanitizer:uncertain_reclassificatio_workflow_guide [2026/02/23 15:47] – [0단계 – 운영 폴더 생성] hyjeongtakeoutphotosanitizer:uncertain_reclassificatio_workflow_guide [2026/02/23 15:52] (current) – removed hyjeong
Line 1: Line 1:
-====== _Uncertain 재분류 절차 가이드 ====== 
  
-생성일: 2026-02-23 
- 
-===== 개요 ===== 
- 
-이 문서는 _Uncertain 폴더에 분류된 파일을 
-SHA-256 원본을 변경하지 않고 안전하게 재분류하는 절차를 설명한다. 
- 
-핵심 원칙: 
- 
-  * 기존 SHA-256.txt는 절대 수정하지 않는다. 
-  * 파일 바이트(이미지 내용)는 절대 수정하지 않는다. 
-  * 재분류는 별도의 오버라이드(override) 기록 파일로 관리한다. 
-  * 향후 앨범, 인물, 장소 등 확장 가능성을 고려한다. 
- 
------ 
- 
-===== 0단계 – 운영 폴더 생성 ===== 
- 
-다음과 같이 PhotoVault 및 하위 폴더를 생성한다. 
- 
-  (작업 디렉토리) 
-  └─ Photos_Backup/ 
-     ├─ From_Google_Takeout/ 
-     │   ├─ 2019/ 
-     │   ├─ 2020/ 
-     │   └─ SHA-256.txt   ← hash DB 
-     └─ PhotoVault/ 
-         └─ _ops/ 
-              ├─ reclass/ 
-              └─ notes/ 
- 
-이 폴더에는 운영 및 관리 파일만 저장한다. 
- 
------ 
- 
-===== 1단계 – _Uncertain 목록 추출 ===== 
- 
-PowerShell 명령: 
- 
-<code powershell> 
-$unc = "PhotoVault/Media/_Uncertain" 
-Get-ChildItem $unc -File -Recurse | 
-Select-Object FullName, Name, Length, LastWriteTime | 
-Export-Csv "PhotoVault/_ops/reclass/uncertain_review.csv" -NoTypeInformation -Encoding UTF8 
-</code> 
- 
-생성 파일: 
- 
-  PhotoVault/_ops/reclass/uncertain_review.csv 
- 
------ 
- 
-===== 2단계 – 수동 검토 ===== 
- 
-엑셀에서 uncertain_review.csv를 열고 다음 열을 추가한다. 
- 
-  * year_final  (확정 연도, 예: 2014) 
-  * note        (판단 근거 메모) 
- 
-확신이 있는 파일만 year_final을 채운다. 
- 
-저장 파일: 
- 
-  PhotoVault/_ops/reclass/uncertain_review_done.csv 
- 
------ 
- 
-===== 3단계 – 연도 오버라이드 파일 생성 ===== 
- 
-PowerShell 스크립트: 
- 
-<code powershell> 
-$in  = "PhotoVault/_ops/reclass/uncertain_review_done.csv" 
-$out = "PhotoVault/_ops/reclass/year_override.tsv" 
- 
-Import-Csv $in | Where-Object { $_.year_final -match '^\d{4}$' } | 
-ForEach-Object { 
-    $h = (Get-FileHash $_.FullName -Algorithm SHA256).Hash 
-    "{0}`t{1}`t{2}`t{3}" -f $h, $_.year_final, (Get-Date -Format "yyyy-MM-dd"), ($_.note -replace "`t"," ") 
-} | Set-Content $out -Encoding UTF8 
-</code> 
- 
-파일 형식: 
- 
-  sha256<TAB>year_final<TAB>date<TAB>note 
- 
-이 파일은 “수동 재분류 패치 기록”이다. 
- 
------ 
- 
-===== 4단계 – 실제 파일 이동 ===== 
- 
-파일을 해당 연도 폴더로 이동한다. 
- 
-<code powershell> 
-$in  = "PhotoVault/_ops/reclass/uncertain_review_done.csv" 
-$rootMedia = "PhotoVault/Media" 
-$log = "PhotoVault/_ops/reclass/move_log.tsv" 
- 
-Import-Csv $in | Where-Object { $_.year_final -match '^\d{4}$' } | 
-ForEach-Object { 
- 
-    $src = $_.FullName 
-    $yy  = $_.year_final 
-    $dstDir = Join-Path $rootMedia $yy 
-    if (!(Test-Path $dstDir)) { New-Item -ItemType Directory -Path $dstDir | Out-Null } 
- 
-    $dst = Join-Path $dstDir $_.Name 
- 
-    if (Test-Path $dst) { 
-        $h8 = (Get-FileHash $src -Algorithm SHA256).Hash.Substring(0,8) 
-        $dst = Join-Path $dstDir ("{0}_{1}" -f $h8, $_.Name) 
-    } 
- 
-    Move-Item -LiteralPath $src -Destination $dst 
- 
-    "{0}`t{1}`t{2}`t{3}" -f (Get-Date -Format "yyyy-MM-dd HH:mm:ss"), $src, $dst, "moved" | 
-      Add-Content $log -Encoding UTF8 
-} 
-</code> 
- 
-이 과정은 파일 바이트를 변경하지 않으므로 SHA-256은 유지된다. 
- 
------ 
- 
-===== (선택) 향후 확장을 위한 주석 파일 ===== 
- 
-생성 가능 파일: 
- 
-  PhotoVault/_ops/notes/annotations.tsv 
- 
-형식: 
- 
-  sha256<TAB>key<TAB>value<TAB>date 
- 
-예: 
- 
-  AAA...    place    Jeju Seongsan    2026-02-23 
-  AAA...    people   Mom;Dad          2026-02-23 
- 
-이 구조는 향후 앨범, 인물, 장소, 키워드 확장에 사용된다. 
- 
------ 
- 
-===== 반복 운영 루프 ===== 
- 
-  - _Uncertain 검토 
-  - year_final 입력 
-  - year_override.tsv 생성 
-  - 파일 이동 
-  - _Uncertain 감소 확인 
-  - 반복 
- 
------ 
- 
-===== 설계 철학 ===== 
- 
-  * 파일은 불변 객체이다. 
-  * SHA-256은 영구 식별자이다. 
-  * 재분류는 메타데이터이다. 
-  * 앨범 및 주석은 관계 레이어이다. 
- 
-문서 끝 
takeoutphotosanitizer/uncertain_reclassificatio_workflow_guide.1771829268.txt.gz · Last modified: by hyjeong