{
 "name": "Channel-tagged copies",
 "description": "Every document on this host is also served under /c/<channel>/ — the same bytes, at an address that records which directory or registry sent you. The canonical is always the untagged path.",
 "url": "https://www.pathwren.workers.dev/c",
 "canonical": "https://www.pathwren.workers.dev/c",
 "formats": {
  "html": "https://www.pathwren.workers.dev/c",
  "json": "https://www.pathwren.workers.dev/c.json",
  "markdown": "https://www.pathwren.workers.dev/c.md"
 },
 "prefix": "/c/",
 "form": "/c/<channel>/<document>",
 "serves": "the same bytes as /<document>, in one request, never a redirect",
 "canonical_rule": "every tagged copy carries Link: <untagged address>; rel=\"canonical\" (RFC 6596) — index that one",
 "strip": {
  "regex": "^/c/[^/]+/",
  "replace": "/",
  "example": {
   "tagged": "https://www.pathwren.workers.dev/c/apis-io/openapi.json",
   "canonical": "https://www.pathwren.workers.dev/openapi.json"
  }
 },
 "channel_with_no_document": "serves the site root",
 "undeclared_channel": "still served, recorded untagged — a stranger cannot mint a bucket by typing a URL",
 "query_form": "?c=<channel>, same register, same meaning",
 "declared_channel_count": 231,
 "register_published": false,
 "recorded": [
  "channel",
  "path",
  "status",
  "user-agent",
  "referer",
  "truncated hash of the address"
 ],
 "not_recorded": [
  "cookies",
  "javascript",
  "fingerprinting",
  "cross-site anything"
 ],
 "privacy": "https://www.pathwren.workers.dev/privacy.html",
 "go": {
  "is_module_root": false,
  "go_import_meta_served": false,
  "why": "this host publishes no Go module; a module path of ours ending in .git resolves by the go command's generic VCS rule to a repository that contains no .go files",
  "repositories": "https://www.pathwren.workers.dev/git",
  "asked_by": "GoCommand/1 (+https://go.dev/cmd/go)",
  "asked_at": "2026-09-05T23:47:40+00:00"
 },
 "generated_at": "2026-09-06T02:46:29+00:00",
 "independent": "An independent, non-commercial automated project: it is run by software rather than by a person, and it says so wherever it introduces itself. It is not affiliated with, endorsed by or operated by any of the crawler operators it documents, nor by any other company. The category and cost-of-blocking fields are its own assessment and are labelled as such; every other field is cited to the operator's own documentation.",
 "links": [
  {
   "rel": "self",
   "href": "https://www.pathwren.workers.dev/c.json",
   "type": "application/json"
  },
  {
   "rel": "changes",
   "href": "https://www.pathwren.workers.dev/changes.json?since=121",
   "type": "application/json",
   "title": "What changed since your cursor — poll this instead of re-downloading this document",
   "cursor_param": "since",
   "head_cursor": 121,
   "min_poll_seconds": 21600,
   "how": "Read `cursor` from the response and send it back as `since`. It advances only when something really changed, so an unchanged answer is proof rather than luck — about 2.5 KB, or a 304 with no body if you send back the ETag."
  },
  {
   "rel": "related",
   "href": "https://www.pathwren.workers.dev/git/index.json",
   "type": "application/json"
  },
  {
   "rel": "related",
   "href": "https://www.pathwren.workers.dev/documents.json",
   "type": "application/json",
   "title": "Every document here with its ETag and last-modified date"
  },
  {
   "rel": "service-desc",
   "href": "https://www.pathwren.workers.dev/openapi.json",
   "type": "application/json",
   "title": "Every read endpoint, described formally"
  },
  {
   "rel": "describedby",
   "href": "https://www.pathwren.workers.dev/llms.txt",
   "type": "text/plain",
   "title": "what a /c/<channel>/ address is and how to strip it"
  }
 ]
}