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

Next revision
Previous revision
takeoutphotosanitizer:uncertain_reclassificatio_workflow_guide [2026/02/23 13:19] – created hyjeongtakeoutphotosanitizer:uncertain_reclassificatio_workflow_guide [2026/02/23 15:52] (current) – removed hyjeong
Line 1: Line 1:
-<!DOCTYPE makrdown> 
- 
-# \_Uncertain Reclassification Workflow Guide 
- 
-Generated on: 2026-02-23 04:00:02 
- 
------------------------------------------------------------------------- 
- 
-## Overview 
- 
-This document describes a safe and extensible workflow for reclassifying 
-files from the `_Uncertain` folder **without modifying original SHA-256 
-hashes**. 
- 
-Core principles: 
- 
--   SHA-256 original file list remains untouched 
--   Files are never edited (no EXIF rewrite, no re-save) 
--   Reclassification is handled via external override records 
--   Designed to support future expansion (albums, people, places) 
- 
------------------------------------------------------------------------- 
- 
-# Step 0 -- Create Operational Folders 
- 
-Create: 
- 
-PhotoVault_ops\ 
-PhotoVault_ops`\reclass`{=tex}\ 
-PhotoVault_ops`\notes`{=tex}\ 
- 
-These folders store operational metadata only. 
- 
------------------------------------------------------------------------- 
- 
-# Step 1 -- Export \_Uncertain List 
- 
-``` 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 
-``` 
- 
------------------------------------------------------------------------- 
- 
-# Step 2 -- Manual Review 
- 
-Open `uncertain_review.csv` in Excel. 
- 
-Add two columns: 
- 
--   year_final 
--   note 
- 
-Fill only confident cases. 
- 
-Save as: 
- 
-PhotoVault_ops`\reclass`{=tex}`\uncertain`{=tex}\_review_done.csv 
- 
------------------------------------------------------------------------- 
- 
-# Step 3 -- Create Year Override File 
- 
-``` 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 
-``` 
- 
-Format: 
- 
-sha256`<TAB>`{=html}year_final`<TAB>`{=html}date`<TAB>`{=html}note 
- 
------------------------------------------------------------------------- 
- 
-# Step 4 -- Move Files to Year Folder 
- 
-``` 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 
-} 
-``` 
- 
------------------------------------------------------------------------- 
- 
-# Optional -- Future Annotation File 
- 
-Create: 
- 
-PhotoVault_ops`\notes`{=tex}`\annotations`{=tex}.tsv 
- 
-Format: 
- 
-sha256`<TAB>`{=html}key`<TAB>`{=html}value`<TAB>`{=html}date 
- 
-Example: 
- 
-AAA... place Jeju Seongsan 2026-02-23 AAA... people Mom;Dad 2026-02-23 
- 
-This allows future expansion to albums, people, places without changing 
-the core index. 
- 
------------------------------------------------------------------------- 
- 
-# Operating Loop 
- 
-1.  Review `_Uncertain` 
-2.  Fill `year_final` 
-3.  Generate `year_override.tsv` 
-4.  Move files 
-5.  Repeat until `_Uncertain` shrinks 
- 
------------------------------------------------------------------------- 
- 
-# Design Philosophy 
- 
--   Files are immutable objects 
--   SHA-256 is permanent identity 
--   Reclassification is metadata 
--   Albums and annotations are relationship layers 
- 
------------------------------------------------------------------------- 
- 
-End of document. 
  
takeoutphotosanitizer/uncertain_reclassificatio_workflow_guide.1771820366.txt.gz · Last modified: by hyjeong