wkdomains RFC / Draft / 2026-05-01

Domain live maps for web agents

A proposed JSON shape for fresh, evidence-backed maps of the files, APIs, auth boundaries, policies, and first safe calls a bot needs before acting on a domain.

01

Agents do not need another docs page. They need a tested map.

A human can visit a site, read marketing pages, click through docs, notice redirects, infer auth boundaries, and eventually understand what the company actually offers. Agents can do that too, but every agent repeating that crawl is slow, inconsistent, and sometimes unsafe.

The web already has useful files: robots.txt, sitemap.xml, llms.txt, OpenAPI, MCP manifests, A2A cards, OAuth metadata, and security contacts. There is not yet a common file that says: here is the current operational map, here is what we tested, here is what was stale or missing, and here is the safest first move for a bot.

02

This is a product surface, not just a registry file

The live map is the public artifact. The domain bot is the maintainer. Its job is to keep asking: if another agent arrived right now, what would it safely understand, where would it start, and where would it get stuck?

docs rot

Human docs age quietly

Marketing pages and developer docs can keep saying the old thing after routes, auth flows, rate limits, or terms have changed.

apis drift

APIs change under agents

OpenAPI paths move, schemas hash differently, examples stop working, and base URLs can return a different boundary than the docs imply.

safe first calls

Agents need a safe first move

A useful map tells the next bot where to begin, what is read-only, what requires delegation, and where to stop before mutating state.

bot maintenance

The domain bot keeps it current

The official bot continuously dogfoods the domain like an outside agent, updates the map, and escalates owner questions when policy is unclear.

01 / observe

Fetch public files, docs, schemas, agent cards, MCP/A2A surfaces, OAuth metadata, robots, and sitemaps.

02 / test

Run safe read-only smoke tests and record status, content type, parse result, redirects, auth walls, and error behavior.

03 / compile

Distill the evidence into identity, agent aha, safe starts, live surfaces, gaps, owner questions, and freshness.

04 / repeat

Re-run after deploys or on a schedule so the public map reflects today instead of the last time a human wrote docs.

03

wkdomains proposed convention

A domain live map is a dated JSON document that can be owner-published, registry-observed, or both. It should be treated like a health check for agent-readable web contracts, not a static directory listing. The map favors current evidence over permanent claims.

Registry URLhttps://wkdomains.com/sites/{domain}/live_map.json
Bucket keysites/{domain}/live_map.json
Owner path to discuss/.well-known/domain-live-map.json
Schemawkdomains.live-map.v0
04

Live JSON samples

These are deliberately different recognizable domains. Some are agent-friendly, some hide the useful contract behind docs or GitHub, and most require a hard stop before authenticated, high-effect actions.

Spotifyspotify.comwkdomains.com/sites/spotify.com/live_map.json

A multi-host developer surface where useful agent discovery crosses the consumer site, developer docs, OpenAPI YAML, OAuth metadata, and API host.

Stripestripe.comwkdomains.com/sites/stripe.com/live_map.json

A financial API map with llms files, public OpenAPI, authenticated runtime checks, and money-movement stop conditions.

GitHubgithub.comwkdomains.com/sites/github.com/live_map.json

A public REST API map with unauthenticated reads, rate-limit evidence, docs llms, and token-gated mutation boundaries.

Linearlinear.appwkdomains.com/sites/linear.app/live_map.json

A GraphQL workspace map that separates public product docs from authenticated issue, project, and roadmap effects.

Shopifyshopify.comwkdomains.com/sites/shopify.com/live_map.json

A commerce platform map where the useful API path is shop-scoped, versioned, token-gated, and split across API families.

OpenAIopenai.comwkdomains.com/sites/openai.com/live_map.json

A fast-moving API map that points agents to official docs exports and stops before keys, spend, private data, and persistent resources.

Twiliotwilio.comwkdomains.com/sites/twilio.com/live_map.json

A communications API map with public docs/specs and explicit boundaries before messages, calls, verification, and account changes.

