{
 "spec": "readiness-l0 draft 0.1",
 "tester": "0.1.2",
 "started": "2026-09-19T20:10:49Z",
 "profiles": [
  "browser-ua",
  "python-urllib",
  "curl",
  "node-fetch"
 ],
 "results": [
  {
   "req": "L0-1",
   "url": "api.pennyforge.org",
   "result": "PASS",
   "detail": "resolved, connected, certificate verified (TLSv1.3)",
   "t": "2026-09-19T20:10:49Z"
  },
  {
   "req": "L0-2",
   "url": "https://api.pennyforge.org/check",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:10:54Z",
   "method": "POST",
   "codes": {
    "browser-ua": 402,
    "python-urllib": 402,
    "curl": 402,
    "node-fetch": 402
   },
   "source": "service card (GET /) + /.well-known/x402 + /llms.txt, all on api.pennyforge.org; also listed on x402-list.com"
  },
  {
   "req": "L0-3",
   "url": "https://api.pennyforge.org/check",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:10:59Z",
   "method": "POST",
   "codes": {
    "browser-ua": 402,
    "python-urllib": 402,
    "curl": 402,
    "node-fetch": 402
   }
  },
  {
   "req": "L0-4",
   "url": "https://api.pennyforge.org/check",
   "result": "PASS",
   "detail": "405 + Allow: POST",
   "t": "2026-09-19T20:10:59Z",
   "sent": "GET",
   "status": 405
  },
  {
   "req": "L0-2",
   "url": "https://api.pennyforge.org/deep",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:04Z",
   "method": "POST",
   "codes": {
    "browser-ua": 402,
    "python-urllib": 402,
    "curl": 402,
    "node-fetch": 402
   },
   "source": "service card (GET /) + /.well-known/x402 + /llms.txt"
  },
  {
   "req": "L0-3",
   "url": "https://api.pennyforge.org/deep",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:09Z",
   "method": "POST",
   "codes": {
    "browser-ua": 402,
    "python-urllib": 402,
    "curl": 402,
    "node-fetch": 402
   }
  },
  {
   "req": "L0-4",
   "url": "https://api.pennyforge.org/deep",
   "result": "PASS",
   "detail": "405 + Allow: POST",
   "t": "2026-09-19T20:11:09Z",
   "sent": "GET",
   "status": 405
  },
  {
   "req": "L0-2",
   "url": "https://api.pennyforge.org/diligence/live",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:14Z",
   "method": "GET",
   "codes": {
    "browser-ua": 402,
    "python-urllib": 402,
    "curl": 402,
    "node-fetch": 402
   },
   "source": "service card (GET /) + /llms.txt"
  },
  {
   "req": "L0-3",
   "url": "https://api.pennyforge.org/diligence/live",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:19Z",
   "method": "GET",
   "codes": {
    "browser-ua": 402,
    "python-urllib": 402,
    "curl": 402,
    "node-fetch": 402
   }
  },
  {
   "req": "L0-4",
   "url": "https://api.pennyforge.org/diligence/live",
   "result": "PASS",
   "detail": "405 + Allow: GET",
   "t": "2026-09-19T20:11:20Z",
   "sent": "POST",
   "status": 405
  },
  {
   "req": "L0-5",
   "url": "https://api.pennyforge.org/llms.txt",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:25Z",
   "codes": {
    "browser-ua": 200,
    "python-urllib": 200,
    "curl": 200,
    "node-fetch": 200
   },
   "source": "published at /llms.txt; named in the service card"
  },
  {
   "req": "L0-5",
   "url": "https://api.pennyforge.org/.well-known/x402",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:30Z",
   "codes": {
    "browser-ua": 200,
    "python-urllib": 200,
    "curl": 200,
    "node-fetch": 200
   },
   "source": "x402 discovery document, linked from the service card's discovery field"
  },
  {
   "req": "L0-5",
   "url": "https://api.pennyforge.org/openapi.json",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:35Z",
   "codes": {
    "browser-ua": 200,
    "python-urllib": 200,
    "curl": 200,
    "node-fetch": 200
   },
   "source": "named in /llms.txt (generated from the same constants)"
  },
  {
   "req": "L0-5",
   "url": "https://api.pennyforge.org/robots.txt",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:40Z",
   "codes": {
    "browser-ua": 200,
    "python-urllib": 200,
    "curl": 200,
    "node-fetch": 200
   },
   "source": "added by the tester (L0-5)"
  },
  {
   "req": "L0-5",
   "url": "https://api.pennyforge.org/check",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:40Z",
   "check": "robots"
  },
  {
   "req": "L0-5",
   "url": "https://api.pennyforge.org/deep",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:40Z",
   "check": "robots"
  },
  {
   "req": "L0-5",
   "url": "https://api.pennyforge.org/diligence/live",
   "result": "PASS",
   "detail": "",
   "t": "2026-09-19T20:11:40Z",
   "check": "robots"
  }
 ],
 "finished": "2026-09-19T20:11:40Z",
 "layer": "PASS",
 "counts": {
  "PASS": 17,
  "FAIL": 0,
  "UNOBSERVED": 0
 }
}