UnGathered Finds Missing Companions in Local Collections
The inspection record is the sort of file nobody notices until somebody needs it. A product folder can contain drawings, notes and several revisions of a specification, while still lacking the one document needed to release a job. UnGathered starts with that awkward possibility. Its first release checks local collections against explicit rules and reports the companions that are missing or fail their declared checks.
A small JSON manifest supplies the expectations. It selects items, such as one directory per product, and names the files each item needs. A rule can require a nonempty drawing, a directory for supporting material or a line of credit text inside an article. The scanner handles file and directory anchors, expands companion paths and keeps each result visible in text, JSON or a self-contained HTML report.
The boundary between a gap and an error is part of the design. A missing inspection record is a gap. An unreadable directory is an operational problem, because the scanner cannot establish what it contains. Those conditions have different exit codes and appear separately in reports. An empty anchor selection also fails by default, making an accidentally misplaced collection less likely to look reassuringly complete.
UnGathered runs as one Go binary under Apache 2.0. It does not write to the collection or make repairs. Content checks use bounded reads, report paths are reserved outside the input root, and relevant symlinks are treated as errors rather than followed. The source must remain stable during the scan; this is a sequence of filesystem reads, without an atomic snapshot of a changing folder.
The download page offers Linux, macOS and Windows archives, including the example manifests and reference. The quick start prepares a small document pack, while the recorded scan explorer shows actual reports from the released implementation. No account is needed. The useful first step is simply to write down what one item should have beside it.