Vercelvercel.comwkdomains.com/sites/vercel.com/live_map.json

A cloud API map with llms files, public OpenAPI, auth checks, and production-change boundaries for deployments and domains.

Slackslack.comwkdomains.com/sites/slack.com/live_map.json

A workspace API map that distinguishes harmless api.test from token-scoped message, channel, user, and admin operations.

Notionnotion.comwkdomains.com/sites/notion.com/live_map.json

A workspace data map with root and developer llms files, a versioned API boundary, and private content stop conditions.

05

Draft JSON shape

The shape is intentionally review-oriented. It does not only list endpoints. It records the bot's understanding, discovery evidence, safe probes, auth boundary, policy constraints, owner questions, and freshness.

identity

Who the domain appears to be, what category it belongs to, and what a bot should call it.

agent_aha

The plain-language moment where the bot finally understands what the site offers and where to start.

discovery_files

Observed status, content type, parse result, and notes for llms.txt, robots.txt, sitemap, OpenAPI, agent cards, policy files, and aliases.

agent_surfaces

The real callable or readable surfaces: OpenAPI, MCP, A2A, docs, OAuth metadata, public APIs, or agent-specific guides.

safe_smoke_tests

Read-only probes with timestamps and outcomes, so the map records tested behavior instead of inherited assumptions.

agent_decision_policy

What an agent may do, what requires human delegation, and what it must not attempt.

{
  "schema": "wkdomains.live-map.v0",
  "domain": "example.com",
  "observed_at": "2026-05-01T18:53:41Z",
  "observer": "wkdomains read-only sample scan",
  "confidence": "high",
  "freshness": {
    "status": "fresh",
    "checked_at": "2026-05-01T18:53:41Z",
    "ttl_seconds": 86400
  },
  "identity": {
    "name": "Example",
    "category": "public_api",
    "summary": "What this domain appears to offer."
  },
  "agent_aha": {
    "what_this_site_does": "The short human-quality understanding a bot reached.",
    "best_agent_start": "The safest first file or route.",
    "safe_default": "public_discovery_until_auth_or_delegation_exists"
  },
  "discovery_files": [
    {
      "path": "/llms.txt",
      "url": "https://example.com/llms.txt",
      "status": 200,
      "content_type": "text/plain",
      "classification": "valid_agent_orientation"
    }
  ],
  "agent_surfaces": [
    {
      "id": "openapi",
      "kind": "openapi",
      "url": "https://example.com/openapi.json",
      "status": "available"
    }
  ],
  "safe_smoke_tests": [],
  "agent_decision_policy": {
    "may_do_without_human": [],
    "must_ask_human_first": [],
    "must_not_do": []
  },
  "review": {
    "overall": "What worked, what was confusing, and what should be clarified.",
    "questions_for_owner": []
  }
}
06

Agent processing rules

Prefer owner files

If the domain publishes a live map, agent policy, llms file, OpenAPI schema, MCP manifest, or A2A card, start there and record that source.

Record observations

A registry entry must say what was fetched, what status came back, what parsed, what failed, and when that evidence was collected.

Separate docs from reality

Human docs are useful, but the map should also capture smoke-test behavior, stale schema risk, auth walls, rate limits, redirects, and HTML fallbacks.

Expire confidence

The map is not a permanent truth claim. It has freshness, confidence, and recommended recheck windows because public APIs and site contracts drift.

07

Open questions for bots and humans

  1. Should the owner-published path be /.well-known/domain-live-map.json, /.well-known/agent-map.json, or a section inside a broader agent policy manifest?
  2. How should a domain dispute or replace a third-party observed live map without creating a central gatekeeper?
  3. Which fields are required for a minimum useful map, and which belong in richer optional sections?
  4. Should smoke tests include only public read-only calls, or can owners publish signed results for authenticated sandbox calls?
  5. How should agents cite a live map in downstream work so humans can see the exact freshness and evidence trail?
  6. Should live maps describe website browsing, APIs, MCP/A2A surfaces, account creation policy, commerce policy, or all of those under one manifest?