takeoutphotosanitizer:uncertain_reclassificatio_workflow_guide
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| takeoutphotosanitizer:uncertain_reclassificatio_workflow_guide [2026/02/23 13:23] – [Step 0 -- Create Operational Folders] hyjeong | takeoutphotosanitizer:uncertain_reclassificatio_workflow_guide [2026/02/23 15:52] (current) – removed hyjeong | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | < | ||
| - | |||
| - | # \_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: | ||
| - | |||
| - | - | ||
| - | - Files are never edited (no EXIF rewrite, no re-save) | ||
| - | - | ||
| - | - | ||
| - | ed to support future expansion (albums, people, places) | ||
| - | |||
| - | ------------------------------------------------------------------------ | ||
| - | |||
| - | # Step 0 -- Create Operational Folders | ||
| - | |||
| - | Create: | ||
| - | |||
| - | PhotoVault\ | ||
| - | _ops\ | ||
| - | _ops\reclass\ | ||
| - | _ops\notes\ | ||
| - | |||
| - | _ops`\reclass`{=tex}\ | ||
| - | PhotoVault_ops`\notes`{=tex}\ | ||
| - | |||
| - | These folders store operational metadata only. | ||
| - | |||
| - | ------------------------------------------------------------------------ | ||
| - | |||
| - | # Step 1 -- Export \_Uncertain List | ||
| - | |||
| - | ``` powershell | ||
| - | $unc = " | ||
| - | Get-ChildItem $unc -File -Recurse | | ||
| - | Select-Object FullName, Name, Length, LastWriteTime | | ||
| - | Export-Csv " | ||
| - | ``` | ||
| - | |||
| - | ------------------------------------------------------------------------ | ||
| - | |||
| - | # Step 2 -- Manual Review | ||
| - | |||
| - | Open `uncertain_review.csv` in Excel. | ||
| - | |||
| - | Add two columns: | ||
| - | |||
| - | - | ||
| - | - note | ||
| - | |||
| - | Fill only confident cases. | ||
| - | |||
| - | Save as: | ||
| - | |||
| - | PhotoVault_ops`\reclass`{=tex}`\uncertain`{=tex}\_review_done.csv | ||
| - | |||
| - | ------------------------------------------------------------------------ | ||
| - | |||
| - | # Step 3 -- Create Year Override File | ||
| - | |||
| - | ``` powershell | ||
| - | $in = " | ||
| - | $out = " | ||
| - | |||
| - | Import-Csv $in | Where-Object { $_.year_final -match ' | ||
| - | ForEach-Object { | ||
| - | $h = (Get-FileHash $_.FullName -Algorithm SHA256).Hash | ||
| - | " | ||
| - | } | Set-Content $out -Encoding UTF8 | ||
| - | ``` | ||
| - | |||
| - | Format: | ||
| - | |||
| - | sha256`< | ||
| - | |||
| - | ------------------------------------------------------------------------ | ||
| - | |||
| - | # Step 4 -- Move Files to Year Folder | ||
| - | |||
| - | ``` powershell | ||
| - | $in = " | ||
| - | $rootMedia = " | ||
| - | $log = " | ||
| - | |||
| - | Import-Csv $in | Where-Object { $_.year_final -match ' | ||
| - | 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, | ||
| - | $dst = Join-Path $dstDir (" | ||
| - | } | ||
| - | |||
| - | Move-Item -LiteralPath $src -Destination $dst | ||
| - | |||
| - | " | ||
| - | Add-Content $log -Encoding UTF8 | ||
| - | } | ||
| - | ``` | ||
| - | |||
| - | ------------------------------------------------------------------------ | ||
| - | |||
| - | # Optional -- Future Annotation File | ||
| - | |||
| - | Create: | ||
| - | |||
| - | PhotoVault_ops`\notes`{=tex}`\annotations`{=tex}.tsv | ||
| - | |||
| - | Format: | ||
| - | |||
| - | sha256`< | ||
| - | |||
| - | 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 | ||
| - | - | ||
| - | - | ||
| - | - | ||
| - | |||
| - | ------------------------------------------------------------------------ | ||
| - | |||
| - | End of document. | ||
takeoutphotosanitizer/uncertain_reclassificatio_workflow_guide.1771820613.txt.gz · Last modified: by hyjeong
