{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:f94358e3c57b6e575ca58c8031b9b7552cbfdb411f937b8ecdc3b042c4980a77",
  "snapshot_id": "sha256:0679a3f0d41c0733e76d10ab3fb1b331811893c7d428749740ec0f21ac731d3e",
  "artifact_sha256": "sha256:7472396c2449279d33e7a0fb2426f02a89991501262d1db8c04c81d57bdf9021",
  "data": {
    "entity_id": "ent_01kyyts97tg62epymp01r8t62x",
    "entity_slug": "twilio",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01kzf0m4xm8n4vc1f7z6qs2yh5",
      "entity_id": "ent_01kyyts97tg62epymp01r8t62x",
      "scope": {
        "product": {
          "key": "twilio-messaging-api",
          "name": "Twilio Messaging API"
        },
        "funnel": {
          "key": "message-operations",
          "name": "Message operations"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:cad9f851ab1bb553246eb2fb2b2803a4741814a33ccf28997014247439b9013d",
        "entity_revision_digest": "sha256:6789395a68188d85e262606330dbb20d4dcfd49f918934a99993ca476c86ca81"
      },
      "declaration_revision_digest": "sha256:3b099a62c294cdf195c5df386cceeb6b7e7ea039816c5d6e1ce50e0319cfaf93",
      "declaration": {
        "declaration_id": "declaration_twilio_messaging_api_operations",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "62b512f0c49352e55a399ba53866a5effa431d71",
          "path": "vendors/tw/twilio.yaml",
          "git_blob_oid": "235c1eb240db47dcc54c468982c95904cf9ba2f0",
          "blob_digest": "sha256:5d039e3faedb3c975e9d311f32b6c7c2d7d121bb1429ad8b03b906ff2f7ebe8a"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "assessment_targets": [
          {
            "target_id": "service-use",
            "name": "Send messages and inspect delivery state through the API",
            "interface_ids": [
              "messaging-api"
            ]
          }
        ],
        "participants": [
          {
            "participant_id": "twilio",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyyts97tg62epymp01r8t62x"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "account-signup",
            "uri": "https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account",
            "roles": [
              "access",
              "checkout",
              "documentation"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "api-errors",
            "uri": "https://www.twilio.com/docs/usage/twilios-response",
            "roles": [
              "documentation",
              "operations",
              "recovery",
              "status"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "api-overview",
            "uri": "https://www.twilio.com/docs/usage/api",
            "roles": [
              "discovery",
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://www.twilio.com/docs/usage/requests-to-twilio",
            "roles": [
              "authentication",
              "descriptor",
              "documentation",
              "provisioning"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "delivery-status",
            "uri": "https://www.twilio.com/docs/messaging/guides/track-outbound-message-status",
            "roles": [
              "documentation",
              "operations",
              "recovery",
              "status"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "message-operations",
            "uri": "https://www.twilio.com/docs/messaging/api/message-resource",
            "roles": [
              "documentation",
              "operations",
              "provisioning",
              "status"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://www.twilio.com/en-us/pricing",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "readiness-cfa12ce6e4f5f5ff16c4a65698f5d4c7be599bc6f54d70a6e41dcf742e0637ac",
            "uri": "https://www.twilio.com/en-us/pricing/messaging",
            "roles": [
              "documentation",
              "pricing"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://www.twilio.com/en-us/legal/tos",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "resource_id": "support",
            "uri": "https://www.twilio.com/docs/usage/troubleshooting",
            "roles": [
              "documentation",
              "recovery"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "registration",
            "uri": "https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "endpoint_id": "twilio-api",
            "uri": "https://api.twilio.com/2010-04-01",
            "transport": "http",
            "roles": [
              "service",
              "status"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          },
          {
            "interface_id": "messaging-api",
            "modality": "network_api",
            "functions": [
              "events",
              "service_operation"
            ],
            "endpoint_ids": [
              "twilio-api"
            ],
            "resource_ids": [
              "api-errors",
              "api-overview",
              "delivery-status",
              "message-operations"
            ],
            "operated_by_participant_id": "twilio",
            "standard_bindings": []
          }
        ],
        "relations": [
          {
            "relation_id": "authentication-authenticates-api",
            "kind": "authenticates",
            "from": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "messaging-api"
            }
          },
          {
            "relation_id": "messages-describe-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "message-operations"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "messaging-api"
            }
          },
          {
            "relation_id": "overview-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-overview"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "messaging-api"
            }
          },
          {
            "relation_id": "signup-precedes-authentication",
            "kind": "precedes",
            "from": {
              "node_kind": "resource",
              "node_id": "account-signup"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          }
        ],
        "surface_exclusions": [
          {
            "exclusion_id": "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-08-20T14:33:24.000Z",
      "revision_digest": "sha256:c0bcfd7a8e706ede6bbe61f28f40ec034e533142fa48a8e1499c32029401c51f",
      "policy_digest": "sha256:57bf95fd6d0fe6fe9173a68b60e8d8dc2179b357c88ff4349675a72d0e1d4139",
      "policy_version": "service-use-2026-08-20-public-evidence-r9",
      "policy_as_of": "2026-08-20T00: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": "C+",
      "grade_derivation": {
        "label": "Five-stage Agent Readiness report card",
        "explanation": "A through C grades count Limited stages; D and F reflect actual Blocked stages by lifecycle severity.",
        "coverage_rule": "Every core graded metric must have supported, fresh, non-conflicting evidence. Barrier checks constrain the report when verified and cap an otherwise higher grade at B+ while unverified.",
        "outcome_rule": "Each stage takes its worst core metric or verified barrier, and the overall grade is derived from the five stage states plus the explicit unverified-barrier cap."
      },
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "primary_finding": {
        "stage": "evaluate",
        "stage_label": "Evaluate",
        "public_state": "limited",
        "finding": {
          "signal_code": "eligibility_decidability",
          "condition": "Can an agent decide every material eligibility condition before commitment?",
          "finding": "Only some material eligibility conditions are decidable before commitment.",
          "context": "Twilio's Terms of Service explicitly define material eligibility conditions including legal power and authority to accept the agreement, entity domicile identification, and representations regarding authority, but specific product-level eligibility criteria are not fully detailed in the provided excerpt."
        }
      },
      "limitations": [
        {
          "stage": "evaluate",
          "stage_label": "Evaluate",
          "finding": {
            "signal_code": "eligibility_decidability",
            "condition": "Can an agent decide every material eligibility condition before commitment?",
            "finding": "Only some material eligibility conditions are decidable before commitment.",
            "context": "Twilio's Terms of Service explicitly define material eligibility conditions including legal power and authority to accept the agreement, entity domicile identification, and representations regarding authority, but specific product-level eligibility criteria are not fully detailed in the provided excerpt."
          },
          "remediation": {
            "signal_code": "eligibility_decidability",
            "code": "improve.evaluate.eligibility_decidability",
            "instruction": "State every material eligibility condition and required input explicitly."
          }
        },
        {
          "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": "Twilio supports machine credentials such as API keys (Main, Standard, and Restricted) that can be generated or revoked, but obtaining them via the Console involves manual credential management."
          },
          "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": "Twilio declares that Standard and Restricted API keys can be created through its REST API, but the retained excerpt does not fully specify secret response and transfer semantics."
          },
          "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": "provision",
          "stage_label": "Provision",
          "finding": {
            "signal_code": "provisioning_completion",
            "condition": "Can an agent determine successful provisioning completion and reconcile asynchronous failure?",
            "finding": "Completion is observable, but an asynchronous path omits a material terminal, bound, or reconciliation property.",
            "context": "The REST API creates Message resources and returns a status property with explicit message states such as queued or sending. Current evidence leaves asynchronous reconciliation and documented bounds unresolved."
          },
          "remediation": {
            "signal_code": "provisioning_completion",
            "code": "improve.provision.provisioning_completion",
            "instruction": "Expose bounded machine-readable terminal status and reconciliation semantics."
          }
        },
        {
          "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": "Twilio documents API error status codes (e.g., 400 Bad Request, 404 Not Found, 429 Too Many Requests, 500/503), error response structures (status, message, code, more_info), and delivery status callback tracking via MessageStatus and ErrorCode. Complete failure semantics such as explicit idempotency bounds or cancellation guarantees remain partially covered."
          },
          "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": "Twilio documents that API keys can be used to authenticate requests and can be revoked if compromised or no longer used to prevent unauthorized access. However, full automated credential lifecycle including programmatic rotation or recovery paths for main account secrets is not completely 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": "constrained",
          "public_state": "limited",
          "state_label": "Limited",
          "primary_finding": {
            "signal_code": "eligibility_decidability",
            "condition": "Can an agent decide every material eligibility condition before commitment?",
            "finding": "Only some material eligibility conditions are decidable before commitment.",
            "context": "Twilio's Terms of Service explicitly define material eligibility conditions including legal power and authority to accept the agreement, entity domicile identification, and representations regarding authority, but specific product-level eligibility criteria are not fully detailed in the provided excerpt."
          },
          "secondary_context": [
            {
              "signal_code": "structured_evaluation_discovery",
              "condition": "Are verified structured discovery artifacts available?",
              "finding": "Current admissible evidence does not resolve this finding."
            },
            {
              "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."
            },
            {
              "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 Twilio API overview documentation outlines stable REST APIs and SDK entrypoints for the Messaging API."
            },
            {
              "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 terms of service are retrievable and readable, detailing customer responsibilities, acceptable use policy incorporation, and document order of precedence."
            },
            {
              "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": "Twilio provides explicit pay-as-you-go pricing variables for SMS ($0.0083) and WhatsApp ($0.005) messaging, alongside phone number fees ($1.15/month)."
            }
          ],
          "signals": [
            {
              "signal_code": "eligibility_decidability",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent decide every material eligibility condition before commitment?",
              "finding": "Only some material eligibility conditions are decidable before commitment.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-08-20T15:56:04.824Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:30548c9c64f17a316e5431bbba908700be7c8f5151f62e19753a061eaa76be05",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:134203d2e4993312e9cc4a791ac04375337256a1635a3de2bd827afd7d0c86b0",
                    "sha256:345d443359e6c678576ff03647a581dbff08261ca70fa1e90630122f0a023cb4",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:9392a9bfa57743b5e6c87dcfc2d0ea274543c4fc694a3de54ecc4a55e07496e9"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "service-terms"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:345d443359e6c678576ff03647a581dbff08261ca70fa1e90630122f0a023cb4",
                      "start_byte": 27821,
                      "end_byte": 28627,
                      "value_digest": "sha256:1cdbdf3077c1f70865500741cc39cbdabde7198cfddf77a4d2f027a810616134"
                    },
                    {
                      "artifact_digest": "sha256:345d443359e6c678576ff03647a581dbff08261ca70fa1e90630122f0a023cb4",
                      "start_byte": 58256,
                      "end_byte": 59055,
                      "value_digest": "sha256:761a88056dfb8125f57c9670ea47a02289eabd966bf4e5ff29dd1dfa81f56490"
                    }
                  ]
                }
              ],
              "note": "Twilio's Terms of Service explicitly define material eligibility conditions including legal power and authority to accept the agreement, entity domicile identification, and representations regarding authority, but specific product-level eligibility criteria are not fully detailed in the provided excerpt.",
              "remediation": {
                "signal_code": "eligibility_decidability",
                "code": "improve.evaluate.eligibility_decidability",
                "instruction": "State every material eligibility condition and required input explicitly."
              }
            },
            {
              "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-08-20T15:56:29.598Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "pricing"
                },
                {
                  "node_kind": "resource",
                  "node_id": "readiness-cfa12ce6e4f5f5ff16c4a65698f5d4c7be599bc6f54d70a6e41dcf742e0637ac"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:6651edc718e5c7d7a7e005b7c66c45d7e66d29ce4de084e2c5293b6815f66f62",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:09118ac61a3b1374b27acf891c427719865ce585ccf9f4876cad8feb987c8359",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:50c7b2ca383d5e6cc1bbcb5e017ce0b420d83c9e9edd4c9441b05b32396b304e",
                    "sha256:c92fb4629fcdc7c65f1d33ec4b68a31883b601b12141fc2f32294fe7c0ab8903"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "readiness-cfa12ce6e4f5f5ff16c4a65698f5d4c7be599bc6f54d70a6e41dcf742e0637ac"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:c92fb4629fcdc7c65f1d33ec4b68a31883b601b12141fc2f32294fe7c0ab8903",
                      "start_byte": 20984,
                      "end_byte": 21780,
                      "value_digest": "sha256:90e0eb4c9d41a3400eca65612d4b839e6124bbbfdf78f907d0aa5eb7af216804"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4a696fd5b705ed19914eaf51a65fc04bdbd809d02db59d3e6430ae3297ea513b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0b0a928a27cf70c1d1c2e3282d4d8eac70d43b60b02802c6dce3ae26cc1aa525",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:848bf5051ea872c8d1cf03efa9b00e199acaf2cfb7b578d417c63ad8e29a85ad",
                    "sha256:e6ef75954ee426ff685abacc70fd3152eb1753c10730aaf81e84c129af88ac95"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "pricing"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:0b0a928a27cf70c1d1c2e3282d4d8eac70d43b60b02802c6dce3ae26cc1aa525",
                      "start_byte": 21204,
                      "end_byte": 22003,
                      "value_digest": "sha256:7e74c205518a87fc35cf01d5b32029baba512527a8bff63209e60809931c9c66"
                    }
                  ]
                }
              ],
              "note": "Twilio provides explicit pay-as-you-go pricing variables for SMS ($0.0083) and WhatsApp ($0.005) messaging, alongside phone number fees ($1.15/month)."
            },
            {
              "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-08-20T15:55:57.856Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:687d73713f91e857e4de18dbec8f0a58c987350b8a38c134c720937873f2b07d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0158a79129b3b507fe2419374e647ce2f64227629d05317c5db5df8e9885bdaf",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:906f42acbecc08c1a28d17af29cb2a88de513768efcb6b3e50fc7927da81154f",
                    "sha256:ceb4a7cc589ab12743a688279df586846d8abcf7ab3e7a16a81378f36d050d75"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:ceb4a7cc589ab12743a688279df586846d8abcf7ab3e7a16a81378f36d050d75",
                      "start_byte": 9462,
                      "end_byte": 10257,
                      "value_digest": "sha256:86e51185153e2352cde45907ad9a82e3ceb2070304b167d6945d2f944f5f6988"
                    },
                    {
                      "artifact_digest": "sha256:ceb4a7cc589ab12743a688279df586846d8abcf7ab3e7a16a81378f36d050d75",
                      "start_byte": 8674,
                      "end_byte": 9461,
                      "value_digest": "sha256:deebb7a2bc89204786ecfb497ab3984261321f4309723921b00cc793a3c374b0"
                    }
                  ]
                }
              ],
              "note": "The Twilio API overview documentation outlines stable REST APIs and SDK entrypoints for the Messaging API."
            },
            {
              "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": "missing",
              "freshness": "unknown",
              "tested_surfaces": [],
              "determination_bases": []
            },
            {
              "signal_code": "terms_access",
              "evaluation_role": "graded",
              "required": true,
              "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-08-20T15:56:04.824Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:30548c9c64f17a316e5431bbba908700be7c8f5151f62e19753a061eaa76be05",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:345d443359e6c678576ff03647a581dbff08261ca70fa1e90630122f0a023cb4",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:9392a9bfa57743b5e6c87dcfc2d0ea274543c4fc694a3de54ecc4a55e07496e9",
                    "sha256:f776822d26b23bbcf458c27d9e2a32a24f7476a3285316d6d87b728d4133212d"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "service-terms"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:345d443359e6c678576ff03647a581dbff08261ca70fa1e90630122f0a023cb4",
                      "start_byte": 39052,
                      "end_byte": 39850,
                      "value_digest": "sha256:95cc4e16441ff0ce516c36ad4e81401722d1e727fede6988b0548b3353bd004b"
                    },
                    {
                      "artifact_digest": "sha256:345d443359e6c678576ff03647a581dbff08261ca70fa1e90630122f0a023cb4",
                      "start_byte": 85481,
                      "end_byte": 86277,
                      "value_digest": "sha256:c9a8b46c06a17bf49e9e99cb978b188bfd07c2f607b538a4b99383f83694b046"
                    }
                  ]
                }
              ],
              "note": "Applicable terms of service are retrievable and readable, detailing customer responsibilities, acceptable use policy incorporation, and document order of precedence."
            },
            {
              "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": "missing",
              "freshness": "unknown",
              "tested_surfaces": [],
              "determination_bases": []
            }
          ],
          "blockers": [],
          "remediations": [
            {
              "signal_code": "eligibility_decidability",
              "code": "improve.evaluate.eligibility_decidability",
              "instruction": "State every material eligibility condition and required input explicitly."
            }
          ]
        },
        {
          "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": "Twilio supports machine credentials such as API keys (Main, Standard, and Restricted) that can be generated or revoked, but obtaining them via the Console involves manual credential management."
          },
          "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 retained evidence describes Console home page options and trial flows, but does not state whether the access control form inputs, navigation, and validation can be operated deterministically by an agent."
            },
            {
              "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": "The retained evidence across both captured targets describes trial setup, phone verification steps, and account options, but does not state whether a CAPTCHA is present or if an agent-compatible route exists."
            },
            {
              "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": "The sign-up process explicitly requires verifying a personal phone number via SMS, but the retained text does not define a supported, resumable handoff mechanism for an agent following human verification."
            },
            {
              "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": "Twilio explicitly provides a stable route to begin obtaining service access by instructing users to sign up for a Twilio trial account, which opens the Twilio Console."
            }
          ],
          "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-08-20T15:56:13.615Z",
              "tested_surfaces": [
                {
                  "node_kind": "endpoint",
                  "node_id": "registration"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [],
              "note": "The retained evidence describes Console home page options and trial flows, but does not state whether the access control form inputs, navigation, and validation can be operated deterministically by an agent."
            },
            {
              "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-08-20T15:56:13.615Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "account-signup"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:d8a53085ce2d0b5474ec94a0705e6eaaf5cfcac47e84b6994a5a40d64b808544",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2a55d984cf86baa1fa3962a0cc03f549b46d566bebb52b2f3f5d5761a4845066",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:c0082758c42910611a0b48a195c5e39c722193190f05807962f07692a229f496",
                    "sha256:c75f7cb7ec5c15e570e3ddc73e53c0a11ab564d3446b24728938dd36fa7642fc"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "account-signup"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:2a55d984cf86baa1fa3962a0cc03f549b46d566bebb52b2f3f5d5761a4845066",
                      "start_byte": 14063,
                      "end_byte": 14862,
                      "value_digest": "sha256:5872bbd7c957cec8168e46f6644d2b6fac19033606d6d84360520689ce1125e1"
                    }
                  ]
                }
              ],
              "note": "Twilio explicitly provides a stable route to begin obtaining service access by instructing users to sign up for a Twilio trial account, which opens the Twilio Console."
            },
            {
              "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-08-20T15:56:13.615Z",
              "tested_surfaces": [
                {
                  "node_kind": "endpoint",
                  "node_id": "registration"
                },
                {
                  "node_kind": "resource",
                  "node_id": "account-signup"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [],
              "note": "The retained evidence across both captured targets describes trial setup, phone verification steps, and account options, but does not state whether a CAPTCHA is present or if an agent-compatible route exists."
            },
            {
              "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-08-20T15:55:58.442Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:b5ef335e6ca4501b5cc6a291248879abc5bc4d13fa89f6b75d8172c10a65914d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7e2762cec81c100ffa752716135d0d55dd5f3fc63606e7c8a987d287c51a17b5",
                    "sha256:dc0018f8c5124764e2a27657fa1e1e58f657da71661a104f00a6ce1f9b6b85e3"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 12179,
                      "end_byte": 12975,
                      "value_digest": "sha256:315e1eaa60dce4986f009ed837dcf9a13a91963cdcbc3ea152b91effd8af6ea8"
                    },
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 12976,
                      "end_byte": 13773,
                      "value_digest": "sha256:946eb471cb78c10afedfc251bf362233d0bcec2df6b0b247b87a770a82fb2860"
                    }
                  ]
                }
              ],
              "note": "Twilio supports machine credentials such as API keys (Main, Standard, and Restricted) that can be generated or revoked, but obtaining them via the Console involves manual credential management.",
              "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-08-20T15:56:13.615Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "account-signup"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [],
              "note": "The sign-up process explicitly requires verifying a personal phone number via SMS, but the retained text does not define a supported, resumable handoff mechanism for an agent following human verification."
            }
          ],
          "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": "Twilio discloses pricing for Messaging API before authorization. It provides a pay-as-you-go model with no contracts or commitments, detailing SMS/RCS starting at $0.0083 per outbound/inbound message plus carrier fees, WhatsApp starting at $0.005 plus Meta template fees, and phone numbers starting at $1.15 per month."
          },
          "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 documentation describes clicking Upgrade in the Twilio Console to create a profile, add an address, load a starting balance, and enter payment details. However, the evidence does not detail deterministic API/protocol flow steps for checkout hand off approval and resumption."
            },
            {
              "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 evidence states that upgrading involves adding payment details and loading a starting balance in the Twilio Console, but it does not specify a documented rail supporting 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": "Twilio documents a direct self-service path to move from a free trial to a paid account. Users can click the Trial banner or Upgrade in the Console, create a profile, add an address, load a starting balance, and add payment details to upgrade without a vendor decision point."
            }
          ],
          "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-08-20T15:56:13.615Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "account-signup"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [],
              "note": "The retained documentation describes clicking Upgrade in the Twilio Console to create a profile, add an address, load a starting balance, and enter payment details. However, the evidence does not detail deterministic API/protocol flow steps for checkout hand off approval and resumption."
            },
            {
              "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-08-20T15:56:29.598Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "pricing"
                },
                {
                  "node_kind": "resource",
                  "node_id": "readiness-cfa12ce6e4f5f5ff16c4a65698f5d4c7be599bc6f54d70a6e41dcf742e0637ac"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:6651edc718e5c7d7a7e005b7c66c45d7e66d29ce4de084e2c5293b6815f66f62",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:09118ac61a3b1374b27acf891c427719865ce585ccf9f4876cad8feb987c8359",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:50c7b2ca383d5e6cc1bbcb5e017ce0b420d83c9e9edd4c9441b05b32396b304e",
                    "sha256:c92fb4629fcdc7c65f1d33ec4b68a31883b601b12141fc2f32294fe7c0ab8903"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "readiness-cfa12ce6e4f5f5ff16c4a65698f5d4c7be599bc6f54d70a6e41dcf742e0637ac"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:c92fb4629fcdc7c65f1d33ec4b68a31883b601b12141fc2f32294fe7c0ab8903",
                      "start_byte": 20984,
                      "end_byte": 21780,
                      "value_digest": "sha256:90e0eb4c9d41a3400eca65612d4b839e6124bbbfdf78f907d0aa5eb7af216804"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:4a696fd5b705ed19914eaf51a65fc04bdbd809d02db59d3e6430ae3297ea513b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0b0a928a27cf70c1d1c2e3282d4d8eac70d43b60b02802c6dce3ae26cc1aa525",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:848bf5051ea872c8d1cf03efa9b00e199acaf2cfb7b578d417c63ad8e29a85ad",
                    "sha256:e6ef75954ee426ff685abacc70fd3152eb1753c10730aaf81e84c129af88ac95"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "pricing"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:0b0a928a27cf70c1d1c2e3282d4d8eac70d43b60b02802c6dce3ae26cc1aa525",
                      "start_byte": 21204,
                      "end_byte": 22003,
                      "value_digest": "sha256:7e74c205518a87fc35cf01d5b32029baba512527a8bff63209e60809931c9c66"
                    }
                  ]
                }
              ],
              "note": "Twilio discloses pricing for Messaging API before authorization. It provides a pay-as-you-go model with no contracts or commitments, detailing SMS/RCS starting at $0.0083 per outbound/inbound message plus carrier fees, WhatsApp starting at $0.005 plus Meta template fees, and phone numbers starting at $1.15 per month."
            },
            {
              "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-08-20T15:56:13.615Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "account-signup"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [],
              "note": "The evidence states that upgrading involves adding payment details and loading a starting balance in the Twilio Console, but it does not specify a documented rail supporting 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-08-20T15:56:13.615Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "account-signup"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:d8a53085ce2d0b5474ec94a0705e6eaaf5cfcac47e84b6994a5a40d64b808544",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2a55d984cf86baa1fa3962a0cc03f549b46d566bebb52b2f3f5d5761a4845066",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:c16a377e493a3efbee30be79ada29b1ade9a1d5c00679c68b04c2cba8569517c",
                    "sha256:c75f7cb7ec5c15e570e3ddc73e53c0a11ab564d3446b24728938dd36fa7642fc"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "account-signup"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:2a55d984cf86baa1fa3962a0cc03f549b46d566bebb52b2f3f5d5761a4845066",
                      "start_byte": 24409,
                      "end_byte": 25206,
                      "value_digest": "sha256:4a88f64aa79b0867729d887d34181fa80ca035a1b40064f22536f00f1131030b"
                    }
                  ]
                }
              ],
              "note": "Twilio documents a direct self-service path to move from a free trial to a paid account. Users can click the Trial banner or Upgrade in the Console, create a profile, add an address, load a starting balance, and add payment details to upgrade without a vendor decision point."
            }
          ],
          "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": "Twilio declares that Standard and Restricted API keys can be created through its REST API, but the retained excerpt does not fully specify secret response and transfer semantics."
          },
          "secondary_context": [
            {
              "signal_code": "provisioning_completion",
              "condition": "Can an agent determine successful provisioning completion and reconcile asynchronous failure?",
              "finding": "Completion is observable, but an asynchronous path omits a material terminal, bound, or reconciliation property.",
              "context": "The REST API creates Message resources and returns a status property with explicit message states such as queued or sending. Current evidence leaves asynchronous reconciliation and documented bounds unresolved."
            },
            {
              "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": "Provisioning of outgoing messages can be initiated directly by sending an HTTP POST request to the Account Messages list resource URI."
            }
          ],
          "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-08-20T15:55:58.442Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:b5ef335e6ca4501b5cc6a291248879abc5bc4d13fa89f6b75d8172c10a65914d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7e2762cec81c100ffa752716135d0d55dd5f3fc63606e7c8a987d287c51a17b5",
                    "sha256:b27e376ba372824b18d110b42e515909f1d78d28e2d39af33b54577102cec03c"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 12179,
                      "end_byte": 12975,
                      "value_digest": "sha256:315e1eaa60dce4986f009ed837dcf9a13a91963cdcbc3ea152b91effd8af6ea8"
                    }
                  ]
                }
              ],
              "note": "Twilio declares that Standard and Restricted API keys can be created through its REST API, but the retained excerpt does not fully specify secret response and transfer semantics.",
              "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": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent determine successful provisioning completion and reconcile asynchronous failure?",
              "finding": "Completion is observable, but an asynchronous path omits a material terminal, bound, or reconciliation property.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-08-20T15:56:58.069Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "message-operations"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:aee73407fb9dee4d0325327809fa9935996765afeb0f1930f570bd99b9a38c4b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:19adf53bf1ea7c9bfbcfd544358a9198084cd48e5a280be7ce8bf32bd0cb746a",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:ba9ae102530331975cc7907d87cfe2cc156eb636736aa6d8444378095341fb88",
                    "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "message-operations"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b",
                      "start_byte": 25449,
                      "end_byte": 26149,
                      "value_digest": "sha256:cfd0a3a3b6be5bdfdbb7088ec0a095009163b239031945072ec3b38fe2fcc9be"
                    },
                    {
                      "artifact_digest": "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b",
                      "start_byte": 27742,
                      "end_byte": 28539,
                      "value_digest": "sha256:e8dea81dd6b5ca6f856c83edf74b4b09712cff9dbe54a1dd94b68d1c75c8682e"
                    }
                  ]
                }
              ],
              "note": "The REST API creates Message resources and returns a status property with explicit message states such as queued or sending. Current evidence leaves asynchronous reconciliation and documented bounds unresolved.",
              "remediation": {
                "signal_code": "provisioning_completion",
                "code": "improve.provision.provisioning_completion",
                "instruction": "Expose bounded machine-readable terminal status and reconciliation semantics."
              }
            },
            {
              "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-08-20T15:56:58.069Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                },
                {
                  "node_kind": "resource",
                  "node_id": "message-operations"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:b5ef335e6ca4501b5cc6a291248879abc5bc4d13fa89f6b75d8172c10a65914d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7e2762cec81c100ffa752716135d0d55dd5f3fc63606e7c8a987d287c51a17b5",
                    "sha256:818b448dbac5543f3a70686600ccc783479d8e29d75add302693273cd9cde1b0"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 14557,
                      "end_byte": 15357,
                      "value_digest": "sha256:0d4aa79fc566963c22c33e0ae58213dce96ca007a4e992ff64b1f1d6b2d6a628"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:aee73407fb9dee4d0325327809fa9935996765afeb0f1930f570bd99b9a38c4b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:19adf53bf1ea7c9bfbcfd544358a9198084cd48e5a280be7ce8bf32bd0cb746a",
                    "sha256:1a08e35a7925021256bc95b7bbb8c704a479abb8ab10efa1cad1c6e9fb06df4a",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "message-operations"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b",
                      "start_byte": 30899,
                      "end_byte": 31697,
                      "value_digest": "sha256:f218b3d88b133dc6860ad959a9658785a8e51b9306ea0cf5d80c844adf4ca739"
                    }
                  ]
                }
              ],
              "note": "Provisioning of outgoing messages can be initiated directly by sending an HTTP POST request to the Account Messages list resource URI."
            }
          ],
          "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."
            },
            {
              "signal_code": "provisioning_completion",
              "code": "improve.provision.provisioning_completion",
              "instruction": "Expose bounded machine-readable terminal status and reconciliation semantics."
            }
          ]
        },
        {
          "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": "Twilio documents API error status codes (e.g., 400 Bad Request, 404 Not Found, 429 Too Many Requests, 500/503), error response structures (status, message, code, more_info), and delivery status callback tracking via MessageStatus and ErrorCode. Complete failure semantics such as explicit idempotency bounds or cancellation guarantees remain partially covered."
          },
          "secondary_context": [
            {
              "signal_code": "agent_protocol_interface",
              "condition": "Is an agent-native protocol interface verified against the essential targets?",
              "finding": "Current admissible evidence does not resolve this 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": "Twilio documents that API keys can be used to authenticate requests and can be revoked if compromised or no longer used to prevent unauthorized access. However, full automated credential lifecycle including programmatic rotation or recovery paths for main account secrets is not completely 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": "All essential assessment targets are accessible via stable, documented interfaces including REST HTTP APIs, Twilio SDKs across major programming languages, and the Twilio CLI."
            },
            {
              "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": "Twilio supports request-time authentication using API Key and API Key Secret (recommended) via HTTP Basic authentication, providing standard or restricted fine-grained access permissions across API endpoints."
            },
            {
              "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": "The API inputs, outputs, and effects are stably documented across the target resources, including request parameters, JSON/XML response schemas, status codes, HATEOAS URIs, status callback payloads, and CRUD message operations."
            }
          ],
          "signals": [
            {
              "signal_code": "agent_protocol_interface",
              "evaluation_role": "informational",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Is an agent-native protocol interface verified against the essential targets?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "missing",
              "freshness": "unknown",
              "tested_surfaces": [],
              "determination_bases": []
            },
            {
              "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-08-20T15:55:58.442Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:b5ef335e6ca4501b5cc6a291248879abc5bc4d13fa89f6b75d8172c10a65914d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7e2762cec81c100ffa752716135d0d55dd5f3fc63606e7c8a987d287c51a17b5",
                    "sha256:bf207fdd713cc9a399f0c5a3b34be53978a38e590ff4a8a9640b45ecd1aa3a10"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 11381,
                      "end_byte": 12178,
                      "value_digest": "sha256:9825c3a1e3f3647fc748016712807e26deff63ef5175893883a9087518b1949f"
                    },
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 12179,
                      "end_byte": 12975,
                      "value_digest": "sha256:315e1eaa60dce4986f009ed837dcf9a13a91963cdcbc3ea152b91effd8af6ea8"
                    }
                  ]
                }
              ],
              "note": "Twilio documents that API keys can be used to authenticate requests and can be revoked if compromised or no longer used to prevent unauthorized access. However, full automated credential lifecycle including programmatic rotation or recovery paths for main account secrets is not completely 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-08-20T15:56:48.949Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-errors"
                },
                {
                  "node_kind": "resource",
                  "node_id": "delivery-status"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:e6d5078591e2e0ffa12b18b6610b3c14073234dc470f47e7d8244d25e8c65801",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:6b4c3ce4d82817cc9e123c5283ba8a7a7a71265adbd727a10a6072ed39007234",
                    "sha256:7e02086aed9b7f6e201ec8b35710a8010c670a6b3251834091a46e91af2998f2",
                    "sha256:aca4d38cf4a595d65ff20169f82046345324fef13cf68f3adb986682c24a250a"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-errors"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:6b4c3ce4d82817cc9e123c5283ba8a7a7a71265adbd727a10a6072ed39007234",
                      "start_byte": 13469,
                      "end_byte": 14259,
                      "value_digest": "sha256:3410285c57f5f1d6081b982139de8a27fe430b5a8c2aa314987076506831a242"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:aebf6466c996e39af116abb2343bb09f211ff423f2e2423ed99893c8f36c82b4",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:99baee3768e5d9595bca1774b4243de1584d4bbd2345198b85895ae56dfdc400",
                    "sha256:add00b2bdb06076958abfd093f325351956ac5e9a24207f60cb8c9639195cb3b",
                    "sha256:d3be67ed04b909e23c2ca1d0ebcc646a495199932d52ba0729d82d93ed44cc3a"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "delivery-status"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:99baee3768e5d9595bca1774b4243de1584d4bbd2345198b85895ae56dfdc400",
                      "start_byte": 23076,
                      "end_byte": 23872,
                      "value_digest": "sha256:250c06b81ef666b3c826055a8c7f0349ba2e5309f697b06a15c87bce6fe1ebfb"
                    }
                  ]
                }
              ],
              "note": "Twilio documents API error status codes (e.g., 400 Bad Request, 404 Not Found, 429 Too Many Requests, 500/503), error response structures (status, message, code, more_info), and delivery status callback tracking via MessageStatus and ErrorCode. Complete failure semantics such as explicit idempotency bounds or cancellation guarantees remain partially covered.",
              "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-08-20T15:55:58.442Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authentication"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:b5ef335e6ca4501b5cc6a291248879abc5bc4d13fa89f6b75d8172c10a65914d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7d5bd3209e6389b32e73865258453ee50792cb047b7d4dd8f11c216c4093ff62",
                    "sha256:7e2762cec81c100ffa752716135d0d55dd5f3fc63606e7c8a987d287c51a17b5"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authentication"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 9784,
                      "end_byte": 10582,
                      "value_digest": "sha256:003865b3079fd309517ab2068c94249c58d0526882e35cb707e440a0f8aece17"
                    },
                    {
                      "artifact_digest": "sha256:2d1ea43258b75dd593fd11dd06fb8cf499f48841d8d286289187e2c04bcc3c8c",
                      "start_byte": 11381,
                      "end_byte": 12178,
                      "value_digest": "sha256:9825c3a1e3f3647fc748016712807e26deff63ef5175893883a9087518b1949f"
                    }
                  ]
                }
              ],
              "note": "Twilio supports request-time authentication using API Key and API Key Secret (recommended) via HTTP Basic authentication, providing standard or restricted fine-grained access permissions across API endpoints."
            },
            {
              "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-08-20T15:56:58.069Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "messaging-api"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:687d73713f91e857e4de18dbec8f0a58c987350b8a38c134c720937873f2b07d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:24c0bd622b727a4f241c9b668fb147fb43c4184eb4ae4de871f86f2f05520949",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:906f42acbecc08c1a28d17af29cb2a88de513768efcb6b3e50fc7927da81154f",
                    "sha256:ceb4a7cc589ab12743a688279df586846d8abcf7ab3e7a16a81378f36d050d75"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:ceb4a7cc589ab12743a688279df586846d8abcf7ab3e7a16a81378f36d050d75",
                      "start_byte": 9462,
                      "end_byte": 10257,
                      "value_digest": "sha256:86e51185153e2352cde45907ad9a82e3ceb2070304b167d6945d2f944f5f6988"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:aebf6466c996e39af116abb2343bb09f211ff423f2e2423ed99893c8f36c82b4",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:99baee3768e5d9595bca1774b4243de1584d4bbd2345198b85895ae56dfdc400",
                    "sha256:add00b2bdb06076958abfd093f325351956ac5e9a24207f60cb8c9639195cb3b",
                    "sha256:d3be67ed04b909e23c2ca1d0ebcc646a495199932d52ba0729d82d93ed44cc3a"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "delivery-status"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:99baee3768e5d9595bca1774b4243de1584d4bbd2345198b85895ae56dfdc400",
                      "start_byte": 23076,
                      "end_byte": 23872,
                      "value_digest": "sha256:250c06b81ef666b3c826055a8c7f0349ba2e5309f697b06a15c87bce6fe1ebfb"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:aee73407fb9dee4d0325327809fa9935996765afeb0f1930f570bd99b9a38c4b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:19adf53bf1ea7c9bfbcfd544358a9198084cd48e5a280be7ce8bf32bd0cb746a",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:8a26571b358108aad60b2ae7013909fc6b1cb83eac9a287c1bd05999958b7793",
                    "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "message-operations"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b",
                      "start_byte": 75082,
                      "end_byte": 75871,
                      "value_digest": "sha256:5a5575bd58f48afc525bb9869ce1d54db3c691e79ca096941b72fec7d9affa48"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:e6d5078591e2e0ffa12b18b6610b3c14073234dc470f47e7d8244d25e8c65801",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:6b4c3ce4d82817cc9e123c5283ba8a7a7a71265adbd727a10a6072ed39007234",
                    "sha256:aca4d38cf4a595d65ff20169f82046345324fef13cf68f3adb986682c24a250a",
                    "sha256:ba9e03c39600e49bacb26315cba4426fa4a3ef55540b3100e12f9e168e1e8a8c"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-errors"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:6b4c3ce4d82817cc9e123c5283ba8a7a7a71265adbd727a10a6072ed39007234",
                      "start_byte": 8724,
                      "end_byte": 9522,
                      "value_digest": "sha256:cb93c83735beaef472a069c037e2b995e7013a8dbf3a40edc1884f643d7e3eb9"
                    }
                  ]
                }
              ],
              "note": "The API inputs, outputs, and effects are stably documented across the target resources, including request parameters, JSON/XML response schemas, status codes, HATEOAS URIs, status callback payloads, and CRUD message operations."
            },
            {
              "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-08-20T15:56:58.069Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "messaging-api"
                }
              ],
              "assessment_method": {
                "name": "public-http-semantic-assessment",
                "version": "2026-08-20",
                "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:687d73713f91e857e4de18dbec8f0a58c987350b8a38c134c720937873f2b07d",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:24c0bd622b727a4f241c9b668fb147fb43c4184eb4ae4de871f86f2f05520949",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:906f42acbecc08c1a28d17af29cb2a88de513768efcb6b3e50fc7927da81154f",
                    "sha256:ceb4a7cc589ab12743a688279df586846d8abcf7ab3e7a16a81378f36d050d75"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:ceb4a7cc589ab12743a688279df586846d8abcf7ab3e7a16a81378f36d050d75",
                      "start_byte": 9462,
                      "end_byte": 10257,
                      "value_digest": "sha256:86e51185153e2352cde45907ad9a82e3ceb2070304b167d6945d2f944f5f6988"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:aee73407fb9dee4d0325327809fa9935996765afeb0f1930f570bd99b9a38c4b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:19adf53bf1ea7c9bfbcfd544358a9198084cd48e5a280be7ce8bf32bd0cb746a",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:cc5111bb3e939280d662943d598b9f62897a90f934663115f1053c16b11b4e91",
                    "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "message-operations"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:fbb805ff844cc12c790d8b9c1ab13d2d736d0aa9c3ca724f1afb0552f17ea18b",
                      "start_byte": 78119,
                      "end_byte": 78918,
                      "value_digest": "sha256:7d067883dcde79a82d323c059626ac3458b4da7b684de8b6f493344f8f2abcb9"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:aebf6466c996e39af116abb2343bb09f211ff423f2e2423ed99893c8f36c82b4",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:99baee3768e5d9595bca1774b4243de1584d4bbd2345198b85895ae56dfdc400",
                    "sha256:b8808753212c5d440376c09614305d17990a71075a850e7f244d89ae700e5d03",
                    "sha256:d3be67ed04b909e23c2ca1d0ebcc646a495199932d52ba0729d82d93ed44cc3a"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "delivery-status"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:99baee3768e5d9595bca1774b4243de1584d4bbd2345198b85895ae56dfdc400",
                      "start_byte": 21475,
                      "end_byte": 22274,
                      "value_digest": "sha256:c3dc5ab9b19f6d65c9d3f5c4c124b90af0e00e2280b422b5b99c64e086629848"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:e6d5078591e2e0ffa12b18b6610b3c14073234dc470f47e7d8244d25e8c65801",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:6b4c3ce4d82817cc9e123c5283ba8a7a7a71265adbd727a10a6072ed39007234",
                    "sha256:6b8395220a6d8aa0b6e80c02ba2c44cf23fbaf100491e099e86e08439737654c",
                    "sha256:aca4d38cf4a595d65ff20169f82046345324fef13cf68f3adb986682c24a250a"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-errors"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:6b4c3ce4d82817cc9e123c5283ba8a7a7a71265adbd727a10a6072ed39007234",
                      "start_byte": 9523,
                      "end_byte": 10319,
                      "value_digest": "sha256:15402f376b44e2a7c8a93c917c53185ba45d851dcc1a2bf0433d92beac359cfe"
                    }
                  ]
                }
              ],
              "note": "All essential assessment targets are accessible via stable, documented interfaces including REST HTTP APIs, Twilio SDKs across major programming languages, and the Twilio CLI."
            }
          ],
          "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": 16,
        "covered_signals": 16,
        "ratio": 1,
        "barrier_signals": 5,
        "verified_barrier_signals": 0,
        "barrier_ratio": 0
      },
      "last_tested_at": "2026-08-20T15:56:58.069Z",
      "freshness": "fresh",
      "provenance": {
        "tier": "observed",
        "freshness": "fresh",
        "dispute": "none",
        "coverage_policy_digest": "sha256:57bf95fd6d0fe6fe9173a68b60e8d8dc2179b357c88ff4349675a72d0e1d4139",
        "freshness_policy_digest": "sha256:00f7f2a35f37b184e57ce2cc116f6a5e3feb4813991aacd7e29e322f2d3607a8",
        "basis_event_ids": [
          "sha256:11179e9ce53034725e69442a7bfd9a65638d6efca28bbe9ea59b4ac7a23a30e8",
          "sha256:1af1ed4c615476eeb195fc0e5bf0164ea2cf5f3a7870f71bf813c0da36481e86",
          "sha256:1af2228d27e6a964fee5d0dfa9ca4397bc57396cc4c23b92e5062c27f7aa9d04",
          "sha256:1fb94816af1b6d3f4462a219fc2efee1eb2bfde0acf22e82f899ac705e45419e",
          "sha256:2870619260558e29969e85077d8674800f9bb36136e35ecd8a5c2d0d27963bc6",
          "sha256:2a88169ed3fc2de73085bc3c33d42931c47e8ee54798dbdd6638534d22d415d4",
          "sha256:2a94641592b4b1dd7372f7290ea2139c73d7eaa1cad7b7d72d1f12bcf120b4a6",
          "sha256:3672aab4795943e4aed4e1e1b4c03a2131c0ccd0862045aee1d307d3c81efb6f",
          "sha256:37f2753799d3737eb5f080b80b1d45844d19bc20b2af37d84b95267053439918",
          "sha256:3a79827f7e2b3547a62b327b92a48479880c11ba3d28e4dc09e60876a7ece8ee",
          "sha256:44346daa303a2b36e6858ec0c53110b082992b5853fb7839ab65b4e0dcbcba3a",
          "sha256:4a2d3269565a01e00426c913bf49893928616c9459d4052c31140ec176fc71cb",
          "sha256:55e68cfd9e91d06ed748c93916364294e69f5f2bb18859b3fc3570dd2d9b974e",
          "sha256:5ba9101c91c068e9470f3b5a46cf061057c95c810abfd1575159ad8fec1e2cda",
          "sha256:635bfa2576a384c066abba589670c81d4e77997e2dd0297a9979e878f822bef8",
          "sha256:6b307bb074143b4a0810fb03afd2a60e0f839c10b9a02de3c919b45be202f582",
          "sha256:6f7b0aa69b287ab642c31edb962efc8465b938de34676937ed43f81f895258da",
          "sha256:6fdad83c4a85585adcb3e4c61459c9ed0b7bd340992f414e49352a7ba5a1afb5",
          "sha256:74a2d330c28cf7bc5dfe6ee2b88b5d4f915a38a9ca25b151dfc430a65408ebc6",
          "sha256:7d79e40760db3418e7a0facdc520d977157dc6d87b1d53391dddf39ae440d81e",
          "sha256:7f65f590e6acd68d8831cff8dab4caed775bfe311984dd03390bc5d611596269",
          "sha256:82f87ca6a7998b1a18af71b0c5c16fc8b28e7173cab1f7de0d09e83851a19693",
          "sha256:9b75dd0f445b90077b374a695005828e04842c63aef67e025f71c98fab04efc0",
          "sha256:a51a276b1c821e66572198b378e9242049d4767240298dd2dfaf23e20ce8fd01",
          "sha256:b208544ecfbe1924d2046381f2fcf1fb2a73f6b72633491cdcedfea7ec667d7d",
          "sha256:b7ab0d166a3a6fda691622accc7c08254844d0ddf0e507ddea114f5969d0e37f",
          "sha256:d296218c50834e791e955ee52bf0e7a0fa08d70a4a7dfcbbc9ab7d7eb12c7513",
          "sha256:d8a06a7515f4378709faae85631f5d37b0ae00307caf89d77a13b7ff74b19fc7",
          "sha256:d9e696a9d83c89cd5354c38e7af2dc19bb4f54d87105d05b8391181ba8857704",
          "sha256:e3a5680c0a92df6b09e27b1b7058de2ae454b4fcedc9f5ffb0d1ddef900a12a8",
          "sha256:ebf7cfcd19e0faed117d0f24a4a1772e2a8bb2b3dbd94c2bf279dccb80e1b6e7",
          "sha256:fcc89c2b224856e71a35f0675647e3d76ededd45391320b4e73ec82b9d0a2c6a"
        ],
        "fields": [
          {
            "path": "/signals/0",
            "supporting_event_ids": [
              "sha256:7d79e40760db3418e7a0facdc520d977157dc6d87b1d53391dddf39ae440d81e"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:04.824Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/1",
            "supporting_event_ids": [
              "sha256:55e68cfd9e91d06ed748c93916364294e69f5f2bb18859b3fc3570dd2d9b974e",
              "sha256:b208544ecfbe1924d2046381f2fcf1fb2a73f6b72633491cdcedfea7ec667d7d"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:29.598Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/2",
            "supporting_event_ids": [
              "sha256:ebf7cfcd19e0faed117d0f24a4a1772e2a8bb2b3dbd94c2bf279dccb80e1b6e7"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:55:57.856Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/3",
            "supporting_event_ids": [
              "sha256:7f65f590e6acd68d8831cff8dab4caed775bfe311984dd03390bc5d611596269"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:04.824Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/4",
            "supporting_event_ids": [
              "sha256:82f87ca6a7998b1a18af71b0c5c16fc8b28e7173cab1f7de0d09e83851a19693"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:13.615Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/5",
            "supporting_event_ids": [
              "sha256:44346daa303a2b36e6858ec0c53110b082992b5853fb7839ab65b4e0dcbcba3a"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:13.615Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/6",
            "supporting_event_ids": [
              "sha256:2870619260558e29969e85077d8674800f9bb36136e35ecd8a5c2d0d27963bc6",
              "sha256:37f2753799d3737eb5f080b80b1d45844d19bc20b2af37d84b95267053439918"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:13.615Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/7",
            "supporting_event_ids": [
              "sha256:3672aab4795943e4aed4e1e1b4c03a2131c0ccd0862045aee1d307d3c81efb6f"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:55:58.442Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/8",
            "supporting_event_ids": [
              "sha256:6f7b0aa69b287ab642c31edb962efc8465b938de34676937ed43f81f895258da"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:13.615Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/9",
            "supporting_event_ids": [
              "sha256:6b307bb074143b4a0810fb03afd2a60e0f839c10b9a02de3c919b45be202f582"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:13.615Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/10",
            "supporting_event_ids": [
              "sha256:9b75dd0f445b90077b374a695005828e04842c63aef67e025f71c98fab04efc0",
              "sha256:d9e696a9d83c89cd5354c38e7af2dc19bb4f54d87105d05b8391181ba8857704"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:29.598Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/11",
            "supporting_event_ids": [
              "sha256:635bfa2576a384c066abba589670c81d4e77997e2dd0297a9979e878f822bef8"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:13.615Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/12",
            "supporting_event_ids": [
              "sha256:e3a5680c0a92df6b09e27b1b7058de2ae454b4fcedc9f5ffb0d1ddef900a12a8"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:13.615Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/13",
            "supporting_event_ids": [
              "sha256:b7ab0d166a3a6fda691622accc7c08254844d0ddf0e507ddea114f5969d0e37f"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:55:58.442Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/14",
            "supporting_event_ids": [
              "sha256:1fb94816af1b6d3f4462a219fc2efee1eb2bfde0acf22e82f899ac705e45419e"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:58.069Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/15",
            "supporting_event_ids": [
              "sha256:11179e9ce53034725e69442a7bfd9a65638d6efca28bbe9ea59b4ac7a23a30e8",
              "sha256:1af2228d27e6a964fee5d0dfa9ca4397bc57396cc4c23b92e5062c27f7aa9d04"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:58.069Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/16",
            "supporting_event_ids": [
              "sha256:6fdad83c4a85585adcb3e4c61459c9ed0b7bd340992f414e49352a7ba5a1afb5"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:55:58.442Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/17",
            "supporting_event_ids": [
              "sha256:2a88169ed3fc2de73085bc3c33d42931c47e8ee54798dbdd6638534d22d415d4",
              "sha256:d8a06a7515f4378709faae85631f5d37b0ae00307caf89d77a13b7ff74b19fc7"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:48.949Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/18",
            "supporting_event_ids": [
              "sha256:fcc89c2b224856e71a35f0675647e3d76ededd45391320b4e73ec82b9d0a2c6a"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:55:58.442Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/19",
            "supporting_event_ids": [
              "sha256:2a94641592b4b1dd7372f7290ea2139c73d7eaa1cad7b7d72d1f12bcf120b4a6",
              "sha256:3a79827f7e2b3547a62b327b92a48479880c11ba3d28e4dc09e60876a7ece8ee",
              "sha256:4a2d3269565a01e00426c913bf49893928616c9459d4052c31140ec176fc71cb",
              "sha256:5ba9101c91c068e9470f3b5a46cf061057c95c810abfd1575159ad8fec1e2cda"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:58.069Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/20",
            "supporting_event_ids": [
              "sha256:1af1ed4c615476eeb195fc0e5bf0164ea2cf5f3a7870f71bf813c0da36481e86",
              "sha256:74a2d330c28cf7bc5dfe6ee2b88b5d4f915a38a9ca25b151dfc430a65408ebc6",
              "sha256:a51a276b1c821e66572198b378e9242049d4767240298dd2dfaf23e20ce8fd01",
              "sha256:d296218c50834e791e955ee52bf0e7a0fa08d70a4a7dfcbbc9ab7d7eb12c7513"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-08-20T15:56:58.069Z",
            "freshness": "fresh"
          }
        ]
      },
      "canonical_url": "https://sourcey.com/catalog/twilio/agent-readiness/twilio-messaging-api/message-operations",
      "projection_digest": "sha256:c3941dc76f86f1b5e5539a8ccb95cfdad0f8b8303b985d77d1653b8c95ad1248"
    }
  }
}
