{
 "events": [],
 "held_value": {
  "active": false,
  "main_answer": false,
  "questions": [],
  "rule": "If a check does not record a value, the page keeps the last confirmed value for a short time, marked with its date; after that the value is shown as unknown."
 },
 "history": [
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-09-28T14:15:13.348Z",
   "measurement_id": "1f8e26545ad3a337"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-09-28T14:45:04.207Z",
   "measurement_id": "d3b83b8fc882f08a"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-09-28T17:59:18.581Z",
   "measurement_id": "775078f0bd1f8ff3"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-09-28T18:41:54.358Z",
   "measurement_id": "711f712243006afa"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-09-29T01:24:04.546Z",
   "measurement_id": "3f35f510f5f0c43e"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-09-30T01:24:06.028Z",
   "measurement_id": "a1715ef58ca05aa6"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-01T01:20:40.756Z",
   "measurement_id": "5439525e55f7bbcb"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-02T01:20:45.060Z",
   "measurement_id": "35db52fd0735c3e2"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-03T01:22:22.228Z",
   "measurement_id": "a38c6734cab2ccd1"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-04T01:19:32.872Z",
   "measurement_id": "8e1f0af21d4819ae"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-05T01:21:01.640Z",
   "measurement_id": "e7925f29a6e2b927"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-06T01:19:52.569Z",
   "measurement_id": "7733477cd07cf624"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-07T01:23:41.904Z",
   "measurement_id": "96fbfe7172b750c5"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-08T01:20:12.087Z",
   "measurement_id": "bdd0384451a3fca0"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-09T01:22:47.022Z",
   "measurement_id": "0f7629e864dfaa0c"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-10T01:21:59.831Z",
   "measurement_id": "d5e2b09c893cee56"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-11T01:22:14.824Z",
   "measurement_id": "53c8c95c46990299"
  },
  {
   "evidence": {
    "bytes": 5561,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-12T01:24:01.493Z",
   "measurement_id": "e3df96727ffb5229"
  },
  {
   "evidence": {
    "bytes": 5550,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-13T01:21:44.181Z",
   "measurement_id": "6a75637594ec528f"
  },
  {
   "evidence": {
    "bytes": 5550,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-14T01:23:00.850Z",
   "measurement_id": "1096f849f72f2586"
  },
  {
   "evidence": {
    "bytes": 5550,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-15T01:25:49.106Z",
   "measurement_id": "6fc75f7de507e2f8"
  },
  {
   "evidence": {
    "bytes": 5550,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-16T01:22:19.008Z",
   "measurement_id": "29e3f69d1fd361a0"
  },
  {
   "evidence": {
    "bytes": 5550,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-17T01:27:05.362Z",
   "measurement_id": "de8519e4cc6f2a2b"
  },
  {
   "evidence": {
    "bytes": 5550,
    "http_status": 403,
    "url": "https://www.npmjs.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": null
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:npmjs.com",
   "claim": null,
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": "Not recorded yet.",
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "unknown",
   "question": "Which AI bots does npm block in robots.txt?",
   "time": "2026-10-18T01:27:19.304Z",
   "measurement_id": "3c3c2e9cb58d9da3"
  }
 ],
 "object": {
  "extra": {},
  "name": "npm",
  "category": "service",
  "object_id": "ai-bot-policy:npmjs.com",
  "affiliate": null,
  "section": "ai-bot-policy",
  "schema": "object",
  "schema_version": "1",
  "url": "https://www.npmjs.com/"
 },
 "description": {
  "unit": "fraction",
  "name": "ai-bot-policy",
  "index": "Caliper Press AI Bot Policy Watch",
  "title_en": "AI bot access policies",
  "version": "1"
 },
 "section": "ai-bot-policy",
 "indicators": [
  {
   "unit": "days",
   "code": "days_observed",
   "n": 0,
   "window": "30d",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 24,
   "window": "30d",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 0,
   "window": "30d",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 0,
   "window": "30d",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "not_determined",
   "code": "latest_value",
   "n": 0,
   "window": "30d",
   "description_en": "Latest usable measured value in this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 0,
   "window": "30d",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "days",
   "code": "days_observed",
   "n": 0,
   "window": "7d",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 7,
   "window": "7d",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 0,
   "window": "7d",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 0,
   "window": "7d",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "not_determined",
   "code": "latest_value",
   "n": 0,
   "window": "7d",
   "description_en": "Latest usable measured value in this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 0,
   "window": "7d",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "days",
   "code": "days_observed",
   "n": 0,
   "window": "90d",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 24,
   "window": "90d",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 0,
   "window": "90d",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 0,
   "window": "90d",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "not_determined",
   "code": "latest_value",
   "n": 0,
   "window": "90d",
   "description_en": "Latest usable measured value in this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 0,
   "window": "90d",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "days",
   "code": "days_observed",
   "n": 0,
   "window": "all",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 24,
   "window": "all",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 0,
   "window": "all",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 0,
   "window": "all",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "not_determined",
   "code": "latest_value",
   "n": 0,
   "window": "all",
   "description_en": "Latest usable measured value in this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 0,
   "window": "all",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": "No successful measurement in this window.",
   "data_status": "unknown",
   "value": null
  }
 ],
 "latest": {
  "evidence": {
   "bytes": 5550,
   "http_status": 403,
   "url": "https://www.npmjs.com/robots.txt"
  },
  "extra": {},
  "measured": {
   "unit": "fraction",
   "value": null
  },
  "data_class": "public",
  "method_version": "1",
  "object_id": "ai-bot-policy:npmjs.com",
  "claim": null,
  "section": "ai-bot-policy",
  "section_version": "1",
  "repeats": 1,
  "reason": "Not recorded yet.",
  "region": "CH",
  "region_name": "Switzerland",
  "schema": "measurement",
  "schema_version": "1",
  "data_status": "unknown",
  "question": "Which AI bots does npm block in robots.txt?",
  "time": "2026-10-18T01:27:19.304Z",
  "measurement_id": "3c3c2e9cb58d9da3"
 },
 "quarantine": {
  "active": false,
  "held": [],
  "main_answer": false,
  "rule": "A very large price move is shown only after checks on two different dates return the same price; until then the page shows the previous value."
 },
 "raw_journal": [],
 "generated_at": "2026-10-18T12:07:44.880Z",
 "schema": "object_slice",
 "schema_version": "1"
}