case studies

UnGathered Finds Missing Records in a Manufacturing Pack

Two product folders can look equally ready at a glance. In the generated manufacturing example, alpha has its specification, drawing and inspection record. Beta has a specification and a drawing filename too, but the drawing is empty and the inspection record is absent. A file listing shows plenty of activity. The declared checklist gives a more useful answer.

The example manifest selects directories matching products/* and requires three nonempty regular files inside each one: specification.pdf, drawing.pdf and inspection.csv. In one recorded scan with a downloaded UnGathered 0.1.0 binary on Linux x86_64, two selected items produce six checks. Four pass, one fails with too_small and one with missing. Alpha is complete under those rules; beta is not. The process exits 1, identifying declared gaps rather than an operational failure.

The recorded manufacturing fixture has a complete alpha pack and a beta pack with an empty drawing and missing inspection record

The command uses the manifest bundled in the release archive:

./ungathered --manifest examples/manufacturing.json --root pack --format json

The expected paths come from the directory anchor. For beta, {item}/drawing.pdf becomes products/beta/drawing.pdf. Keeping the empty drawing separate from the absent inspection record matters: one file needs content or replacement, while the other has not been supplied at all. Both are gaps, with different report statuses. The totals count requirements, rather than estimating how many hours of work remain.

These are generated placeholders, including the files with PDF extensions. The scanner establishes regular-file presence and minimum size; it does not parse a drawing, validate a PDF or approve an inspection. A nonempty but incorrect document would pass this particular manifest. That is a reason to name the checks precisely, rather than to treat their output as a substitute for document control.

The repository demonstration supplies a nonempty beta drawing and an inspection record, then scans the repaired fixture again. That second report has two complete items and six present checks. The script makes the fixture changes; UnGathered only observes them. File inventories and digests were checked before and after the read-only scans, and a separately downloaded binary reproduced the initial gap report. The recorded explorer shows both states, while the release evidence keeps the original reports and verification details.