# LIBRA ♎ — the Scales. Nimble-classified file librarian. Nimble is the classification brain; deterministic Python touches the filesystem. Nothing moves without your click. Every move is logged and one-click reversible. ## Pipeline scan → sha256 hash (deterministic dup detection) → content extract (pdf/zip/text/images) → Nimble structured JSON classification (think:false, strict enums) → safety validate → review plan UI → apply (dry-run default) → immutable op log → undo session. ## Run ``` python3 ~/libra/app.py # http://127.0.0.1:5731 ``` Requires: flask, pypdf (optional: Pillow). Nimble served by Ollama on nightmare (10.30.20.29:11434, model nimble:latest). ## Safety gates - No system paths, no symlinks, no overwrite (auto-suffix). - Confidence gate (tunable) — below threshold → REVIEW. - Duplicates are sha256-verified only; extras go to ~/libra/dupe_hold/, never deleted. - Every operation logged with src/dst/sha256; sessions undoable. ## Layout - app.py — everything (scanner, extractor, classifier, safety, organizer, UI) - taxonomy.yaml — editable destination map (class+subject → folder) - libra.db — SQLite index of files, operations, sessions