GraphSloth: auditing 29 abandoned project folders so I don't have to
Description and use
GraphSloth automatically audits 29 project folders, classifying them as ACTIVE, DORMANT, or ARCHIVE‑CANDIDATE based on disk size, git history, and structural graph facts, and produces a report with actionable recommendations.
Problem
Determining which of 29 large project folders on a developer’s desktop are safe to archive without risking deletion of active or deployed code.
Outcome
GraphSloth audited 29 folders, flagged 10 as ARCHIVE‑CANDIDATE (29.4 GB reclaimable), 16 as ACTIVE, and 3 as DORMANT. 9 archive candidates were automatically excluded due to deploy signals, including a live e‑commerce store and a production backend.
Workflow
- Scan each top‑level folder for disk size using du -sk
- Collect git facts (last commit age, branch, dirty state) and check one level into subfolders if the top level is not a git repo
- Extract structural graph facts via Graphify (tree‑sitter AST parsing) to obtain node/edge counts and most‑referenced symbol
- Run a local Gemma model on the collected facts to generate a verdict (ACTIVE, DORMANT, ARCHIVE‑CANDIDATE) and a one‑sentence reason citing the numbers
- Generate a static report; optionally, with --apply, move each archive candidate to a sibling _Archive/ folder after user confirmation
Evidence
GraphSloth scans a folder of projects and, for each one, pulls real facts: disk size, git commit age, and (for git repos) a real Graphify structural extraction — real tree‑sitter AST parsing, zero LLM cost — giving node/edge counts and the most‑referenced symbol.
A local Gemma model then reads those facts and returns a verdict: ACTIVE, DORMANT, or ARCHIVE‑CANDIDATE, with a one‑sentence reason that has to cite the actual numbers, not invent anything.
Real run against my actual Desktop: 29 folders audited, 10 flagged ARCHIVE‑CANDIDATE (29.4G reclaimable if I trust them), 16 ACTIVE, 3 DORMANT.
Partway through the real run, the OS killed the process. Not a bug in my code — Gemma sits at about 8GB resident in RAM, and my laptop ran low on memory in the background while the audit was running.
- Record date: 2026-10-23T12:26:05.079Z