AHD · Verify
Show me your manifest.
Paste a hostname. This page fetches
https://<host>/ahd.json, reads the lint summary,
and shows it back to you. There is no "trust us, we lint it"
involved. The answer comes from whatever the site itself is
publishing.
For a site that does not publish its own
/ahd.json, use /audit instead.
That route fetches the HTML directly and runs the source linter
against it.
Embed the badge
When /ahd.json is live on your site, you get a live
badge you can embed anywhere. It re-fetches on every request, so
the badge changes the moment your site fails lint.
<a href="https://ahd.adastra.computer/verify?site=yourdomain.com">
<img
src="https://ahd.adastra.computer/badge/yourdomain.com"
alt="Linted by AHD"
width="128"
height="36" />
</a> Enter a site above; this snippet updates with the domain you just checked.
The badge is green when there are zero errors and zero warns,
amber when there are warns, red when there are errors, grey
when no manifest is found. All of that is decided by parsing
your /ahd.json at request time; nothing is cached
for longer than five minutes.
How to publish an ahd.json
Run ahd lint in your build and write the summary to
dist/ahd.json at a well-known path. A reference
implementation lives in
ahd-site's build-manifest.mjs. It runs post-Astro-build,
writes the file, and exits non-zero on any error-severity rule so
a broken build never deploys.
Nothing in the badge protocol is AHD-specific beyond the shape
of the JSON. If you want to produce your own manifest with
different rules, publish whatever JSON you like at
/ahd.json with a lint: { error, warn, info }
object and the badge will render it.
What the badge does not promise
Green doesn't mean good design. It means a site's own lint run came back clean. A thin page that does nothing scores green for the same reason. The signal is: this team ran a named taxonomy against their output and published the result. Honest minimalism passes; honest ambition sometimes doesn't. The methodology page is where that caveat lives in full.