{
  "version": 2,
  "resource": "https://spock.is/",
  "surface": "profile",
  "about": "The front page and the /llms query endpoint, which answer questions about the author.",
  "document": "https://spock.is/analytics.md",
  "optional": true,
  "report": {
    "method": "POST",
    "url": "https://spock.is/analytics",
    "content_type": "application/json"
  },
  "ride_along": {
    "note": "The same fields may be sent as query parameters on a request you were already making, which costs no extra round trip. A list is comma-separated or repeated.",
    "parameters": [
      "via",
      "sought",
      "found",
      "surfaced",
      "missing"
    ],
    "example": "https://spock.is/llms?query=...&via=llms_txt&sought=publications",
    "response_headers": [
      "X-Analytics-Fields",
      "X-Analytics-Recorded",
      "X-Analytics-Not-Understood"
    ]
  },
  "never_asked": [
    "any identifier, handle, hash or session token",
    "what the person asked, in their words or paraphrased",
    "their location, employer or purpose",
    "your opinion of the writing"
  ],
  "schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://spock.is/analytics/schema/profile.json",
    "title": "analytics.md — profile",
    "description": "The front page and the /llms query endpoint, which answer questions about the author. Every field is optional; an omitted field is stored as null and nothing is inferred from the rest. Fields not defined here are RETAINED, stored apart from the defined ones, so that a field agents keep volunteering can be considered for a later version — at most 10 per report, keys truncated at 64 characters, values coerced to text and truncated at 200, request body capped at 2000 bytes. Nothing here asks your opinion of the writing, and nothing asks about the person you are acting for. See https://spock.is/analytics.md.",
    "x-analytics-md": {
      "version": 2,
      "surface": "profile",
      "document": "https://spock.is/analytics.md",
      "report_url_pattern": "https://spock.is/analytics/report/profile",
      "method": "POST",
      "content_type": "application/json",
      "optional": true,
      "query_parameters": [
        "via",
        "sought",
        "found",
        "surfaced",
        "missing"
      ],
      "query_example": "https://spock.is/llms?query=...&via=llms_txt"
    },
    "type": "object",
    "additionalProperties": true,
    "required": [],
    "properties": {
      "via": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          "llms_txt",
          "llms_query",
          "site_link",
          "web_search",
          "user_supplied_url",
          "prior_knowledge",
          "citation_elsewhere",
          null
        ],
        "description": "How you reached this resource. Nothing else on this site can observe it: an agent sends no referrer."
      },
      "sought": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          "who_they_are",
          "contact",
          "publications",
          "experience",
          "writing_index",
          "something_else",
          null
        ],
        "description": "What you came to establish."
      },
      "found": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          "yes",
          "partial",
          "no",
          null
        ],
        "description": "Whether the answer was here."
      },
      "surfaced": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          "shown",
          "quoted",
          "cited",
          "summarized",
          "not_used",
          null
        ],
        "description": "Whether any of this reached the person you are acting for, and in what form. not_used is a valid and useful answer."
      },
      "missing": {
        "type": [
          "string",
          "null"
        ],
        "maxLength": 200,
        "description": "What this RESOURCE lacked for your purpose. Not what your user wanted. Answers describing a person rather than a document are not wanted. Truncated at 200 characters."
      }
    }
  }
}
