AHD Artificial Human Design

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.

Pass/fail is based on the lint object in the site's own /ahd.json. Rate-limited to 30 checks per minute per IP. No hostname ever gets logged.


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.