{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:48a408321cac54c68fc8ec615a974a6489888f529f9ed3a778034802786a9704",
  "snapshot_id": "sha256:5796be82ae60eacf6c243fa5944f41b523471ee39084dbc3241dc69005945f5a",
  "artifact_sha256": "sha256:8b52ff48d35e0f5f2c070b98169c6f95ec481cfc8cc729dfe94144c7d45605f5",
  "data": {
    "entity_id": "ent_01kyxthgq3w0q894h0tadvr0cq",
    "entity_slug": "sentry",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4pkxkv3qmhwbenzy3r6b2z9",
      "entity_id": "ent_01kyxthgq3w0q894h0tadvr0cq",
      "scope": {
        "product": {
          "key": "sentry-error-monitoring",
          "name": "Sentry Error Monitoring"
        },
        "job": {
          "key": "error-event-report",
          "name": "Report an error"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:3481a4bf177469ad8478c14543dc02acc96d81c4a73615cc9d62ec44f321b437",
        "entity_revision_digest": "sha256:0acca7e30e16523f5718208ac027acb0b1b432e023c6310e1ae7161a05b6f422"
      },
      "declaration_revision_digest": "sha256:169806c2afdcb744588c1b4c252e7352544707a3a2a7f66da15524e79d4ae1ab",
      "declaration": {
        "declaration_id": "declaration_sentry_sentry_error_monitoring_error_event_report",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "d0349b59eac1f864862be6cae9c25d97bec9e731",
          "path": "entities/se/sentry.yaml",
          "git_blob_oid": "2d12893f9957ac97ddd0414c05fdd80015770461",
          "blob_digest": "sha256:9c6efb0d893b7543da4999ff0316815123391161d46bf6d288cc41fa42c2f25a"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "sentry",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyxthgq3w0q894h0tadvr0cq"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "account-signup",
            "uri": "https://sentry.io/signup/",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "api-reference",
            "uri": "https://docs.sentry.io/api/",
            "roles": [
              "discovery",
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://docs.sentry.io/api/auth/",
            "roles": [
              "authentication",
              "descriptor",
              "documentation",
              "provisioning"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "event-ingestion",
            "uri": "https://develop.sentry.dev/sdk/foundations/envelopes/",
            "roles": [
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "event-retrieval",
            "uri": "https://docs.sentry.io/api/events/retrieve-an-event-for-a-project/",
            "roles": [
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "issue-operations",
            "uri": "https://docs.sentry.io/api/events/",
            "roles": [
              "documentation",
              "operations",
              "status"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "permissions",
            "uri": "https://docs.sentry.io/api/permissions/",
            "roles": [
              "descriptor",
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://sentry.io/pricing/",
            "roles": [
              "documentation",
              "pricing"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "project-provisioning",
            "uri": "https://docs.sentry.io/api/projects/create-a-new-project/",
            "roles": [
              "documentation",
              "operations",
              "provisioning",
              "status"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "rate-limits",
            "uri": "https://docs.sentry.io/api/ratelimits/",
            "roles": [
              "documentation",
              "operations",
              "recovery",
              "status"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://sentry.io/terms/",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "resource_id": "support",
            "uri": "https://sentry.zendesk.com/hc/en-us",
            "roles": [
              "documentation",
              "recovery"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "ingest-api",
            "uri": "https://o0.ingest.us.sentry.io",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "endpoint_id": "registration",
            "uri": "https://sentry.io/signup/",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "endpoint_id": "sentry-api",
            "uri": "https://sentry.io/api/0",
            "transport": "http",
            "roles": [
              "service",
              "status"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "endpoint_id": "sentry-us-api",
            "uri": "https://us.sentry.io/api/0",
            "transport": "http",
            "roles": [
              "service",
              "status"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          },
          {
            "interface_id": "event-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "ingest-api",
              "sentry-api",
              "sentry-us-api"
            ],
            "resource_ids": [
              "api-reference",
              "event-ingestion",
              "event-retrieval",
              "issue-operations",
              "permissions",
              "project-provisioning",
              "rate-limits"
            ],
            "operated_by_participant_id": "sentry",
            "standard_bindings": []
          }
        ],
        "relations": [
          {
            "relation_id": "authentication-authenticates-api",
            "kind": "authenticates",
            "from": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "event-api"
            }
          },
          {
            "relation_id": "envelopes-describe-ingestion",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "event-ingestion"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "event-api"
            }
          },
          {
            "relation_id": "issues-describe-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "issue-operations"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "event-api"
            }
          },
          {
            "relation_id": "projects-describe-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "project-provisioning"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "event-api"
            }
          },
          {
            "relation_id": "reference-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-reference"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "event-api"
            }
          },
          {
            "relation_id": "signup-precedes-authentication",
            "kind": "precedes",
            "from": {
              "node_kind": "resource",
              "node_id": "account-signup"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          }
        ],
        "surface_exclusions": [
          {
            "exclusion_id": "free-job-no-checkout",
            "role": "checkout",
            "rationale": "Sentry's free Developer plan reports errors with no payment."
          },
          {
            "exclusion_id": "separate-eligibility-resource",
            "role": "eligibility",
            "rationale": "Applicable access conditions are published within the service terms; no separate eligibility resource is declared."
          }
        ]
      },
      "lifecycle": "active",
      "effective_from": "2026-10-11T23:15:46.205Z",
      "revision_digest": "sha256:7e57a0ee6d054158c605ca8a84104d7e2f8622b64f3062855f3bf1d88248111e",
      "policy_digest": "sha256:0a4e4996176ce674b4f3ce910c5fca4f37c9b53bcdf51656d53a1a92fcf2c879",
      "policy_version": "kind-2026-10-12",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "error-event-report",
        "job_digest": "sha256:ddb884d92917a9085053f6483da72619bf05945817078ed623f5d3a04eeecf70",
        "category": "error-tracking",
        "name": "Report an error",
        "statement": "Report an error event whose message is the run's nonce, then read it back."
      },
      "interface_id": "event-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "B+",
        "statement": "A person signs up and hands over a key.",
        "steps": [
          {
            "step": "discover",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "authority",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "pay",
            "outcome": "not_applicable",
            "timing": null
          },
          {
            "step": "confirm",
            "outcome": "machine",
            "timing": null
          },
          {
            "step": "sustain",
            "outcome": "workaround",
            "timing": "setup"
          }
        ],
        "job": "reachable",
        "approvals": [],
        "workarounds": [
          {
            "step": "discover",
            "timing": "setup"
          },
          {
            "step": "authority",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "timing": "setup"
          },
          {
            "step": "sustain",
            "timing": "setup"
          }
        ]
      },
      "discovery": [
        {
          "fact": "unsupported_descriptor",
          "value": "https://sentry.io/.well-known/agent-skills/index.json",
          "descriptor_url": "https://sentry.io/.well-known/agent-skills/index.json",
          "attempt_digest": "sha256:35ed7a8658420d6acaf2b05757a4f5f011046fccc1319d8bae3f8201e4fa5406",
          "adapter": {
            "namespace": "agent-skills",
            "version": "unknown"
          }
        },
        {
          "fact": "api_catalog_link",
          "value": "https://sentry.io/",
          "descriptor_url": "https://sentry.io/.well-known/api-catalog",
          "attempt_digest": "sha256:02f8a93b2c92bed0c8aabfd494da15320eb140770f0204ec3165869c8e0961c2",
          "adapter": {
            "namespace": "rfc9727",
            "version": "linkset"
          }
        },
        {
          "fact": "mcp_endpoint",
          "value": "https://mcp.sentry.dev/mcp",
          "descriptor_url": "https://sentry.io/.well-known/mcp/server-card.json",
          "attempt_digest": "sha256:9c2dac5b30e4623695389d3b3551d98efbf84b45fef55c8f1ab0fb9006cb610f",
          "adapter": {
            "namespace": "mcp-server-card",
            "version": "flat"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://sentry.io/",
          "descriptor_url": "https://sentry.io/.well-known/oauth-authorization-server",
          "attempt_digest": "sha256:1a221174dc5f57542defc21e14fb3cef9e6e628b76f3f029c390c6a7e10c3a87",
          "adapter": {
            "namespace": "rfc8414",
            "version": "1"
          }
        },
        {
          "fact": "oauth_protected_resource",
          "value": "https://sentry.io/",
          "descriptor_url": "https://sentry.io/.well-known/oauth-protected-resource",
          "attempt_digest": "sha256:8e1e091e4a0682d18c5a6b2c6d3731bab03cea28adbc9cada79c1417195819d2",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://sentry.io/",
          "descriptor_url": "https://sentry.io/.well-known/oauth-protected-resource",
          "attempt_digest": "sha256:8e1e091e4a0682d18c5a6b2c6d3731bab03cea28adbc9cada79c1417195819d2",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "agent_documentation",
          "value": "https://sentry.io/llms.txt",
          "descriptor_url": "https://sentry.io/llms.txt",
          "attempt_digest": "sha256:c21c9323b1f395dd1f4e76c9e75d2ba937757b8d54316adc1fa31e4c2c4384cb",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        },
        {
          "fact": "agent_documentation",
          "value": "https://docs.sentry.io/llms.txt",
          "descriptor_url": "https://docs.sentry.io/llms.txt",
          "attempt_digest": "sha256:f627e9c1c3639f43e94af30ec5a9cefcfe1437fdfde9424d9be991b12a0125ec",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        }
      ],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-11T23:14:13.983Z",
        "finished_at": "2026-10-11T23:15:46.205Z",
        "discovery_reads": 43,
        "exchanges": [
          {
            "purpose": "probe_operation",
            "role": "request",
            "method": "POST",
            "url": "https://o0.ingest.us.sentry.io/api/0/envelope/",
            "started_at": "2026-10-11T23:15:29.505Z",
            "finished_at": "2026-10-11T23:15:29.555Z",
            "response": {
              "status": 401,
              "media_type": "application/json",
              "content_bytes": 105,
              "content_digest": "sha256:1b36dd5bfeb2ca7cbb2f1f051f55c40dcab095f24d3ae511f0a76a96ff4f45c5"
            },
            "transport_error": null,
            "exchange_digest": "sha256:494cdbf0e511eb7c6393ef93e5f0c2c1cd5baad46f0b8ceb3692e6f28faf7f20"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://o0.ingest.us.sentry.io/.well-known/oauth-protected-resource/api/0/envelope",
            "started_at": "2026-10-11T23:15:33.508Z",
            "finished_at": "2026-10-11T23:15:33.646Z",
            "response": {
              "status": 404,
              "media_type": "text/html",
              "content_bytes": 134,
              "content_digest": "sha256:8a114ea699d68d9426ca4cf7f3c020a5ede1e8de9af2d207e30f26002ec14419"
            },
            "transport_error": null,
            "exchange_digest": "sha256:b4d3a2131f0bbaa3c9de078ed9013d6863e9228e6ac3b2ecb43ea866603c4c62"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://o0.ingest.us.sentry.io/.well-known/oauth-protected-resource",
            "started_at": "2026-10-11T23:15:37.656Z",
            "finished_at": "2026-10-11T23:15:37.794Z",
            "response": {
              "status": 404,
              "media_type": "text/html",
              "content_bytes": 134,
              "content_digest": "sha256:8a114ea699d68d9426ca4cf7f3c020a5ede1e8de9af2d207e30f26002ec14419"
            },
            "transport_error": null,
            "exchange_digest": "sha256:7030c55e3cec24dedd8237a2b89038bc92d97bf3b41f367781076e2fdf254782"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://sentry.io/signup/",
            "started_at": "2026-10-11T23:15:41.425Z",
            "finished_at": "2026-10-11T23:15:41.647Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 223512,
              "content_digest": "sha256:4672bf5b765f6bbb248f676b0ba572469a44d58c4c4e95274e88d4a73af782c7"
            },
            "transport_error": null,
            "exchange_digest": "sha256:25fca101bb24a3207008f1902cc70e91643a730ba68f89d1bda586a1efb0bea5"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-11T23:15:46.205Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/sentry/agent-readiness/sentry-error-monitoring/error-event-report",
      "projection_digest": "sha256:0e7a09171f42a7ed4b82b1ed8dc63e550b7aedae536839e61502029d5c3473ab"
    }
  }
}
