Skip to content

add(agent-readiness): TDM reservation (TDMRep) + ship tdm-reservation: 0 - #132

Merged
jdevalk merged 3 commits into
mainfrom
add/tdmrep-2026-07-28
Jul 31, 2026
Merged

add(agent-readiness): TDM reservation (TDMRep) + ship tdm-reservation: 0#132
jdevalk merged 3 commits into
mainfrom
add/tdmrep-2026-07-28

Conversation

@jdevalk

@jdevalk jdevalk commented Jul 28, 2026

Copy link
Copy Markdown
Owner

What changed

  • New pageagent-readiness/tdmrep, status optional, order 43 (between robots-for-ai-crawlers and web-bot-auth).
  • Implementation shipped in the same PRtdm-reservation: 0 added to the /* block in public/_headers, with a comment explaining why it stays at 0.
  • relatedSlugs wired on content-signals, robots-for-ai-crawlers, agent-readiness-overview.
  • Changelog entry, OG images (new page + the four count-driven ones), SKILL.md re-signed to 165 pages.

Who actually consumes this — the question that shaped the page

Worth stating up front, because it decides the status:

Technical uptake is thin. Spawning AI reads TDMRep in the API it runs for model trainers; Common Crawl measures its prevalence when surveying opt-out signals. No major crawler operator has published a commitment to honour it the way they publish commitments about robots.txt.

The real consumer is a legal system. Article 4 of the EU CDSM Directive permits text and data mining unless the rightsholder reserved the right in a machine-readable way — so an unexpressed reservation is no reservation. On the other side, GPAI providers must have a policy for identifying and respecting those reservations, and in December 2025 the Commission opened a consultation to agree which protocols qualify, with TDMRep among the named candidates.

The page says both of these plainly rather than implying enforcement that does not exist. Hence optional, not recommended.

The misconception it names

TDMRep looks like another crawler blocker and is not one. robots.txt answers may you fetch this?; tdm-reservation answers having fetched it, may you mine it? A crawler honouring Disallow: never sees the content; a crawler honouring tdm-reservation: 1 reads the page happily and is then on notice. One is a gate, the other is a notice — and shipping TDMRep blocks nobody.

Why we send 0

The content is CC BY 4.0 and the entire point of this site is being read by machines. tdm-reservation: 0 states that in the same machine-readable form a refusal would take, rather than leaving it inferred from a licence file. It also makes the worked example demonstrate the grant direction, which is the less-published half of this convention.

We ship the header only, not /.well-known/tdmrep.json — the header covers non-HTML assets too, and the file is the lowest-precedence mechanism of the three. No api-catalog or Link header change: nothing new is discoverable at a URL, and tdm-reservation has no registered IANA link relation.

Verification

npm run build passes. The header is present in dist/_headers; it cannot be exercised locally because _headers is interpreted by Cloudflare Pages, not the preview server — worth a curl -sI against the deploy preview before this leaves draft.

🤖 Generated with Claude Code

New page documenting the W3C TDM Reservation Protocol — the HTTP header,
the <meta> form, /.well-known/tdmrep.json, and their precedence. Framed
around the misconception it invites: this is not a crawler blocker.
robots.txt governs fetching; tdm-reservation governs mining after the
fetch, and its force is legal (Article 4 CDSM) rather than technical.

Ships the implementation in the same PR: tdm-reservation: 0 on every
response, the machine-readable counterpart to CC BY 4.0.

Status is optional — technical uptake is thin and the page says so.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 28, 2026

Copy link
Copy Markdown

Deploying specification-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: e207b86
Status: ✅  Deploy successful!
Preview URL: https://9c7c6574.specification-website.pages.dev
Branch Preview URL: https://add-tdmrep-2026-07-28.specification-website.pages.dev

View logs

jdevalk added 2 commits July 31, 2026 11:53
# Conflicts:
#	public/.well-known/agent-skills/index.json
#	src/content/spec/agent-readiness/content-signals.md
# Conflicts:
#	public/.well-known/agent-skills/index.json
@jdevalk
jdevalk marked this pull request as ready for review July 31, 2026 09:55
@jdevalk
jdevalk merged commit 8ba9847 into main Jul 31, 2026
7 of 8 checks passed
@jdevalk
jdevalk deleted the add/tdmrep-2026-07-28 branch July 31, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant