{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:5f55a0147eca9a82d821b7cfb73339dd8059c146b9acbb6ed66c9e3d40a8e1b0",
  "snapshot_id": "sha256:fbf4583b80f8936d9b7b75906adc86f38f5612cd0a7329839daea7b71ad2b9ce",
  "artifact_sha256": "sha256:ec393385ec4e7be15a393d925f0df78d54a12787f2995a84fad1b570583dac06",
  "data": {
    "entity_id": "ent_01kyh8fpe15bvn8rdb84vmk85d",
    "entity_slug": "anthropic",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01kzf0m4x54qzpnr923g24x6x8",
      "entity_id": "ent_01kyh8fpe15bvn8rdb84vmk85d",
      "scope": {
        "product": {
          "key": "anthropic-api",
          "name": "Anthropic API"
        },
        "funnel": {
          "key": "api-service-lifecycle",
          "name": "API service lifecycle"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:8986cb1640fd748dd005e5c94c7b02d3f44a3d39ff6b72573091bd81af84c61e",
        "entity_revision_digest": "sha256:06855089158761b10dd4a9920f4ede26ea126b0c8bb98eee8c8ac47ee36be9a4"
      },
      "declaration_revision_digest": "sha256:ace6b82971bab9d12b79eefdec2952b7e786d13a366f81f64820ed87f635b13c",
      "declaration": {
        "declaration_id": "declaration_anthropic_api_service_lifecycle",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "ca383f7867c18d91567fcb8326be55f7411d9554",
          "path": "entities/an/anthropic.yaml",
          "git_blob_oid": "0326f5f1a4348ba54bbf08a5d93b5074d2a3aa0b",
          "blob_digest": "sha256:4d78769290dc9fdc1b80fdccfeaf248f3853dd9df070a1aa720a06f6779b2b6c"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "assessment_targets": [
          {
            "target_id": "service-use",
            "name": "Submit Messages API requests and receive model responses",
            "interface_ids": [
              "api-service"
            ]
          }
        ],
        "participants": [
          {
            "participant_id": "anthropic",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyh8fpe15bvn8rdb84vmk85d"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "api-errors",
            "uri": "https://platform.claude.com/docs/en/api/errors",
            "roles": [
              "documentation",
              "operations",
              "recovery",
              "status"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "api-overview",
            "uri": "https://platform.claude.com/docs/en/cli-sdks-libraries/overview",
            "roles": [
              "discovery",
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://platform.claude.com/docs/en/api/overview",
            "roles": [
              "authentication",
              "descriptor",
              "documentation"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "billing-checkout",
            "uri": "https://support.claude.com/en/articles/8977456-how-do-i-pay-for-my-claude-api-usage",
            "roles": [
              "checkout",
              "documentation"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "console-access",
            "uri": "https://platform.claude.com/login?returnTo=%2Fsettings%2Fkeys",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "messages-create",
            "uri": "https://platform.claude.com/docs/en/api/messages/create",
            "roles": [
              "documentation",
              "provisioning",
              "status"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "messages-create-response",
            "uri": "https://platform.claude.com/docs/en/api/typescript/messages/create",
            "roles": [
              "documentation",
              "provisioning",
              "status"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "messages-request-response-guide",
            "uri": "https://platform.claude.com/docs/en/build-with-claude/working-with-messages",
            "roles": [
              "documentation",
              "provisioning",
              "status"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://platform.claude.com/docs/en/about-claude/pricing",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "rate-limits",
            "uri": "https://platform.claude.com/docs/en/api/rate-limits",
            "roles": [
              "documentation",
              "operations",
              "status"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://www.anthropic.com/legal/commercial-terms",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "resource_id": "support",
            "uri": "https://support.claude.com/en/articles/8114535-where-can-i-go-for-claude-api-support-and-assistance",
            "roles": [
              "documentation",
              "recovery"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "messages-api",
            "uri": "https://api.anthropic.com/v1/messages",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "endpoint_id": "registration",
            "uri": "https://platform.claude.com/login?returnTo=%2Fsettings%2Fkeys",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          },
          {
            "interface_id": "api-service",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "messages-api"
            ],
            "resource_ids": [
              "api-errors",
              "api-overview",
              "rate-limits"
            ],
            "operated_by_participant_id": "anthropic",
            "standard_bindings": []
          }
        ],
        "relations": [
          {
            "relation_id": "authentication-authenticates-api",
            "kind": "authenticates",
            "from": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-service"
            }
          },
          {
            "relation_id": "console-precedes-authentication",
            "kind": "precedes",
            "from": {
              "node_kind": "resource",
              "node_id": "console-access"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          },
          {
            "relation_id": "errors-describe-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-errors"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-service"
            }
          },
          {
            "relation_id": "messages-create-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "messages-create"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-service"
            }
          },
          {
            "relation_id": "messages-create-response-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "messages-create-response"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-service"
            }
          },
          {
            "relation_id": "messages-guide-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "messages-request-response-guide"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-service"
            }
          },
          {
            "relation_id": "overview-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-overview"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-service"
            }
          }
        ],
        "surface_exclusions": [
          {
            "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-09-06T08:47:58Z",
      "revision_digest": "sha256:ce068885cdcbe343d46efbc59e63569fe0431650aea3d2885d058c6fb0cc7ef2",
      "policy_digest": "sha256:fc9e8f046d86fcf19ab2f1bc547219e503cdc11ffa135d020db7285965cd7d1d",
      "policy_version": "service-use-2026-09-07-blocking-barriers-r12",
      "policy_as_of": "2026-09-07T00:00:00Z",
      "assessment_basis": {
        "principal": "authorized_human_or_organization",
        "initial_state": {
          "product_specific_account": false,
          "product_credentials": false,
          "paid_subscription": false,
          "provisioned_resource": false,
          "external_identity": "only_when_declared_by_exact_funnel"
        },
        "permitted_human_boundaries": [
          "account_ownership_confirmation",
          "delegated_identity_consent",
          "regulated_approval",
          "final_payment_or_irreversible_commitment"
        ],
        "required_handoff_properties": [
          "exact_disclosure",
          "resumable_handoff",
          "deterministic_continuation"
        ],
        "forbidden_substitutions": [
          "captcha_solving",
          "human_password_or_session_sharing",
          "concealed_agent_identity",
          "invented_eligibility",
          "unbound_out_of_band_code",
          "vendor_policy_bypass",
          "unapproved_consequential_action"
        ],
        "success": {
          "target_coverage": "every_declared_target",
          "interface_coverage": "at_least_one_declared_alternative",
          "authority": "scoped",
          "failure_semantics": "documented",
          "recovery": "supported"
        },
        "observed_assessment": {
          "allowed_sources": [
            "public_documentation",
            "public_metadata",
            "public_endpoints",
            "non_mutating_interaction",
            "operator_attested_public_observation"
          ],
          "consequential_claims": "certification_required"
        }
      },
      "overall_outcome": "constrained",
      "public_state": "limited",
      "state_label": "Limited",
      "grade": "B",
      "grade_derivation": {
        "label": "Five-stage Agent Readiness report card",
        "explanation": "A through C grades count Limited stages; D and F reflect Blocked stages by lifecycle severity.",
        "coverage_rule": "Coverage is complete only when every graded signal has supported, fresh, non-conflicting evidence. Barrier and informational signals do not change coverage; only fresh, supported barrier values that passed their admission evidence rule participate in stage outcomes.",
        "outcome_rule": "Each stage takes its worst graded signal or verified barrier. A fresh, supported mandatory barrier that passed its admission evidence rule can block that stage; incomplete or stale barrier evidence remains context only. The overall grade is derived from the five stage states."
      },
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "primary_finding": {
        "stage": "sign_up",
        "stage_label": "Sign up",
        "public_state": "limited",
        "finding": {
          "signal_code": "delegated_identity_access",
          "condition": "Can an agent obtain scoped, revocable authority for this service?",
          "finding": "Machine credentials exist but require manual copying, broad authority, or weak lifecycle support.",
          "context": "First-party documentation explicitly details machine credentials including Console API keys and short-lived Workload Identity Federation tokens, but API key generation requires manual creation in Console Account Settings."
        }
      },
      "limitations": [
        {
          "stage": "sign_up",
          "stage_label": "Sign up",
          "finding": {
            "signal_code": "delegated_identity_access",
            "condition": "Can an agent obtain scoped, revocable authority for this service?",
            "finding": "Machine credentials exist but require manual copying, broad authority, or weak lifecycle support.",
            "context": "First-party documentation explicitly details machine credentials including Console API keys and short-lived Workload Identity Federation tokens, but API key generation requires manual creation in Console Account Settings."
          },
          "remediation": {
            "signal_code": "delegated_identity_access",
            "code": "improve.sign_up.delegated_identity_access",
            "instruction": "Provide scoped delegated authorization with consent, revocation, and deterministic resumption."
          }
        },
        {
          "stage": "provision",
          "stage_label": "Provision",
          "finding": {
            "signal_code": "access_material_delivery",
            "condition": "Can usable access material be delivered securely to an authorized agent?",
            "finding": "Delivery needs additional human transfer or has weak scope or lifecycle semantics.",
            "context": "The API overview states that API keys are generated in Account Settings within the web Console, where key type and expiration are chosen upon creation. Because key generation is handled manually through a web dashboard, delivery requires human transfer."
          },
          "remediation": {
            "signal_code": "access_material_delivery",
            "code": "improve.provision.access_material_delivery",
            "instruction": "Deliver scoped access material through a secure documented machine-usable flow."
          }
        },
        {
          "stage": "operate",
          "stage_label": "Operate",
          "finding": {
            "signal_code": "failure_contract",
            "condition": "Can an agent handle applicable failure modes safely?",
            "finding": "Safe failure handling is documented only partially.",
            "context": "Anthropic documents HTTP error codes, error shapes and SDK retries with exponential backoff honoring retry-after; the selected quotes do not establish idempotency or reconciliation semantics for the Messages operation."
          },
          "remediation": {
            "signal_code": "failure_contract",
            "code": "improve.operate.failure_contract",
            "instruction": "Document applicable structured errors, retry, cancellation, and reconciliation semantics."
          }
        },
        {
          "stage": "operate",
          "stage_label": "Operate",
          "finding": {
            "signal_code": "credential_lifecycle",
            "condition": "Can an agent manage credential expiry, rotation, revocation, compromise, and recovery?",
            "finding": "Only part of the credential lifecycle is agent-operable.",
            "context": "API keys are created in the Console with selectable key types and expiration times. API keys or tunnel tokens can be rotated or deleted/archived, but complete programmatic agent-driven credential lifecycle and compromise recovery are not established."
          },
          "remediation": {
            "signal_code": "credential_lifecycle",
            "code": "improve.operate.credential_lifecycle",
            "instruction": "Provide scoped expiry, rotation, revocation, compromise, and recovery operations."
          }
        }
      ],
      "stages": [
        {
          "stage": "evaluate",
          "stage_label": "Evaluate",
          "outcome": "pass",
          "public_state": "ready",
          "state_label": "Ready",
          "primary_finding": {
            "signal_code": "service_discovery",
            "condition": "Can an agent find the exact service and its stable entrypoints?",
            "finding": "The exact service and stable evaluation or access entrypoints are publicly discoverable.",
            "context": "The exact Claude API service and stable entrypoints (including official ant CLI, client SDKs in 7 languages, and Messages API documentation) are publicly discoverable on the Claude Platform Docs."
          },
          "secondary_context": [
            {
              "signal_code": "structured_evaluation_discovery",
              "condition": "Are verified structured discovery artifacts available?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The retained excerpts for Anthropic API are human documentation pages; they contain no first-party statement that structured discovery artifacts are absent, and no artifact was captured or verified either way."
            },
            {
              "signal_code": "verified_web_agent_access",
              "condition": "Does the vendor deliberately describe access for web agents?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The retained excerpts for Anthropic API do not state a web-agent or crawler access policy for the assessed resources in either direction."
            },
            {
              "signal_code": "terms_access",
              "condition": "Can an agent retrieve and understand the applicable commitment terms?",
              "finding": "Applicable terms are stable, readable, retrievable, and materially complete.",
              "context": "Applicable Commercial Terms of Service are stable, readable, retrievable, and complete, incorporating referenced policies such as the Usage Policy, Supported Regions Policy, and Model Pricing Page."
            },
            {
              "signal_code": "eligibility_decidability",
              "condition": "Can an agent decide every material eligibility condition before commitment?",
              "finding": "Eligibility conditions and required inputs are explicit and decidable.",
              "context": "Anthropic defines Commercial Terms of Service governing access to Anthropic API keys and related tools for Customer (or the entity represented by an authorized person). The terms explicitly state they are not for consumer use and specify entity representation authority requirements."
            },
            {
              "signal_code": "pricing_decidability",
              "condition": "Can an agent estimate cost or confirm no-charge status before commitment?",
              "finding": "Price or no-charge status, variables, currency, and material conditions are explicit.",
              "context": "Pricing for the Claude API is explicitly provided in USD, detailing standard per-model/per-feature token usage rates, additional code execution container time ($0.05 USD per hour after 1,550 free hours/month), and monthly usage billing."
            }
          ],
          "signals": [
            {
              "signal_code": "eligibility_decidability",
              "evaluation_role": "informational",
              "required": false,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent decide every material eligibility condition before commitment?",
              "finding": "Eligibility conditions and required inputs are explicit and decidable.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:07.571Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:3d8bcb216bbbd405f77e88e3efa8f800bc4612f7441f16202b8f5cd73775ea40",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:3074a7537abf9c38c37f861be5d27ffe97adb10c6404114a1e176686d244a9cd",
                    "sha256:320d7d9c341c295e204d73de2bd98a2ff972e2e5823a135f618c78dcdb0d049b",
                    "sha256:38290b376c6d45e7c4a8fc61bc89378738edc336c90e36bd42b02fb95208d0ae",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "service-terms"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:320d7d9c341c295e204d73de2bd98a2ff972e2e5823a135f618c78dcdb0d049b",
                      "start_byte": 6441,
                      "end_byte": 7259,
                      "value_digest": "sha256:7b12ebfeacfd31dd8a2c3815658b15222a2455e47e83675e4e35f69bd49de453"
                    },
                    {
                      "artifact_digest": "sha256:320d7d9c341c295e204d73de2bd98a2ff972e2e5823a135f618c78dcdb0d049b",
                      "start_byte": 7260,
                      "end_byte": 8070,
                      "value_digest": "sha256:993fc060315fa82edd82647ef9f71e8aa563ea5943f6afc5bb3eb424ebc9446b"
                    }
                  ]
                }
              ],
              "note": "Anthropic defines Commercial Terms of Service governing access to Anthropic API keys and related tools for Customer (or the entity represented by an authorized person). The terms explicitly state they are not for consumer use and specify entity representation authority requirements."
            },
            {
              "signal_code": "pricing_decidability",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent estimate cost or confirm no-charge status before commitment?",
              "finding": "Price or no-charge status, variables, currency, and material conditions are explicit.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.687Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "pricing"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:74f77a54a4765c4e11105aecf85757ffc79a568fe68c8ec8a65a0db391dcd2b4",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:70988f1be798c2e32c4aa1aa953cef54da2101cc54a4982c7fe8447c0cd16b92",
                    "sha256:a9daeebd22f31fe36878c3851aac67e94a6e5a0f389b4b5475c939af7c5c7a22",
                    "sha256:c0a2cf312b8a9065582f6b4b82804bd4f441bceee148d3ce10eeea2232d57819"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "pricing"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:70988f1be798c2e32c4aa1aa953cef54da2101cc54a4982c7fe8447c0cd16b92",
                      "start_byte": 13131,
                      "end_byte": 13925,
                      "value_digest": "sha256:c2a644b5645788195036c6177c8da971ab03716cd2461a41f91e509a8026d81b"
                    },
                    {
                      "artifact_digest": "sha256:70988f1be798c2e32c4aa1aa953cef54da2101cc54a4982c7fe8447c0cd16b92",
                      "start_byte": 33928,
                      "end_byte": 34733,
                      "value_digest": "sha256:a7816caccb2e0e893a7efbc6fdec47848789b4be5455fda7b7294f5f3dd7f31e"
                    }
                  ]
                }
              ],
              "note": "Pricing for the Claude API is explicitly provided in USD, detailing standard per-model/per-feature token usage rates, additional code execution container time ($0.05 USD per hour after 1,550 free hours/month), and monthly usage billing."
            },
            {
              "signal_code": "service_discovery",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent find the exact service and its stable entrypoints?",
              "finding": "The exact service and stable evaluation or access entrypoints are publicly discoverable.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:13.785Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4c5656c3e6f9199382a1c2471377a2122ccdfda89a358262bc7b9d8a228f4829",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                    "sha256:277c0e81969caa4ea21cdd5532c4069cb6168ebd3e3dc9b0f938805cbfb1c9a7",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:ce8ca5a4574574461dd72b459acadbc4a73df3c135b90bf1924c7468f4b8f57b"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                      "start_byte": 5244,
                      "end_byte": 6070,
                      "value_digest": "sha256:a2e9933ca7d6f468ed902e2252baa83ac403bc68c7499f0d824eebe6a5557aed"
                    },
                    {
                      "artifact_digest": "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                      "start_byte": 6071,
                      "end_byte": 6877,
                      "value_digest": "sha256:a3cbb55b4b39b90f82b35a4b0f27567881ac9b69b6e42add4fab470aa6007383"
                    }
                  ]
                }
              ],
              "note": "The exact Claude API service and stable entrypoints (including official ant CLI, client SDKs in 7 languages, and Messages API documentation) are publicly discoverable on the Claude Platform Docs."
            },
            {
              "signal_code": "structured_evaluation_discovery",
              "evaluation_role": "informational",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Are verified structured discovery artifacts available?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:52.963Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                },
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained excerpts for Anthropic API are human documentation pages; they contain no first-party statement that structured discovery artifacts are absent, and no artifact was captured or verified either way."
            },
            {
              "signal_code": "terms_access",
              "evaluation_role": "informational",
              "required": false,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent retrieve and understand the applicable commitment terms?",
              "finding": "Applicable terms are stable, readable, retrievable, and materially complete.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:07.571Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:3d8bcb216bbbd405f77e88e3efa8f800bc4612f7441f16202b8f5cd73775ea40",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:3074a7537abf9c38c37f861be5d27ffe97adb10c6404114a1e176686d244a9cd",
                    "sha256:320d7d9c341c295e204d73de2bd98a2ff972e2e5823a135f618c78dcdb0d049b",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:f14ec62ca7a56a21da38f65a7df3a4ebeae88394f69f6116a815abd7a5cb8670"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "service-terms"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:320d7d9c341c295e204d73de2bd98a2ff972e2e5823a135f618c78dcdb0d049b",
                      "start_byte": 30524,
                      "end_byte": 31325,
                      "value_digest": "sha256:242a3ca21150e7d2c2a9c28411e671d8fe47fa4c0786ec8f32fab1b95559f004"
                    },
                    {
                      "artifact_digest": "sha256:320d7d9c341c295e204d73de2bd98a2ff972e2e5823a135f618c78dcdb0d049b",
                      "start_byte": 6441,
                      "end_byte": 7259,
                      "value_digest": "sha256:7b12ebfeacfd31dd8a2c3815658b15222a2455e47e83675e4e35f69bd49de453"
                    }
                  ]
                }
              ],
              "note": "Applicable Commercial Terms of Service are stable, readable, retrievable, and complete, incorporating referenced policies such as the Usage Policy, Supported Regions Policy, and Model Pricing Page."
            },
            {
              "signal_code": "verified_web_agent_access",
              "evaluation_role": "informational",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Does the vendor deliberately describe access for web agents?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:52.963Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                },
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained excerpts for Anthropic API do not state a web-agent or crawler access policy for the assessed resources in either direction."
            }
          ],
          "blockers": [],
          "remediations": []
        },
        {
          "stage": "sign_up",
          "stage_label": "Sign up",
          "outcome": "constrained",
          "public_state": "limited",
          "state_label": "Limited",
          "primary_finding": {
            "signal_code": "delegated_identity_access",
            "condition": "Can an agent obtain scoped, revocable authority for this service?",
            "finding": "Machine credentials exist but require manual copying, broad authority, or weak lifecycle support.",
            "context": "First-party documentation explicitly details machine credentials including Console API keys and short-lived Workload Identity Federation tokens, but API key generation requires manual creation in Console Account Settings."
          },
          "secondary_context": [
            {
              "signal_code": "access_control_operability",
              "condition": "Can an agent operate the access controls and safe handoffs deterministically?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The sign-in page displays buttons to continue with Google, email, or SSO, but current admissible evidence does not establish whether required validation and handoffs are fully machine-operable."
            },
            {
              "signal_code": "captcha_compatible_access",
              "condition": "Can an agent obtain access without an unsupported CAPTCHA boundary?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "No CAPTCHA challenge is directly observed on the captured sign-in page, but current admissible evidence does not resolve whether a CAPTCHA boundary exists across the flow."
            },
            {
              "signal_code": "phone_verification_compatible",
              "condition": "Can required phone verification be completed through a supported boundary?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "Current admissible evidence from the sign-in page does not mention phone verification or resolve whether phone verification is required."
            },
            {
              "signal_code": "access_entrypoint_stability",
              "condition": "Is there a stable route to begin obtaining service access?",
              "finding": "A stable canonical route begins the required access bootstrap.",
              "context": "A stable access entrypoint to the platform is directly observed via the sign-in page at platform.claude.com/login."
            }
          ],
          "signals": [
            {
              "signal_code": "access_control_operability",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can an agent operate the access controls and safe handoffs deterministically?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:04.385Z",
              "tested_surfaces": [
                {
                  "node_kind": "endpoint",
                  "node_id": "registration"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The sign-in page displays buttons to continue with Google, email, or SSO, but current admissible evidence does not establish whether required validation and handoffs are fully machine-operable."
            },
            {
              "signal_code": "access_entrypoint_stability",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Is there a stable route to begin obtaining service access?",
              "finding": "A stable canonical route begins the required access bootstrap.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:04.385Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "console-access"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "direct_observation",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:c4f3b9bd413c985b7b5736cc18f68897e0ae6b47c44b33c8ed83af37f16e12bf",
                      "capture_rung": "headless"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:22d15c118a780678b96d259edc3fe4c6e5703eb9a03b32081fff9abf1148405d",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:64ad05aee456dbd1f467e96b3543a0d039a31cf103ae5f5e5af9b7724e925476",
                    "sha256:87bc66eb46d9429a58303399678104f04f8be85f415a9d25cc386c46ac165fa4",
                    "sha256:d6cfef918cd674097f87603f8121d4bd5e30c01474ad2b3198bc789f60d4d1d3",
                    "sha256:f0bd2a6c1420061d9f91b6cec9810b94cd6cf243733b0a82a36e1d5d151d2985"
                  ],
                  "locators": [
                    {
                      "artifact_digest": "sha256:d6cfef918cd674097f87603f8121d4bd5e30c01474ad2b3198bc789f60d4d1d3",
                      "start_byte": 5685,
                      "end_byte": 6488,
                      "value_digest": "sha256:2e9f4bfb70fa670757ddfe7ee53a2148dd9bd9dc11d19ea66e365fe030639ca7"
                    }
                  ]
                }
              ],
              "note": "A stable access entrypoint to the platform is directly observed via the sign-in page at platform.claude.com/login."
            },
            {
              "signal_code": "captcha_compatible_access",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can an agent obtain access without an unsupported CAPTCHA boundary?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:04.385Z",
              "tested_surfaces": [
                {
                  "node_kind": "endpoint",
                  "node_id": "registration"
                },
                {
                  "node_kind": "resource",
                  "node_id": "console-access"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "No CAPTCHA challenge is directly observed on the captured sign-in page, but current admissible evidence does not resolve whether a CAPTCHA boundary exists across the flow."
            },
            {
              "signal_code": "delegated_identity_access",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent obtain scoped, revocable authority for this service?",
              "finding": "Machine credentials exist but require manual copying, broad authority, or weak lifecycle support.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:52.963Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:229c14d3033cb845554c70bb71497d129a5e3e1dc319b6ebe4cb26affd584fc1",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                    "sha256:41379bf4e78475b317fe6dfe2a2ef2f858eb317c1319c7aca271c340636802bc",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:73454139d465ee30db233f0a91fabfc97419e2583bb158fa6c7d84edf5ef7ad1"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                      "start_byte": 11055,
                      "end_byte": 11863,
                      "value_digest": "sha256:4a723f5d3a74b91dec73d3b32d81261c21776177dc7da6108490c508947c6550"
                    },
                    {
                      "artifact_digest": "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                      "start_byte": 12658,
                      "end_byte": 13458,
                      "value_digest": "sha256:ddcf5ee4329925cf7d4ef24007e7060ff2cf4c91f9e2ee0ce18ed072da251e6c"
                    }
                  ]
                }
              ],
              "note": "First-party documentation explicitly details machine credentials including Console API keys and short-lived Workload Identity Federation tokens, but API key generation requires manual creation in Console Account Settings.",
              "remediation": {
                "signal_code": "delegated_identity_access",
                "code": "improve.sign_up.delegated_identity_access",
                "instruction": "Provide scoped delegated authorization with consent, revocation, and deterministic resumption."
              }
            },
            {
              "signal_code": "phone_verification_compatible",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can required phone verification be completed through a supported boundary?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:04.385Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "console-access"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "Current admissible evidence from the sign-in page does not mention phone verification or resolve whether phone verification is required."
            }
          ],
          "blockers": [],
          "remediations": [
            {
              "signal_code": "delegated_identity_access",
              "code": "improve.sign_up.delegated_identity_access",
              "instruction": "Provide scoped delegated authorization with consent, revocation, and deterministic resumption."
            }
          ]
        },
        {
          "stage": "pay",
          "stage_label": "Pay",
          "outcome": "pass",
          "public_state": "ready",
          "state_label": "Ready",
          "primary_finding": {
            "signal_code": "commitment_disclosure",
            "condition": "Is the exact commercial commitment disclosed before authorization?",
            "finding": "Charge or no-charge status, currency, recurrence, and material conditions are disclosed.",
            "context": "The platform pricing documentation and API billing guide disclose the commercial commitment terms, stating that API usage is billed in USD based on actual monthly usage or CCU rate conversions ($0.01 per CCU), with arrears or prepaid options explained prior to charge."
          },
          "secondary_context": [
            {
              "signal_code": "checkout_operability",
              "condition": "Can an agent construct checkout, hand off approval safely, and resume?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The retained evidence describes monthly invoicing and credit auto-reload options for Claude API usage, but it does not establish a deterministic flow for an agent to construct checkout, hand off approval safely, and resume."
            },
            {
              "signal_code": "payment_authorization",
              "condition": "Can payment be authorized within scoped agent or explicit human authority?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The retained evidence explains how an Admin or Billing role can update card details in the Claude Console settings, but it does not document a programmatic rail for scoped agent delegation or explicit human-confirmed authorization with receipts."
            },
            {
              "signal_code": "self_service_purchase",
              "condition": "Is a direct self-service path to paid access documented?",
              "finding": "A documented direct purchase path reaches paid access without a vendor decision point.",
              "context": "A direct self-service path to paid API access is documented via the Claude Console, where users can buy prepaid usage credits or set up payment methods under Settings > Billing without requiring a sales intervention."
            }
          ],
          "signals": [
            {
              "signal_code": "checkout_operability",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can an agent construct checkout, hand off approval safely, and resume?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:48.462Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "billing-checkout"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained evidence describes monthly invoicing and credit auto-reload options for Claude API usage, but it does not establish a deterministic flow for an agent to construct checkout, hand off approval safely, and resume."
            },
            {
              "signal_code": "commitment_disclosure",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Is the exact commercial commitment disclosed before authorization?",
              "finding": "Charge or no-charge status, currency, recurrence, and material conditions are disclosed.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.687Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "pricing"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:74f77a54a4765c4e11105aecf85757ffc79a568fe68c8ec8a65a0db391dcd2b4",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:70988f1be798c2e32c4aa1aa953cef54da2101cc54a4982c7fe8447c0cd16b92",
                    "sha256:a9daeebd22f31fe36878c3851aac67e94a6e5a0f389b4b5475c939af7c5c7a22",
                    "sha256:c0a2cf312b8a9065582f6b4b82804bd4f441bceee148d3ce10eeea2232d57819"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "pricing"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:70988f1be798c2e32c4aa1aa953cef54da2101cc54a4982c7fe8447c0cd16b92",
                      "start_byte": 13131,
                      "end_byte": 13925,
                      "value_digest": "sha256:c2a644b5645788195036c6177c8da971ab03716cd2461a41f91e509a8026d81b"
                    },
                    {
                      "artifact_digest": "sha256:70988f1be798c2e32c4aa1aa953cef54da2101cc54a4982c7fe8447c0cd16b92",
                      "start_byte": 33928,
                      "end_byte": 34733,
                      "value_digest": "sha256:a7816caccb2e0e893a7efbc6fdec47848789b4be5455fda7b7294f5f3dd7f31e"
                    }
                  ]
                }
              ],
              "note": "The platform pricing documentation and API billing guide disclose the commercial commitment terms, stating that API usage is billed in USD based on actual monthly usage or CCU rate conversions ($0.01 per CCU), with arrears or prepaid options explained prior to charge."
            },
            {
              "signal_code": "payment_authorization",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can payment be authorized within scoped agent or explicit human authority?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:48.462Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "billing-checkout"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained evidence explains how an Admin or Billing role can update card details in the Claude Console settings, but it does not document a programmatic rail for scoped agent delegation or explicit human-confirmed authorization with receipts."
            },
            {
              "signal_code": "self_service_purchase",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Is a direct self-service path to paid access documented?",
              "finding": "A documented direct purchase path reaches paid access without a vendor decision point.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:48.462Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "billing-checkout"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:370b47ac997b80afe4d0933f06275685147a22e263bef7b00c6c59b2f5331205",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:b1dd86efcbf15dc363699c023d5d72aeb00519443f27e4009eefa5811e03249c",
                    "sha256:b9cb506a16d1a3fb29dd4ba3f99b5e4e7fe6803397b182d406bb4fdb9da78e91",
                    "sha256:c4f768a126f6cb4980df20a365c45786e1aceb15647b9ddaf0ee35af5035767d"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "billing-checkout"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:c4f768a126f6cb4980df20a365c45786e1aceb15647b9ddaf0ee35af5035767d",
                      "start_byte": 73254,
                      "end_byte": 74047,
                      "value_digest": "sha256:206d960b27977ee674650f8584fa00cb98df20e79bc1f789ad7bf67cddfb9359"
                    },
                    {
                      "artifact_digest": "sha256:c4f768a126f6cb4980df20a365c45786e1aceb15647b9ddaf0ee35af5035767d",
                      "start_byte": 74048,
                      "end_byte": 74811,
                      "value_digest": "sha256:48fa2eb0c04509d8eba636915560f7ae5ccc8740fc811ac2d5f27af68a4e7196"
                    }
                  ]
                }
              ],
              "note": "A direct self-service path to paid API access is documented via the Claude Console, where users can buy prepaid usage credits or set up payment methods under Settings > Billing without requiring a sales intervention."
            }
          ],
          "blockers": [],
          "remediations": []
        },
        {
          "stage": "provision",
          "stage_label": "Provision",
          "outcome": "constrained",
          "public_state": "limited",
          "state_label": "Limited",
          "primary_finding": {
            "signal_code": "access_material_delivery",
            "condition": "Can usable access material be delivered securely to an authorized agent?",
            "finding": "Delivery needs additional human transfer or has weak scope or lifecycle semantics.",
            "context": "The API overview states that API keys are generated in Account Settings within the web Console, where key type and expiration are chosen upon creation. Because key generation is handled manually through a web dashboard, delivery requires human transfer."
          },
          "secondary_context": [
            {
              "signal_code": "provisioning_operability",
              "condition": "Can provisioning be initiated within supported agent authority?",
              "finding": "Provisioning is machine-triggerable or follows deterministically from an allowed handoff.",
              "context": "Messages creation is initiated within supported agent authority via a direct programmatic POST request to /v1/messages."
            },
            {
              "signal_code": "provisioning_completion",
              "condition": "Can an agent determine successful provisioning completion and reconcile asynchronous failure?",
              "finding": "A synchronous success response returns a usable created resource or access material; otherwise asynchronous work exposes progress, terminal state, reconciliation, and a documented bound.",
              "context": "The Messages API creates messages synchronously, returning a usable message object with an id, generated content blocks, model ID, and a stop_reason (such as end_turn), providing immediate synchronous provisioning completion and usable resource output."
            }
          ],
          "signals": [
            {
              "signal_code": "access_material_delivery",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can usable access material be delivered securely to an authorized agent?",
              "finding": "Delivery needs additional human transfer or has weak scope or lifecycle semantics.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:52.963Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:229c14d3033cb845554c70bb71497d129a5e3e1dc319b6ebe4cb26affd584fc1",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:73454139d465ee30db233f0a91fabfc97419e2583bb158fa6c7d84edf5ef7ad1",
                    "sha256:f1c3c675bd6eef93c089e550b7ae251dc75eaa6675ab22d52e8349bf058996b9"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                      "start_byte": 14260,
                      "end_byte": 15036,
                      "value_digest": "sha256:19cfe42b24a2d9a490de1976eb51957c106d1091613504a2a3d83c7671da9e5a"
                    }
                  ]
                }
              ],
              "note": "The API overview states that API keys are generated in Account Settings within the web Console, where key type and expiration are chosen upon creation. Because key generation is handled manually through a web dashboard, delivery requires human transfer.",
              "remediation": {
                "signal_code": "access_material_delivery",
                "code": "improve.provision.access_material_delivery",
                "instruction": "Deliver scoped access material through a secure documented machine-usable flow."
              }
            },
            {
              "signal_code": "provisioning_completion",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent determine successful provisioning completion and reconcile asynchronous failure?",
              "finding": "A synchronous success response returns a usable created resource or access material; otherwise asynchronous work exposes progress, terminal state, reconciliation, and a documented bound.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:12.006Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "messages-create"
                },
                {
                  "node_kind": "resource",
                  "node_id": "messages-create-response"
                },
                {
                  "node_kind": "resource",
                  "node_id": "messages-request-response-guide"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:89b2c7bbc6ddb54dcf01d4221b203cadfbd3f2f6d5d31d808ade64dc0bff7544",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0b81d37bd85ad1debc4270e6e2ad45ee79cfc322f77bcd3ef5c21f30c6c83b2d",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:97586ad2ee2b63fc267061196fc8f815d6776103c945fdc368d9344b451ed2a8",
                    "sha256:a51b4b32b361e60c9f197c1d710698fd264ac72cff8d12896b2f1fd2d461c33d"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "messages-request-response-guide"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:97586ad2ee2b63fc267061196fc8f815d6776103c945fdc368d9344b451ed2a8",
                      "start_byte": 13230,
                      "end_byte": 14026,
                      "value_digest": "sha256:063b4df8e53e98ccf8cf11787f98537c623c58bdf60d70b983e26ed6e8a98ce0"
                    }
                  ]
                }
              ],
              "note": "The Messages API creates messages synchronously, returning a usable message object with an id, generated content blocks, model ID, and a stop_reason (such as end_turn), providing immediate synchronous provisioning completion and usable resource output."
            },
            {
              "signal_code": "provisioning_operability",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can provisioning be initiated within supported agent authority?",
              "finding": "Provisioning is machine-triggerable or follows deterministically from an allowed handoff.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:55.008Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "messages-create"
                },
                {
                  "node_kind": "resource",
                  "node_id": "messages-create-response"
                },
                {
                  "node_kind": "resource",
                  "node_id": "messages-request-response-guide"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:823c2c06fafbe42ceda94bd086b77a443d6d6c70bb7953381662e41c91f19b9d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:3748960e0fb5abd7ae458dffcc97f8d1e8f73e66d43b77878d4a3d9ca482173c",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:6933bb7c3643a80199a02bc1449efbe98c794fc2de99bde9facf0a68917a0499",
                    "sha256:f178ceff5efb4bd539a587596069b3ddd628675d9b2fa2ea4f357fb8a3a5a910"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "messages-create"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:6933bb7c3643a80199a02bc1449efbe98c794fc2de99bde9facf0a68917a0499",
                      "start_byte": 11376,
                      "end_byte": 12189,
                      "value_digest": "sha256:eca0df900c21753bb99888080036d7b5f5c4cf3a673ba2546d048f3ccd1c751a"
                    }
                  ]
                }
              ],
              "note": "Messages creation is initiated within supported agent authority via a direct programmatic POST request to /v1/messages."
            }
          ],
          "blockers": [],
          "remediations": [
            {
              "signal_code": "access_material_delivery",
              "code": "improve.provision.access_material_delivery",
              "instruction": "Deliver scoped access material through a secure documented machine-usable flow."
            }
          ]
        },
        {
          "stage": "operate",
          "stage_label": "Operate",
          "outcome": "constrained",
          "public_state": "limited",
          "state_label": "Limited",
          "primary_finding": {
            "signal_code": "failure_contract",
            "condition": "Can an agent handle applicable failure modes safely?",
            "finding": "Safe failure handling is documented only partially.",
            "context": "Anthropic documents HTTP error codes, error shapes and SDK retries with exponential backoff honoring retry-after; the selected quotes do not establish idempotency or reconciliation semantics for the Messages operation."
          },
          "secondary_context": [
            {
              "signal_code": "credential_lifecycle",
              "condition": "Can an agent manage credential expiry, rotation, revocation, compromise, and recovery?",
              "finding": "Only part of the credential lifecycle is agent-operable.",
              "context": "API keys are created in the Console with selectable key types and expiration times. API keys or tunnel tokens can be rotated or deleted/archived, but complete programmatic agent-driven credential lifecycle and compromise recovery are not established."
            },
            {
              "signal_code": "target_interface_access",
              "condition": "Can an agent perform every essential assessment target through a usable interface?",
              "finding": "Every essential target has a stable documented agent-usable interface alternative.",
              "context": "Every target feature and endpoint can be invoked using standard HTTP API requests, ant CLI, or official client SDKs."
            },
            {
              "signal_code": "operation_authentication",
              "condition": "Can an agent authenticate service operations with scoped authority?",
              "finding": "Request-time authentication is documented and usable under scoped agent authority.",
              "context": "Requests to the Claude API authenticate via Bearer token in the Authorization header or via the x-api-key header, with optional anthropic-workspace-id header to scope operations to a workspace."
            },
            {
              "signal_code": "operation_contract",
              "condition": "Are essential operation inputs, outputs, and effects stable and decidable?",
              "finding": "Essential operations have stable readable request, response, and effect semantics.",
              "context": "Essential API endpoints, parameters, request size limits, error shapes, SDK interfaces, and rate/spend limit response payloads are documented with stable semantics."
            },
            {
              "signal_code": "agent_protocol_interface",
              "condition": "Is an agent-native protocol interface verified against the essential targets?",
              "finding": "A verified agent-native interface covers the declared assessment targets.",
              "context": "The Claude API provides explicit agent-native protocol interfaces and agent lifecycle tooling across Messages, Managed Agents (agents, sessions, environments), and Claude Agent SDK."
            }
          ],
          "signals": [
            {
              "signal_code": "agent_protocol_interface",
              "evaluation_role": "informational",
              "required": false,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Is an agent-native protocol interface verified against the essential targets?",
              "finding": "A verified agent-native interface covers the declared assessment targets.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:56.490Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "api-service"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4eb3d7f27cf394c3056ce3c505a1341d035625996f459cb4fcdb4c91c7a8403f",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                    "sha256:8d3d093f24de553de691a03f92f3fc72ba2a4455ad03528043c320248828c3fc",
                    "sha256:c8ea0fb422fd06338a868d33199ef8fc421132d5d324eee373d1aba5cf57a046"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-errors"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                      "start_byte": 10650,
                      "end_byte": 11494,
                      "value_digest": "sha256:ec1f38970eb1d996942ab148be477d411f7ea8d296a59fc15e86358a9a5d583e"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:91796d1d6625abb7904e4e0d60baf7d26805316453fd4386c910235347c7877c",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0897e5c333c040c09898c841efbf417f613eff2a02aa8d6a1248e40a31ba95d0",
                    "sha256:400add80c03a2aef4a85f87663e4574daf396c78b052092f7aa661f60d53ae56",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:6f486d091c7424f90fc320c502333ae31135508526863488d5945a5e7381d01d"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "rate-limits"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:0897e5c333c040c09898c841efbf417f613eff2a02aa8d6a1248e40a31ba95d0",
                      "start_byte": 9217,
                      "end_byte": 10107,
                      "value_digest": "sha256:99831c0944c33d8a1ca4879704fd0395c548a87292fc8a1010f4f92d64235239"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4c5656c3e6f9199382a1c2471377a2122ccdfda89a358262bc7b9d8a228f4829",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:00ca1ce331cabaae6f03342062c6c31ad925c861e451633b54892fa8c0beee83",
                    "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                    "sha256:277c0e81969caa4ea21cdd5532c4069cb6168ebd3e3dc9b0f938805cbfb1c9a7",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                      "start_byte": 6878,
                      "end_byte": 7681,
                      "value_digest": "sha256:f23b4716dab9f36fd06942047976a094089cbfbca29cc170d613f44680d3fe5b"
                    }
                  ]
                }
              ],
              "note": "The Claude API provides explicit agent-native protocol interfaces and agent lifecycle tooling across Messages, Managed Agents (agents, sessions, environments), and Claude Agent SDK."
            },
            {
              "signal_code": "credential_lifecycle",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent manage credential expiry, rotation, revocation, compromise, and recovery?",
              "finding": "Only part of the credential lifecycle is agent-operable.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:52.963Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:229c14d3033cb845554c70bb71497d129a5e3e1dc319b6ebe4cb26affd584fc1",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:73454139d465ee30db233f0a91fabfc97419e2583bb158fa6c7d84edf5ef7ad1",
                    "sha256:b38b184c18313f6667e37fe6f497a541418224fa64cd12a715b6df9b335e149d"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                      "start_byte": 10164,
                      "end_byte": 11054,
                      "value_digest": "sha256:99831c0944c33d8a1ca4879704fd0395c548a87292fc8a1010f4f92d64235239"
                    },
                    {
                      "artifact_digest": "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                      "start_byte": 14260,
                      "end_byte": 15036,
                      "value_digest": "sha256:19cfe42b24a2d9a490de1976eb51957c106d1091613504a2a3d83c7671da9e5a"
                    }
                  ]
                }
              ],
              "note": "API keys are created in the Console with selectable key types and expiration times. API keys or tunnel tokens can be rotated or deleted/archived, but complete programmatic agent-driven credential lifecycle and compromise recovery are not established.",
              "remediation": {
                "signal_code": "credential_lifecycle",
                "code": "improve.operate.credential_lifecycle",
                "instruction": "Provide scoped expiry, rotation, revocation, compromise, and recovery operations."
              }
            },
            {
              "signal_code": "failure_contract",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent handle applicable failure modes safely?",
              "finding": "Safe failure handling is documented only partially.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:56.490Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-errors"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4eb3d7f27cf394c3056ce3c505a1341d035625996f459cb4fcdb4c91c7a8403f",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:6b3574aa2686c46c0baaaddbe0f2c51326f42e777548aba6a1448ca47f820606",
                    "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                    "sha256:c8ea0fb422fd06338a868d33199ef8fc421132d5d324eee373d1aba5cf57a046"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-errors"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                      "start_byte": 12386,
                      "end_byte": 13197,
                      "value_digest": "sha256:822bf7560715182737a24e8a109b7bfd1a26bf8e51a374fab695f28952177607"
                    },
                    {
                      "artifact_digest": "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                      "start_byte": 14789,
                      "end_byte": 15590,
                      "value_digest": "sha256:bcd409e9560525f49d207a59bc4636f5c219f51f61b8244f7a353642bfed33f2"
                    }
                  ]
                }
              ],
              "note": "Anthropic documents HTTP error codes, error shapes and SDK retries with exponential backoff honoring retry-after; the selected quotes do not establish idempotency or reconciliation semantics for the Messages operation.",
              "remediation": {
                "signal_code": "failure_contract",
                "code": "improve.operate.failure_contract",
                "instruction": "Document applicable structured errors, retry, cancellation, and reconciliation semantics."
              }
            },
            {
              "signal_code": "operation_authentication",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent authenticate service operations with scoped authority?",
              "finding": "Request-time authentication is documented and usable under scoped agent authority.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:52.963Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:229c14d3033cb845554c70bb71497d129a5e3e1dc319b6ebe4cb26affd584fc1",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:67a973451c2d94f55be5054f1a2f128dadf90135cd7065915c6bc31cc482b217",
                    "sha256:73454139d465ee30db233f0a91fabfc97419e2583bb158fa6c7d84edf5ef7ad1"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                      "start_byte": 12658,
                      "end_byte": 13458,
                      "value_digest": "sha256:ddcf5ee4329925cf7d4ef24007e7060ff2cf4c91f9e2ee0ce18ed072da251e6c"
                    },
                    {
                      "artifact_digest": "sha256:10f66edb4f0233080189d00ed7ec1807be582d042a88002be38f65376b0ad7f0",
                      "start_byte": 13459,
                      "end_byte": 14259,
                      "value_digest": "sha256:6483282c00142c65f8a1cdce505b449a176353832b1b2fe2b14dab4c0af659cf"
                    }
                  ]
                }
              ],
              "note": "Requests to the Claude API authenticate via Bearer token in the Authorization header or via the x-api-key header, with optional anthropic-workspace-id header to scope operations to a workspace."
            },
            {
              "signal_code": "operation_contract",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Are essential operation inputs, outputs, and effects stable and decidable?",
              "finding": "Essential operations have stable readable request, response, and effect semantics.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:56.490Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "api-service"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:91796d1d6625abb7904e4e0d60baf7d26805316453fd4386c910235347c7877c",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0897e5c333c040c09898c841efbf417f613eff2a02aa8d6a1248e40a31ba95d0",
                    "sha256:400add80c03a2aef4a85f87663e4574daf396c78b052092f7aa661f60d53ae56",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:ca6cdf0e23c1c1ee7d7f5bb99c4bba5d989cd578ff31811786a062e164f2af27"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "rate-limits"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:0897e5c333c040c09898c841efbf417f613eff2a02aa8d6a1248e40a31ba95d0",
                      "start_byte": 13324,
                      "end_byte": 14124,
                      "value_digest": "sha256:4c083f828b7a45514f9d67717fbc0f6a035091e59cce11ad7baf65d4b606b53e"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4c5656c3e6f9199382a1c2471377a2122ccdfda89a358262bc7b9d8a228f4829",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                    "sha256:277c0e81969caa4ea21cdd5532c4069cb6168ebd3e3dc9b0f938805cbfb1c9a7",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:8a63f05d6f991a657a789b9aff0c2919123990bec6b4dd1286969e0f74500170"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                      "start_byte": 6071,
                      "end_byte": 6877,
                      "value_digest": "sha256:a3cbb55b4b39b90f82b35a4b0f27567881ac9b69b6e42add4fab470aa6007383"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4eb3d7f27cf394c3056ce3c505a1341d035625996f459cb4fcdb4c91c7a8403f",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                    "sha256:c8ea0fb422fd06338a868d33199ef8fc421132d5d324eee373d1aba5cf57a046",
                    "sha256:d1835b2013b38fafff60dcadc0cf3ce3532f45abfebdfe26ec61343397de6b19"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-errors"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                      "start_byte": 15591,
                      "end_byte": 16393,
                      "value_digest": "sha256:54f02039833b9ba4419497aa08951923676936839d79ef0c0d09c17ef5c275b8"
                    }
                  ]
                }
              ],
              "note": "Essential API endpoints, parameters, request size limits, error shapes, SDK interfaces, and rate/spend limit response payloads are documented with stable semantics."
            },
            {
              "signal_code": "target_interface_access",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent perform every essential assessment target through a usable interface?",
              "finding": "Every essential target has a stable documented agent-usable interface alternative.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:56.490Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "api-service"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4c5656c3e6f9199382a1c2471377a2122ccdfda89a358262bc7b9d8a228f4829",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                    "sha256:277c0e81969caa4ea21cdd5532c4069cb6168ebd3e3dc9b0f938805cbfb1c9a7",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:8a63f05d6f991a657a789b9aff0c2919123990bec6b4dd1286969e0f74500170"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:01a6e36b23d4994fec5a6f8220ce6d263db27ca097c2734cb5ff03e287e79eaa",
                      "start_byte": 6071,
                      "end_byte": 6877,
                      "value_digest": "sha256:a3cbb55b4b39b90f82b35a4b0f27567881ac9b69b6e42add4fab470aa6007383"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4eb3d7f27cf394c3056ce3c505a1341d035625996f459cb4fcdb4c91c7a8403f",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                    "sha256:8d3d093f24de553de691a03f92f3fc72ba2a4455ad03528043c320248828c3fc",
                    "sha256:c8ea0fb422fd06338a868d33199ef8fc421132d5d324eee373d1aba5cf57a046"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-errors"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:7893166d04bc8ce0aa14a55b07de353ccddc45bea09e479d1743194b2cdf3d82",
                      "start_byte": 10650,
                      "end_byte": 11494,
                      "value_digest": "sha256:ec1f38970eb1d996942ab148be477d411f7ea8d296a59fc15e86358a9a5d583e"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:91796d1d6625abb7904e4e0d60baf7d26805316453fd4386c910235347c7877c",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:07d8f2c0018fc155e7651680f832ca3a65ffbac5cd3278bbc375fff492a7ccc4",
                    "sha256:0897e5c333c040c09898c841efbf417f613eff2a02aa8d6a1248e40a31ba95d0",
                    "sha256:400add80c03a2aef4a85f87663e4574daf396c78b052092f7aa661f60d53ae56",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "rate-limits"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:0897e5c333c040c09898c841efbf417f613eff2a02aa8d6a1248e40a31ba95d0",
                      "start_byte": 8378,
                      "end_byte": 9216,
                      "value_digest": "sha256:6599fc881765803d0721173c7c52b6704909feff99846289dde34416f016658f"
                    }
                  ]
                }
              ],
              "note": "Every target feature and endpoint can be invoked using standard HTTP API requests, ant CLI, or official client SDKs."
            }
          ],
          "blockers": [],
          "remediations": [
            {
              "signal_code": "failure_contract",
              "code": "improve.operate.failure_contract",
              "instruction": "Document applicable structured errors, retry, cancellation, and reconciliation semantics."
            },
            {
              "signal_code": "credential_lifecycle",
              "code": "improve.operate.credential_lifecycle",
              "instruction": "Provide scoped expiry, rotation, revocation, compromise, and recovery operations."
            }
          ]
        }
      ],
      "coverage": {
        "status": "complete",
        "required_signals": 14,
        "covered_signals": 14,
        "ratio": 1,
        "barrier_signals": 5,
        "verified_barrier_signals": 0,
        "barrier_ratio": 0
      },
      "last_tested_at": "2026-09-06T08:51:52.963Z",
      "freshness": "fresh",
      "provenance": {
        "freshness": "fresh",
        "dispute": "none",
        "coverage_policy_digest": "sha256:fc9e8f046d86fcf19ab2f1bc547219e503cdc11ffa135d020db7285965cd7d1d",
        "freshness_policy_digest": "sha256:b71bacf415fdbef01024355fb3d080df7a9dca05d2cce9a2a1f691fe8a60f579",
        "basis_event_ids": [
          "sha256:0975d9912d54ecd0ec78b104585df1d2abadf4150fdfcbfb575eefec5af01ec8",
          "sha256:0bc58ffd12ae7ab98cd8cb595dd116634a860758a5056a740ee81dacef60db0a",
          "sha256:27bce8f83f6c89c3768a168e90460ec0b192e2efeb1666dc62603a296ba8c4fa",
          "sha256:33a17d3bbafd2219b3dc851c9cf61825dfc106f4e37ee160211c3c00b2cd1fef",
          "sha256:34f8ff0205cb1df92f070f74d32ccf33ca3648ffd9c99f454dc5ec04eef30fc3",
          "sha256:4253a7ecb8218e9141ed88722e5f5d42fed51e2c27e83ac974629f9556dd3913",
          "sha256:4c02a6e95e78fb38984765397e700ca402d1380e45ff1bad1fa718991a5b8e43",
          "sha256:5691674cc1ca9d5a7b22db03029d882e925434c689c9e82719e89b3281a35904",
          "sha256:6be437af95bebef797271637bca066cd30261bd2ff1286b088572442827d012e",
          "sha256:72b752a05216d228fb172d346af3239329fa1862bf9363e53a8937c69450118b",
          "sha256:7e020b43601ef2df90ab72870bba3754057afe6b04918849951bab74b25b24f6",
          "sha256:8259b11f02dae7134ae82ace1bad9e270c7937d6a94ca20adadb4d03390b4aef",
          "sha256:8e148db758cc3d6ca3fdd2c76c939a2aef07118e8c163efa05833716643f811b",
          "sha256:8f44783801479ef4ffbadb636c96375c8612d5a45ae5295e561bdab1caa14754",
          "sha256:9475381d29432719191b98f5869a949153ea2bc68f030b41ccff19afe4f60d2d",
          "sha256:9aef197a7b3524c4ccd56906715ba923748caa8f88e04e6276954a5f74a9e38f",
          "sha256:a96c1b9e128a3a5b1fe30b8cd318edacc39b6a807f6d27e8a80c50d4453194bd",
          "sha256:ac9419678779e6519d4fb58771521176d03dcb245058c5bf627876aafd77d059",
          "sha256:b3cc4e253ddc031694f8fa9b635c40703ab895ad658d03a6b62251b13ede0300",
          "sha256:b7f5daef511184a12ad146177759747a2c5d3c16dc69d748780551cbd57cce75",
          "sha256:bfbfe3f54983d265db58d0e82ca1b4f3d57f82e43ea33ae39d2190f7b82c023d",
          "sha256:caf53f026b0b0435179882896234a72eabc038a74c81447206ec5f109ac7e06e",
          "sha256:d08575611c84330a7509df11086104fc6a1808b0593c6b5df011429b4e6b7c67",
          "sha256:d4cfad6463a2fad924c68caff6587bd7d7f1373e20d3189b3c0d5e82b3295847",
          "sha256:d4dc68caf4abbc4b6d64a87448df6beb97bb2ddf60e06ee4104e0b78ffe9cda9",
          "sha256:d60ef043263220503c7de474c0dc48178cbb31b6f2ff0ec96b2394b18fa7fe69",
          "sha256:dc945bc142a696eeb23362f460f296bad6084659c0f801bb0c88866604f9b38a",
          "sha256:e1784508f57755b59853f1c61c95afe7ec225f976805e285ab33980527c32023",
          "sha256:ea6903c99eddd423cc4bd605ed0dd2f55427b7c25e0d6e52b95a2fdbaca0d2ec",
          "sha256:ed344a46735c61480bc23de898edfd63d0ca86cdf1aaa6789c93f963e374899a",
          "sha256:f0fbf1d9bc4d8dc75e7dba9bba84850dc8a465aa702eef140fd1a23e318aa429",
          "sha256:f30a9132c3f0743aad04f0f0faa131cade678cd0cf9ad3d229efd9c02b47b10b",
          "sha256:fbe5cc82b4f9e197bbad23bb5a302189d5b04c0139f75ebb1b0293592d46baca"
        ],
        "fields": [
          {
            "path": "/signals/0",
            "supporting_event_ids": [
              "sha256:ac9419678779e6519d4fb58771521176d03dcb245058c5bf627876aafd77d059"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:07.571Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/1",
            "supporting_event_ids": [
              "sha256:caf53f026b0b0435179882896234a72eabc038a74c81447206ec5f109ac7e06e"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.687Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/2",
            "supporting_event_ids": [
              "sha256:b7f5daef511184a12ad146177759747a2c5d3c16dc69d748780551cbd57cce75"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:13.785Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/3",
            "supporting_event_ids": [
              "sha256:b3cc4e253ddc031694f8fa9b635c40703ab895ad658d03a6b62251b13ede0300",
              "sha256:bfbfe3f54983d265db58d0e82ca1b4f3d57f82e43ea33ae39d2190f7b82c023d"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:52.963Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/4",
            "supporting_event_ids": [
              "sha256:0975d9912d54ecd0ec78b104585df1d2abadf4150fdfcbfb575eefec5af01ec8"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:07.571Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/5",
            "supporting_event_ids": [
              "sha256:6be437af95bebef797271637bca066cd30261bd2ff1286b088572442827d012e",
              "sha256:d60ef043263220503c7de474c0dc48178cbb31b6f2ff0ec96b2394b18fa7fe69"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:52.963Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/6",
            "supporting_event_ids": [
              "sha256:f30a9132c3f0743aad04f0f0faa131cade678cd0cf9ad3d229efd9c02b47b10b"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:04.385Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/7",
            "supporting_event_ids": [
              "sha256:33a17d3bbafd2219b3dc851c9cf61825dfc106f4e37ee160211c3c00b2cd1fef"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:04.385Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/8",
            "supporting_event_ids": [
              "sha256:7e020b43601ef2df90ab72870bba3754057afe6b04918849951bab74b25b24f6",
              "sha256:d4dc68caf4abbc4b6d64a87448df6beb97bb2ddf60e06ee4104e0b78ffe9cda9"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:04.385Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/9",
            "supporting_event_ids": [
              "sha256:ed344a46735c61480bc23de898edfd63d0ca86cdf1aaa6789c93f963e374899a"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:52.963Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/10",
            "supporting_event_ids": [
              "sha256:5691674cc1ca9d5a7b22db03029d882e925434c689c9e82719e89b3281a35904"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:04.385Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/11",
            "supporting_event_ids": [
              "sha256:8f44783801479ef4ffbadb636c96375c8612d5a45ae5295e561bdab1caa14754"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:48.462Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/12",
            "supporting_event_ids": [
              "sha256:34f8ff0205cb1df92f070f74d32ccf33ca3648ffd9c99f454dc5ec04eef30fc3"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.687Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/13",
            "supporting_event_ids": [
              "sha256:72b752a05216d228fb172d346af3239329fa1862bf9363e53a8937c69450118b"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:48.462Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/14",
            "supporting_event_ids": [
              "sha256:dc945bc142a696eeb23362f460f296bad6084659c0f801bb0c88866604f9b38a"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:48.462Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/15",
            "supporting_event_ids": [
              "sha256:9475381d29432719191b98f5869a949153ea2bc68f030b41ccff19afe4f60d2d"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:52.963Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/16",
            "supporting_event_ids": [
              "sha256:4c02a6e95e78fb38984765397e700ca402d1380e45ff1bad1fa718991a5b8e43"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:12.006Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/17",
            "supporting_event_ids": [
              "sha256:e1784508f57755b59853f1c61c95afe7ec225f976805e285ab33980527c32023"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:55.008Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/18",
            "supporting_event_ids": [
              "sha256:0bc58ffd12ae7ab98cd8cb595dd116634a860758a5056a740ee81dacef60db0a",
              "sha256:9aef197a7b3524c4ccd56906715ba923748caa8f88e04e6276954a5f74a9e38f",
              "sha256:f0fbf1d9bc4d8dc75e7dba9bba84850dc8a465aa702eef140fd1a23e318aa429"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:56.490Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/19",
            "supporting_event_ids": [
              "sha256:a96c1b9e128a3a5b1fe30b8cd318edacc39b6a807f6d27e8a80c50d4453194bd"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:52.963Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/20",
            "supporting_event_ids": [
              "sha256:8e148db758cc3d6ca3fdd2c76c939a2aef07118e8c163efa05833716643f811b"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:56.490Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/21",
            "supporting_event_ids": [
              "sha256:4253a7ecb8218e9141ed88722e5f5d42fed51e2c27e83ac974629f9556dd3913"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:52.963Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/22",
            "supporting_event_ids": [
              "sha256:8259b11f02dae7134ae82ace1bad9e270c7937d6a94ca20adadb4d03390b4aef",
              "sha256:d08575611c84330a7509df11086104fc6a1808b0593c6b5df011429b4e6b7c67",
              "sha256:ea6903c99eddd423cc4bd605ed0dd2f55427b7c25e0d6e52b95a2fdbaca0d2ec"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:56.490Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/23",
            "supporting_event_ids": [
              "sha256:27bce8f83f6c89c3768a168e90460ec0b192e2efeb1666dc62603a296ba8c4fa",
              "sha256:d4cfad6463a2fad924c68caff6587bd7d7f1373e20d3189b3c0d5e82b3295847",
              "sha256:fbe5cc82b4f9e197bbad23bb5a302189d5b04c0139f75ebb1b0293592d46baca"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:56.490Z",
            "freshness": "fresh"
          }
        ],
        "vendor_attestation": {
          "status": "none"
        }
      },
      "canonical_url": "https://sourcey.com/log/anthropic/agent-readiness/anthropic-api/api-service-lifecycle",
      "projection_digest": "sha256:fce93178bab30388492a7ffeaccca7c9366ce12e33334c2e34ebfc35a3a8a577"
    }
  }
}
