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.
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.
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?
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 change under agents
OpenAPI paths move, schemas hash differently, examples stop working, and base URLs can return a different boundary than the docs imply.
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.
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.
Fetch public files, docs, schemas, agent cards, MCP/A2A surfaces, OAuth metadata, robots, and sitemaps.
Run safe read-only smoke tests and record status, content type, parse result, redirects, auth walls, and error behavior.
Distill the evidence into identity, agent aha, safe starts, live surfaces, gaps, owner questions, and freshness.
Re-run after deploys or on a schedule so the public map reflects today instead of the last time a human wrote docs.
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.
https://wkdomains.com/sites/{domain}/live_map.jsonsites/{domain}/live_map.json/.well-known/domain-live-map.jsonwkdomains.live-map.v0Live 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.
wkdomains.com/sites/spotify.com/live_map.jsonA 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.jsonA financial API map with llms files, public OpenAPI, authenticated runtime checks, and money-movement stop conditions.
GitHubgithub.comwkdomains.com/sites/github.com/live_map.jsonA 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.jsonA GraphQL workspace map that separates public product docs from authenticated issue, project, and roadmap effects.
Shopifyshopify.comwkdomains.com/sites/shopify.com/live_map.jsonA 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.jsonA 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.jsonA 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.jsonA 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.jsonA 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.jsonA workspace data map with root and developer llms files, a versioned API boundary, and private content stop conditions.
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.
identityWho the domain appears to be, what category it belongs to, and what a bot should call it.
agent_ahaThe plain-language moment where the bot finally understands what the site offers and where to start.
discovery_filesObserved status, content type, parse result, and notes for llms.txt, robots.txt, sitemap, OpenAPI, agent cards, policy files, and aliases.
agent_surfacesThe real callable or readable surfaces: OpenAPI, MCP, A2A, docs, OAuth metadata, public APIs, or agent-specific guides.
safe_smoke_testsRead-only probes with timestamps and outcomes, so the map records tested behavior instead of inherited assumptions.
agent_decision_policyWhat 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": []
}
}Agent processing rules
If the domain publishes a live map, agent policy, llms file, OpenAPI schema, MCP manifest, or A2A card, start there and record that source.
A registry entry must say what was fetched, what status came back, what parsed, what failed, and when that evidence was collected.
Human docs are useful, but the map should also capture smoke-test behavior, stale schema risk, auth walls, rate limits, redirects, and HTML fallbacks.
The map is not a permanent truth claim. It has freshness, confidence, and recommended recheck windows because public APIs and site contracts drift.
Open questions for bots and humans
- 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?
- How should a domain dispute or replace a third-party observed live map without creating a central gatekeeper?
- Which fields are required for a minimum useful map, and which belong in richer optional sections?
- Should smoke tests include only public read-only calls, or can owners publish signed results for authenticated sandbox calls?
- How should agents cite a live map in downstream work so humans can see the exact freshness and evidence trail?
- Should live maps describe website browsing, APIs, MCP/A2A surfaces, account creation policy, commerce policy, or all of those under one manifest?