<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>UnGathered.com</title>
    <link>https://ungathered.com/</link>
    <description>Recent content on UnGathered.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 24 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ungathered.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://ungathered.com/about/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/about/</guid>
      <description>&lt;p&gt;UnGathered is a local collection checker. It starts with items selected from a folder, such as one directory per product or one Markdown file per article. A JSON manifest declares what each item should have beside it. The scanner reports the missing companions and failed checks, while keeping operational errors separate from ordinary gaps.&lt;/p&gt;&#xA;&lt;p&gt;A manufacturing pack might need a specification, drawing and inspection record. An article might need a matching image file and a line crediting its photographer. The engine applies explicit naming and content rules. It does not guess what a document means or decide whether an image is legally usable. A folder can satisfy its declared rules and still be incomplete under a rule nobody wrote down.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://ungathered.com/contact/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/contact/</guid>
      <description>&lt;p&gt;Write to &lt;a href=&#34;mailto:info@ungathered.com&#34;&gt;info@ungathered.com&lt;/a&gt; about UnGathered, collection rules or integration work.&lt;/p&gt;&#xA;&lt;p&gt;For a reproducible problem, include the version, operating system, a manifest and a small folder layout that you can share. Reports contain paths and diagnostics, so inspect them before attaching private document packs. The &lt;a href=&#34;https://github.com/softdevstudio/ungathered&#34;&gt;code repository&lt;/a&gt; contains the current implementation and reference material.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Demo</title>
      <link>https://ungathered.com/demo/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/demo/</guid>
      <description>&lt;p&gt;A collection can look busy and still be missing something important. Choose a recorded scan below to see the expected companions and the gaps UnGathered reported. These are generated examples with placeholder documents and images. The manufacturing and publishing gap reports were produced by a downloaded UnGathered 0.1.0 binary; the repaired fixture is from the repository&amp;rsquo;s recorded demonstration.&lt;/p&gt;&#xA;&lt;p&gt;This page displays saved reports. It does not inspect your computer, run a scan in the browser or repair files. The incidental absolute root path has been omitted from the display data; the counts and requirement results are unchanged. Both gap examples contain two selected items, with one complete item and two failed requirements.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download</title>
      <link>https://ungathered.com/download/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/download/</guid>
      <description>&lt;p&gt;UnGathered is released under Apache 2.0. Each archive includes the executable, example manifests and reference files, with license notices. Choose the build for your operating system and processor.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/softdevstudio/ungathered/releases/latest/download/ungathered-linux-amd64.tar.gz&#34;&gt;Linux on Intel or AMD 64-bit&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/softdevstudio/ungathered/releases/latest/download/ungathered-linux-arm64.tar.gz&#34;&gt;Linux on ARM64&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/softdevstudio/ungathered/releases/latest/download/ungathered-darwin-amd64.tar.gz&#34;&gt;macOS on Intel&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/softdevstudio/ungathered/releases/latest/download/ungathered-darwin-arm64.tar.gz&#34;&gt;macOS on Apple Silicon&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/softdevstudio/ungathered/releases/latest/download/ungathered-windows-amd64.zip&#34;&gt;Windows on Intel or AMD 64-bit&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/softdevstudio/ungathered/releases/latest/download/SHA256SUMS&#34;&gt;SHA256SUMS manifest&lt;/a&gt; lets you check an archive after downloading it. Permanent download links follow the latest full release; versioned files remain on the &lt;a href=&#34;https://github.com/softdevstudio/ungathered/releases&#34;&gt;releases page&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick Start</title>
      <link>https://ungathered.com/quick-start/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/quick-start/</guid>
      <description>&lt;p&gt;Unpack the archive for your operating system from the &lt;a href=&#34;https://ungathered.com/download/&#34;&gt;download page&lt;/a&gt;. The executable, example manifests and reference are included. UnGathered needs no service to run alongside it. This example creates a new, deliberately incomplete document pack:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p collection/products/widget&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;printf &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Specification placeholder\n&amp;#39;&lt;/span&gt; &amp;gt; collection/products/widget/specification.pdf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./ungathered --manifest examples/manufacturing.json --root collection&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The filenames illustrate document roles; that placeholder is not a real PDF. The scan should return exit 1 and report the missing drawing.pdf and inspection.csv. The rule also checks that the specification is a nonempty regular file. It does not parse PDF contents or decide whether the specification is adequate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reference</title>
      <link>https://ungathered.com/reference/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/reference/</guid>
      <description>&lt;p&gt;A version 1 JSON manifest contains named collections. Each collection selects a relative anchor glob with items, chooses file or directory as its kind, and lists named requirements under require. A minimum of one selected item is assumed unless min_items explicitly says otherwise. Manifest keys use lowercase ASCII spelling. Unknown fields, duplicate keys, unsupported globs and invalid regexes are rejected.&lt;/p&gt;&#xA;&lt;p&gt;Each requirement gives an expected path relative to the scan root. The variables are {item}, the full relative anchor path; {name}, its basename; {stem}, the basename with its last extension removed; and {dir}, its parent directory. For articles/cafe.md those values are articles/cafe.md, cafe.md, cafe and articles. Required paths are literal after expansion, without wildcard searching.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UnGathered Checks Article Images and Photo Credit Lines</title>
      <link>https://ungathered.com/ungathered-checks-article-images-and-photo-credit-lines/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/ungathered-checks-article-images-and-photo-credit-lines/</guid>
      <description>&lt;p&gt;A missing image is often obvious in the browser. A missing credit line can be much easier to overlook, especially when the article itself reads well and the photo has already been selected. The publishing example gives both expectations a place in a local collection rule, before treating a folder of article assets as ready.&lt;/p&gt;&#xA;&lt;p&gt;The generated collection has two Markdown articles, cafe.md and harbor.md. The manifest selects articles/*.md, expects an image at images/{stem}.jpg and looks for a Photo credit: line followed by text inside each article. Cafe has both. Harbor has neither. One recorded scan by a downloaded UnGathered 0.1.0 binary on Linux x86_64 produces four checks: two present requirements, a missing image and a content_mismatch for the credit rule. There is one complete item, two gaps and no operational errors. The command exits 1.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UnGathered Finds Missing Companions in Local Collections</title>
      <link>https://ungathered.com/ungathered-finds-missing-companions-in-local-collections/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/ungathered-finds-missing-companions-in-local-collections/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UnGathered Finds Missing Records in a Manufacturing Pack</title>
      <link>https://ungathered.com/ungathered-finds-missing-records-in-a-manufacturing-pack/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/ungathered-finds-missing-records-in-a-manufacturing-pack/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UnGathered Names the Things That Have Not Been Collected</title>
      <link>https://ungathered.com/ungathered-names-the-things-that-have-not-been-collected/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/ungathered-names-the-things-that-have-not-been-collected/</guid>
      <description>&lt;p&gt;UnGathered begins with the part of a collection that is easiest to overlook: the things that have not been gathered. A folder can look substantial because it contains many files. That visual impression says very little about whether the particular companions needed for a job are present.&lt;/p&gt;&#xA;&lt;p&gt;The name fits the direction of the search. A normal listing starts with the files on disk and shows them to you. UnGathered starts with selected items and declared expectations, then asks which checks fail. The missing drawing receives a name in the report even though there is no drawing file to list. An empty inspection record can receive attention without pretending that its filename proves the work was recorded.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UnGathered Starts With What a Collection Should Contain</title>
      <link>https://ungathered.com/ungathered-starts-with-what-a-collection-should-contain/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/ungathered-starts-with-what-a-collection-should-contain/</guid>
      <description>&lt;p&gt;A folder listing answers a straightforward question: which files are here? Unfortunately, it cannot tell you which expected files never arrived. That needs another source of information. Someone has to know that a product needs an inspection record, or that an article&amp;rsquo;s image should have a matching credit line. UnGathered gives those expectations a small, executable form.&lt;/p&gt;&#xA;&lt;p&gt;The first concept is the anchor. It is an existing item selected by a relative glob: products/* for product directories, for instance, or articles/*.md for article files. Each anchor carries the requirements declared for its collection. With a product directory named products/widget, a path rule such as {item}/drawing.pdf expands to products/widget/drawing.pdf. The rule states the relationship rather than searching vaguely for a similar filename.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UnGathered Tests Gaps Without Hiding Scan Errors</title>
      <link>https://ungathered.com/ungathered-tests-gaps-without-hiding-scan-errors/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ungathered.com/ungathered-tests-gaps-without-hiding-scan-errors/</guid>
      <description>&lt;p&gt;A collection checker can fail in an especially unhelpful way: it can overlook the items it was supposed to check and then announce that everything is complete. UnGathered&amp;rsquo;s tests therefore pay attention to the route into a result, including anchor selection and errors, rather than only checking a report&amp;rsquo;s final totals.&lt;/p&gt;&#xA;&lt;p&gt;The automated tests cover required files and directories, minimum sizes, content patterns, path variables, missing parents and wrong types. They also check deterministic ordering, input preservation, HTML escaping and report output reservation. Empty collections fail by default. A content file above the configured read limit produces an operational error, without matching against a silently shortened prefix.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
