⚒️ DAM System — Component Architecture

HandiRamp Photo Intake & Classification — Mini 3 pipeline + Review UI + Tag Taxonomy

HandiRamp DAM — System Architecture ⚒️ Forge · Mini 3 Pipeline · June 2026 Mini 3 — Tagging Engine (192.168.1.43) intake/ Dropbox drop OR wc_import.py (pre-tagged from WC) watcher.py watchdog on intake/ — file-settle wait tagger.py pHash dedup + upgrade detect → tag preserve → AI scene/angle tag → exiftool XMP merge processing/ (working set) · archive/ (originals + superseded) AI Vision — Local-First 1st: llava-llama3 (Ollama, local) Fallback: claude-sonnet-4-6 · gate: 5+ tags + 1 hr: review_gen.py Builds per-batch review HTML processing/ Working set archive/ Originals dupes/ pHash duplicates HTTP Server /apply-corrections launchd (com.nathanshiba.dam-watcher) RunAtLoad + KeepAlive XMP / Metadata (written into file) XMP Tags (in-file) dc:subject · XMP:Rating · HierarchicalSubject dc:description AI caption / alt text · dc:title · dc:rights Tag Taxonomy product-tags.csv prefix · tag · label · desc · active Tag Worksheet ✓ product-tags-worksheet.html SOURCE OF TRUTH Tag Namespaces hr: ps: ht: ft: · sc: · spec: 40 sc: tags · product tags CSV-driven Review UI (handiramp.com) Review Portal tag-review-mockup.html Image + thumbs Tag Editor chips + notes Submit → /apply-corrections POST to Mini 3 HTTP server XMP rewritten · notes logged Self-Learning Loop training-set.json Verified image→tag pairs rules.md Distilled tagging rules corrections-log.json Audit trail — every edit Distillation Script corrections → rules ⚠ Not yet built qwen2.5:32b (Ollama) — distillation model Strong reasoning over structured correction text Legend Input Script / process Storage / folder Config / hosted Human review Utility / state Learning loop
Website Product Photos — Pre-Tagged Import

wc_import.py pulls every image from the WooCommerce gallery for each product, pre-writes the product tag (ps:), SKU, and color directly into the image XMP, then drops it into intake/. The tagger detects existing product tags, preserves them, and only runs AI vision for scene and angle tags. Final file gets the canonical hash-based filename and lands in processing/ ready for review — with product identity already locked.

Upgrade Detection — Original Replaces Placeholder

Website images are downsized (600–1200px). When the original full-resolution photo arrives later, the tagger recognises it via perceptual hash and promotes it automatically: all tags transfer from the small version to the original, the old file moves to archive/ with a _superseded suffix, and the high-res original becomes the canonical asset. No re-tagging needed.