{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:5f55a0147eca9a82d821b7cfb73339dd8059c146b9acbb6ed66c9e3d40a8e1b0",
  "snapshot_id": "sha256:fbf4583b80f8936d9b7b75906adc86f38f5612cd0a7329839daea7b71ad2b9ce",
  "artifact_sha256": "sha256:ec393385ec4e7be15a393d925f0df78d54a12787f2995a84fad1b570583dac06",
  "data": {
    "entity_id": "ent_01kyyts97tbppvx69rh3v86sk2",
    "entity_slug": "notion",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01kzf0m4xd8y5ms1v7q3kc9pg2",
      "entity_id": "ent_01kyyts97tbppvx69rh3v86sk2",
      "scope": {
        "product": {
          "key": "notion-api",
          "name": "Notion API"
        },
        "funnel": {
          "key": "api-integration-lifecycle",
          "name": "API integration lifecycle"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:8986cb1640fd748dd005e5c94c7b02d3f44a3d39ff6b72573091bd81af84c61e",
        "entity_revision_digest": "sha256:eb0c95f6e6273285b62264303aaa53d335f0b2f04319723cab78c8c4299b1e91"
      },
      "declaration_revision_digest": "sha256:0b0b1427363816a70b6ee3af37b30d24465c95989bbdc7b37357e2a52c4a95d1",
      "declaration": {
        "declaration_id": "declaration_notion_api_integration_lifecycle",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "ca383f7867c18d91567fcb8326be55f7411d9554",
          "path": "entities/no/notion.yaml",
          "git_blob_oid": "bca2cdf7e3008a5557773990c7ba46f80b5d2cd8",
          "blob_digest": "sha256:74d9980000d954fde57f36d5bd6f90282ac14707e102c8e05d8d356f35132f6e"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "assessment_targets": [
          {
            "target_id": "service-use",
            "name": "Create and manage workspace pages through the Notion API",
            "interface_ids": [
              "content-api"
            ]
          }
        ],
        "participants": [
          {
            "participant_id": "notion",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyyts97tbppvx69rh3v86sk2"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "api-overview",
            "uri": "https://developers.notion.com/guides/get-started/overview",
            "roles": [
              "discovery",
              "documentation",
              "eligibility",
              "operations"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "authorization",
            "uri": "https://developers.notion.com/guides/get-started/authorization",
            "roles": [
              "authentication",
              "descriptor",
              "documentation",
              "provisioning"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "create-page",
            "uri": "https://developers.notion.com/reference/post-page.md",
            "roles": [
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://www.notion.com/pricing",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "quickstart",
            "uri": "https://developers.notion.com/guides/get-started/quick-start",
            "roles": [
              "documentation",
              "operations",
              "provisioning",
              "status"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "request-limits",
            "uri": "https://developers.notion.com/reference/request-limits",
            "roles": [
              "documentation",
              "operations",
              "status"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://www.notion.com/help/upgrade-or-downgrade-your-plan",
            "roles": [
              "checkout",
              "documentation",
              "terms"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "status-codes",
            "uri": "https://developers.notion.com/reference/status-codes",
            "roles": [
              "documentation",
              "operations",
              "recovery",
              "status"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "support",
            "uri": "https://www.notion.com/help/category/connections/all",
            "roles": [
              "documentation",
              "recovery"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "resource_id": "workspace-signup",
            "uri": "https://app.notion.com/signup",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "notion-api",
            "uri": "https://api.notion.com/v1",
            "transport": "http",
            "roles": [
              "service",
              "status"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "endpoint_id": "oauth-token",
            "uri": "https://api.notion.com/v1/oauth/token",
            "transport": "http",
            "roles": [
              "authorization",
              "token"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": [
              {
                "namespace": "oauth",
                "version": "2.0",
                "relation": "implements"
              }
            ]
          },
          {
            "endpoint_id": "registration",
            "uri": "https://app.notion.com/signup",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "content-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "notion-api"
            ],
            "resource_ids": [
              "api-overview",
              "create-page",
              "quickstart",
              "request-limits",
              "status-codes"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": []
          },
          {
            "interface_id": "integration-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [
              "oauth-token"
            ],
            "resource_ids": [
              "authorization"
            ],
            "operated_by_participant_id": "notion",
            "standard_bindings": [
              {
                "namespace": "oauth",
                "version": "2.0",
                "relation": "uses"
              }
            ]
          }
        ],
        "relations": [
          {
            "relation_id": "authentication-authenticates-api",
            "kind": "authenticates",
            "from": {
              "node_kind": "interface",
              "node_id": "integration-authentication"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "content-api"
            }
          },
          {
            "relation_id": "overview-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-overview"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "content-api"
            }
          },
          {
            "relation_id": "signup-precedes-authentication",
            "kind": "precedes",
            "from": {
              "node_kind": "resource",
              "node_id": "workspace-signup"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "integration-authentication"
            }
          },
          {
            "relation_id": "status-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "status-codes"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "content-api"
            }
          }
        ],
        "surface_exclusions": []
      },
      "lifecycle": "active",
      "effective_from": "2026-09-06T08:47:58Z",
      "revision_digest": "sha256:04484fe935e39cefb25c8704bb8d95e0e3f5fd1ac78e5b0880bfbce7382f0701",
      "policy_digest": "sha256:fc9e8f046d86fcf19ab2f1bc547219e503cdc11ffa135d020db7285965cd7d1d",
      "policy_version": "service-use-2026-09-07-blocking-barriers-r12",
      "policy_as_of": "2026-09-07T00:00:00Z",
      "assessment_basis": {
        "principal": "authorized_human_or_organization",
        "initial_state": {
          "product_specific_account": false,
          "product_credentials": false,
          "paid_subscription": false,
          "provisioned_resource": false,
          "external_identity": "only_when_declared_by_exact_funnel"
        },
        "permitted_human_boundaries": [
          "account_ownership_confirmation",
          "delegated_identity_consent",
          "regulated_approval",
          "final_payment_or_irreversible_commitment"
        ],
        "required_handoff_properties": [
          "exact_disclosure",
          "resumable_handoff",
          "deterministic_continuation"
        ],
        "forbidden_substitutions": [
          "captcha_solving",
          "human_password_or_session_sharing",
          "concealed_agent_identity",
          "invented_eligibility",
          "unbound_out_of_band_code",
          "vendor_policy_bypass",
          "unapproved_consequential_action"
        ],
        "success": {
          "target_coverage": "every_declared_target",
          "interface_coverage": "at_least_one_declared_alternative",
          "authority": "scoped",
          "failure_semantics": "documented",
          "recovery": "supported"
        },
        "observed_assessment": {
          "allowed_sources": [
            "public_documentation",
            "public_metadata",
            "public_endpoints",
            "non_mutating_interaction",
            "operator_attested_public_observation"
          ],
          "consequential_claims": "certification_required"
        }
      },
      "overall_outcome": "constrained",
      "public_state": "limited",
      "state_label": "Limited",
      "grade": "B+",
      "grade_derivation": {
        "label": "Five-stage Agent Readiness report card",
        "explanation": "A through C grades count Limited stages; D and F reflect Blocked stages by lifecycle severity.",
        "coverage_rule": "Coverage is complete only when every graded signal has supported, fresh, non-conflicting evidence. Barrier and informational signals do not change coverage; only fresh, supported barrier values that passed their admission evidence rule participate in stage outcomes.",
        "outcome_rule": "Each stage takes its worst graded signal or verified barrier. A fresh, supported mandatory barrier that passed its admission evidence rule can block that stage; incomplete or stale barrier evidence remains context only. The overall grade is derived from the five stage states."
      },
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "primary_finding": {
        "stage": "provision",
        "stage_label": "Provision",
        "public_state": "limited",
        "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": "Notion documents exchanging an authorization code for an access token via an HTTP POST request to Notion's token endpoint. Retrieval of CLIENT_ID and CLIENT_SECRET requires accessing the Developer portal."
        }
      },
      "limitations": [
        {
          "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": "Notion documents exchanging an authorization code for an access token via an HTTP POST request to Notion's token endpoint. Retrieval of CLIENT_ID and CLIENT_SECRET requires accessing the Developer portal."
          },
          "remediation": {
            "signal_code": "access_material_delivery",
            "code": "improve.provision.access_material_delivery",
            "instruction": "Deliver scoped access material through a secure documented machine-usable flow."
          }
        },
        {
          "stage": "operate",
          "stage_label": "Operate",
          "finding": {
            "signal_code": "failure_contract",
            "condition": "Can an agent handle applicable failure modes safely?",
            "finding": "Safe failure handling is documented only partially.",
            "context": "Notion documents status codes including 429, 409 conflicts and 529 overload with Retry-After guidance; the selected quotes do not establish idempotency or reconciliation semantics for page creation."
          },
          "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": "The documentation explicitly describes refreshing an access token via POST /v1/oauth/token to receive a new access token and refresh token, but leaves administrative key revocation and compromise recovery procedures for all credential types partially documented."
          },
          "remediation": {
            "signal_code": "credential_lifecycle",
            "code": "improve.operate.credential_lifecycle",
            "instruction": "Provide scoped expiry, rotation, revocation, compromise, and recovery operations."
          }
        }
      ],
      "stages": [
        {
          "stage": "evaluate",
          "stage_label": "Evaluate",
          "outcome": "pass",
          "public_state": "ready",
          "state_label": "Ready",
          "primary_finding": {
            "signal_code": "service_discovery",
            "condition": "Can an agent find the exact service and its stable entrypoints?",
            "finding": "The exact service and stable evaluation or access entrypoints are publicly discoverable.",
            "context": "The REST API service and its entrypoints are explicitly discoverable via Notion Docs, providing stable integration paths to read, create, and update workspace content."
          },
          "secondary_context": [
            {
              "signal_code": "eligibility_decidability",
              "condition": "Can an agent decide every material eligibility condition before commitment?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The retained evidence from the Notion Docs overview describes connection types, scopes, and capabilities, but does not explicitly declare pre-commitment material eligibility conditions or restricted inputs such as age, location, or authority."
            },
            {
              "signal_code": "verified_web_agent_access",
              "condition": "Does the vendor deliberately describe access for web agents?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The retained evidence references fetching /llms.txt for documentation indexing, but does not explicitly declare a web agent access policy or web crawler rules such as robots.txt directives."
            },
            {
              "signal_code": "terms_access",
              "condition": "Can an agent retrieve and understand the applicable commitment terms?",
              "finding": "Terms are readable but materially incomplete, ambiguous, contextual, or unstable.",
              "context": "Applicable commitment terms are readable and retrievable via links to the Master Subscription Agreement and Personal Use Terms of Service, but the agreement bodies themselves are not included in the captured evidence."
            },
            {
              "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": "Notion's pricing page states its prices in US dollars with monthly or yearly payment and a Free plan at $0 per member per month; API integrations are included in the workspace plan, so the price of using the service is decidable before commitment."
            },
            {
              "signal_code": "structured_evaluation_discovery",
              "condition": "Are verified structured discovery artifacts available?",
              "finding": "Verified structured artifacts accelerate discovery of the evaluation surface.",
              "context": "Structured evaluation discovery is available via a verified machine-readable documentation index located at /llms.txt."
            }
          ],
          "signals": [
            {
              "signal_code": "eligibility_decidability",
              "evaluation_role": "informational",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can an agent decide every material eligibility condition before commitment?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.640Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained evidence from the Notion Docs overview describes connection types, scopes, and capabilities, but does not explicitly declare pre-commitment material eligibility conditions or restricted inputs such as age, location, or authority."
            },
            {
              "signal_code": "pricing_decidability",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent estimate cost or confirm no-charge status before commitment?",
              "finding": "Price or no-charge status, variables, currency, and material conditions are explicit.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:38.398Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "pricing"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:d13182c48a93611c49b58712e803790e4830c72a05349fbf5d8289515eea33ad",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:9252667eb5d3f23c5a0d2246a3ca4e9b46b2b0b5ad771525057a31cdcd7493e0",
                    "sha256:973fa57ccc4efdf339beba127c00f4845d537cf5235c050f155e883b33e5bfa2",
                    "sha256:f0462bcf81130409db9ac7470fb9a1b4fae50b75b570a59de3506cb0ba5ca7bb"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "pricing"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:9252667eb5d3f23c5a0d2246a3ca4e9b46b2b0b5ad771525057a31cdcd7493e0",
                      "start_byte": 5263,
                      "end_byte": 5336,
                      "value_digest": "sha256:30662ac5f8c012466a77c3d664f74e7d00a510166fc286bcf31d12d15d9dc484"
                    }
                  ]
                }
              ],
              "note": "Notion's pricing page states its prices in US dollars with monthly or yearly payment and a Free plan at $0 per member per month; API integrations are included in the workspace plan, so the price of using the service is decidable before commitment."
            },
            {
              "signal_code": "service_discovery",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent find the exact service and its stable entrypoints?",
              "finding": "The exact service and stable evaluation or access entrypoints are publicly discoverable.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.640Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:87ce67e507512e238021b4b3fbf968bfef3ad213212e7f65de9a5f991b6cef3e",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:34db814058bfccf5be3854e5aac3756a2722c8dfd6db291016d2183103616ecc",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:a77452a609ef996da9791a3d52234ba8322e46291620450701218684ad8b15bb",
                    "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd",
                      "start_byte": 6080,
                      "end_byte": 6879,
                      "value_digest": "sha256:8969d001e3816d2e84858d8a35f836546d4447002dd83a4f7e036b62146f6de9"
                    }
                  ]
                }
              ],
              "note": "The REST API service and its entrypoints are explicitly discoverable via Notion Docs, providing stable integration paths to read, create, and update workspace content."
            },
            {
              "signal_code": "structured_evaluation_discovery",
              "evaluation_role": "informational",
              "required": false,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Are verified structured discovery artifacts available?",
              "finding": "Verified structured artifacts accelerate discovery of the evaluation surface.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.640Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                },
                {
                  "node_kind": "resource",
                  "node_id": "authorization"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:87ce67e507512e238021b4b3fbf968bfef3ad213212e7f65de9a5f991b6cef3e",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:34db814058bfccf5be3854e5aac3756a2722c8dfd6db291016d2183103616ecc",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:bc725fc86ee75e4b3c392a5f10b5b305683bcf058f4f0374621618c492efc431",
                    "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd",
                      "start_byte": 5282,
                      "end_byte": 6079,
                      "value_digest": "sha256:7e899474681bf12ad53fb131621be976404d8a76c9ce8803a302d00a68250a85"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:308adae64e93f43a7ef686bb16bd55938119e1531a0a9c57cabf25a151831419",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:84b500d12a06304f2248deaba5752e913d9e4110512fc3c4c82702d4b4d66360",
                    "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                    "sha256:dea9e49923bc2ffb2e9bcc2263a1b0fed82531654d230d0a03ad54d1ab0e3560"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authorization"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                      "start_byte": 6597,
                      "end_byte": 7399,
                      "value_digest": "sha256:31f09d6c7087fe9f9816478b6d3f4a6d1f3b3209ea75943e79f7cc7ac17fc397"
                    }
                  ]
                }
              ],
              "note": "Structured evaluation discovery is available via a verified machine-readable documentation index located at /llms.txt."
            },
            {
              "signal_code": "terms_access",
              "evaluation_role": "informational",
              "required": false,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent retrieve and understand the applicable commitment terms?",
              "finding": "Terms are readable but materially incomplete, ambiguous, contextual, or unstable.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:58.285Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:c5aba5fe90ab2453f916b29ea6a91bf32bae67feb6f87011e537cdccddf0e747",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:049d26e7551a44faba6f45f4cf9e2a48bde478e617c53f52fd04895120561379",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:d57c3d0cccad19c90f3d639cdec1171dc4f2357d993e7bb7f62b6fcf6cef043e",
                    "sha256:e2a75a0d1b5b281ec4a81ee4b8a3607b75d8e1ebae87696d42a52bb975618c45"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "service-terms"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:d57c3d0cccad19c90f3d639cdec1171dc4f2357d993e7bb7f62b6fcf6cef043e",
                      "start_byte": 11013,
                      "end_byte": 11808,
                      "value_digest": "sha256:ace457b2ca5ac86201a1c5c6cdec684552c43babc7cf7a22d6813f006660820a"
                    }
                  ]
                }
              ],
              "note": "Applicable commitment terms are readable and retrievable via links to the Master Subscription Agreement and Personal Use Terms of Service, but the agreement bodies themselves are not included in the captured evidence."
            },
            {
              "signal_code": "verified_web_agent_access",
              "evaluation_role": "informational",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Does the vendor deliberately describe access for web agents?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.640Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "api-overview"
                },
                {
                  "node_kind": "resource",
                  "node_id": "authorization"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained evidence references fetching /llms.txt for documentation indexing, but does not explicitly declare a web agent access policy or web crawler rules such as robots.txt directives."
            }
          ],
          "blockers": [],
          "remediations": []
        },
        {
          "stage": "sign_up",
          "stage_label": "Sign up",
          "outcome": "pass",
          "public_state": "ready",
          "state_label": "Ready",
          "primary_finding": {
            "signal_code": "access_entrypoint_stability",
            "condition": "Is there a stable route to begin obtaining service access?",
            "finding": "A stable canonical route begins the required access bootstrap.",
            "context": "A stable canonical access URL for signup (https://app.notion.com/signup) is established by direct observation."
          },
          "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 page capture for signup contains only application shell metadata and lacks readable form controls, validation elements, or handoff controls to assess access control operability."
            },
            {
              "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 captures for the signup endpoint and resource contain only application shell metadata, leaving the presence or absence of a mandatory CAPTCHA unresolved."
            },
            {
              "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 retained signup capture contains metadata and does not explicitly declare whether phone verification is required, absent, or resumable."
            },
            {
              "signal_code": "delegated_identity_access",
              "condition": "Can an agent obtain scoped, revocable authority for this service?",
              "finding": "Scoped revocable credentials or delegated authorization have explicit consent and resumption boundaries.",
              "context": "Notion documentation explicitly specifies authorization flows for personal access tokens, internal connections, and public connections using OAuth 2.0 with access and refresh tokens."
            }
          ],
          "signals": [
            {
              "signal_code": "access_control_operability",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can an agent operate the access controls and safe handoffs deterministically?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:29.135Z",
              "tested_surfaces": [
                {
                  "node_kind": "endpoint",
                  "node_id": "registration"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained page capture for signup contains only application shell metadata and lacks readable form controls, validation elements, or handoff controls to assess access control operability."
            },
            {
              "signal_code": "access_entrypoint_stability",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Is there a stable route to begin obtaining service access?",
              "finding": "A stable canonical route begins the required access bootstrap.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:29.135Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "workspace-signup"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "direct_observation",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:bc9b3ad5ad747f44748e2ffe3573414b5cf30858ef236201d0b9709da6a5d5e7",
                      "capture_rung": "headless"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:48444cdee186ee102b8502f2343234049607c2b70ede52c5cd1b2e6076404ebf",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:8ccf96d988b229848487f229a1066af410d4b04a3281cba6f9fd782930b704a9",
                    "sha256:9196b08f7c6de17cb225ebed496759fd9659f4b8d4ac0065fc9180f652b42785",
                    "sha256:c5a39ebf2d18e559a5476e8618d8b2d1e3da9ee9e00cc09225bb01fd502202cd",
                    "sha256:d134c16ede5c2c2499a94aa8fd9d63419599e3303bba4ec8b358575e2bad3606"
                  ],
                  "locators": [
                    {
                      "artifact_digest": "sha256:d134c16ede5c2c2499a94aa8fd9d63419599e3303bba4ec8b358575e2bad3606",
                      "start_byte": 0,
                      "end_byte": 797,
                      "value_digest": "sha256:18030fa24e6b952813a2163d032588c62450619f671b55a6fd034a70a2f8a4d0"
                    }
                  ]
                }
              ],
              "note": "A stable canonical access URL for signup (https://app.notion.com/signup) is established by direct observation."
            },
            {
              "signal_code": "captcha_compatible_access",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can an agent obtain access without an unsupported CAPTCHA boundary?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:29.135Z",
              "tested_surfaces": [
                {
                  "node_kind": "endpoint",
                  "node_id": "registration"
                },
                {
                  "node_kind": "resource",
                  "node_id": "workspace-signup"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained captures for the signup endpoint and resource contain only application shell metadata, leaving the presence or absence of a mandatory CAPTCHA unresolved."
            },
            {
              "signal_code": "delegated_identity_access",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent obtain scoped, revocable authority for this service?",
              "finding": "Scoped revocable credentials or delegated authorization have explicit consent and resumption boundaries.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:00.593Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authorization"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:308adae64e93f43a7ef686bb16bd55938119e1531a0a9c57cabf25a151831419",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:84b500d12a06304f2248deaba5752e913d9e4110512fc3c4c82702d4b4d66360",
                    "sha256:c8a1c90bd98314c9bbecc88fccf02017eb06c73c2898b333d285f122ff88d0d7",
                    "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authorization"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                      "start_byte": 8201,
                      "end_byte": 8998,
                      "value_digest": "sha256:191ba207a30fd8aa9614f1fe8c1849b0bd5a249df50e70eb2e2399aa9ac966d3"
                    }
                  ]
                }
              ],
              "note": "Notion documentation explicitly specifies authorization flows for personal access tokens, internal connections, and public connections using OAuth 2.0 with access and refresh tokens."
            },
            {
              "signal_code": "phone_verification_compatible",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can required phone verification be completed through a supported boundary?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:29.135Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "workspace-signup"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained signup capture contains metadata and does not explicitly declare whether phone verification is required, absent, or resumable."
            }
          ],
          "blockers": [],
          "remediations": []
        },
        {
          "stage": "pay",
          "stage_label": "Pay",
          "outcome": "pass",
          "public_state": "ready",
          "state_label": "Ready",
          "primary_finding": {
            "signal_code": "commitment_disclosure",
            "condition": "Is the exact commercial commitment disclosed before authorization?",
            "finding": "Charge or no-charge status, currency, recurrence, and material conditions are disclosed.",
            "context": "The pricing schedule discloses plan tiers, including the Free tier at $0 and the Plus tier at $10 per member/month in USD, along with monthly and annual billing modes."
          },
          "secondary_context": [
            {
              "signal_code": "checkout_operability",
              "condition": "Can an agent construct checkout, hand off approval safely, and resume?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "context": "The retained evidence describes upgrading a plan by clicking Settings -> Upgrade plan and selecting Upgrade now, but it does not establish deterministic checkout construction, handoff approval, and safe resumption required for a yes finding."
            },
            {
              "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 outlines workspace owners approving member upgrade requests, but it does not document a full scoped delegation rail or explicit human authorization mechanism 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": "Notion documents a direct direct self-service path to upgrade plans under Settings -> Upgrade plan, where users can review an order summary and click Upgrade now without vendor intervention."
            }
          ],
          "signals": [
            {
              "signal_code": "checkout_operability",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can an agent construct checkout, hand off approval safely, and resume?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:58.285Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained evidence describes upgrading a plan by clicking Settings -> Upgrade plan and selecting Upgrade now, but it does not establish deterministic checkout construction, handoff approval, and safe resumption required for a yes finding."
            },
            {
              "signal_code": "commitment_disclosure",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Is the exact commercial commitment disclosed before authorization?",
              "finding": "Charge or no-charge status, currency, recurrence, and material conditions are disclosed.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:38.398Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "pricing"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "direct_observation",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:d13182c48a93611c49b58712e803790e4830c72a05349fbf5d8289515eea33ad",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0804e9bd04c72fcf9a19532bb98487d850f88ca90fd14aa0f3d99023cb38093d",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:9252667eb5d3f23c5a0d2246a3ca4e9b46b2b0b5ad771525057a31cdcd7493e0",
                    "sha256:973fa57ccc4efdf339beba127c00f4845d537cf5235c050f155e883b33e5bfa2"
                  ],
                  "locators": [
                    {
                      "artifact_digest": "sha256:9252667eb5d3f23c5a0d2246a3ca4e9b46b2b0b5ad771525057a31cdcd7493e0",
                      "start_byte": 5054,
                      "end_byte": 5854,
                      "value_digest": "sha256:50270c6cfa338484b29c8cb6e424440a89af73ea692ce9814bb43fe886d9452d"
                    }
                  ]
                }
              ],
              "note": "The pricing schedule discloses plan tiers, including the Free tier at $0 and the Plus tier at $10 per member/month in USD, along with monthly and annual billing modes."
            },
            {
              "signal_code": "payment_authorization",
              "evaluation_role": "barrier",
              "required": false,
              "value": "unknown",
              "value_label": "Unknown",
              "outcome": "unknown",
              "public_state": "unknown",
              "condition": "Can payment be authorized within scoped agent or explicit human authority?",
              "finding": "Current admissible evidence does not resolve this finding.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:58.285Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The evidence outlines workspace owners approving member upgrade requests, but it does not document a full scoped delegation rail or explicit human authorization mechanism with receipts."
            },
            {
              "signal_code": "self_service_purchase",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Is a direct self-service path to paid access documented?",
              "finding": "A documented direct purchase path reaches paid access without a vendor decision point.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:58.285Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "service-terms"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:c5aba5fe90ab2453f916b29ea6a91bf32bae67feb6f87011e537cdccddf0e747",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:5d6994ae87f1b57884dd7a824ef48547fad8ed0bbf49acff28fbb06fe0e54dd4",
                    "sha256:d57c3d0cccad19c90f3d639cdec1171dc4f2357d993e7bb7f62b6fcf6cef043e",
                    "sha256:e2a75a0d1b5b281ec4a81ee4b8a3607b75d8e1ebae87696d42a52bb975618c45"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "service-terms"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:d57c3d0cccad19c90f3d639cdec1171dc4f2357d993e7bb7f62b6fcf6cef043e",
                      "start_byte": 11809,
                      "end_byte": 12614,
                      "value_digest": "sha256:fc18935d7e148b9a929f45627aed8453763d12934e5cd39c09e555cfa8474470"
                    }
                  ]
                }
              ],
              "note": "Notion documents a direct direct self-service path to upgrade plans under Settings -> Upgrade plan, where users can review an order summary and click Upgrade now without vendor intervention."
            }
          ],
          "blockers": [],
          "remediations": []
        },
        {
          "stage": "provision",
          "stage_label": "Provision",
          "outcome": "constrained",
          "public_state": "limited",
          "state_label": "Limited",
          "primary_finding": {
            "signal_code": "access_material_delivery",
            "condition": "Can usable access material be delivered securely to an authorized agent?",
            "finding": "Delivery needs additional human transfer or has weak scope or lifecycle semantics.",
            "context": "Notion documents exchanging an authorization code for an access token via an HTTP POST request to Notion's token endpoint. Retrieval of CLIENT_ID and CLIENT_SECRET requires accessing the Developer portal."
          },
          "secondary_context": [
            {
              "signal_code": "provisioning_operability",
              "condition": "Can provisioning be initiated within supported agent authority?",
              "finding": "Provisioning is machine-triggerable or follows deterministically from an allowed handoff.",
              "context": "Page creation can be initiated programmatically by making a POST request to https://api.notion.com/v1/pages with an authorization token."
            },
            {
              "signal_code": "provisioning_completion",
              "condition": "Can an agent determine successful provisioning completion and reconcile asynchronous failure?",
              "finding": "A synchronous success response returns a usable created resource or access material; otherwise asynchronous work exposes progress, terminal state, reconciliation, and a documented bound.",
              "context": "Creating a page returns a synchronous page object containing the page id, created time, and URL upon success."
            }
          ],
          "signals": [
            {
              "signal_code": "access_material_delivery",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can usable access material be delivered securely to an authorized agent?",
              "finding": "Delivery needs additional human transfer or has weak scope or lifecycle semantics.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:00.593Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authorization"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:308adae64e93f43a7ef686bb16bd55938119e1531a0a9c57cabf25a151831419",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:84b500d12a06304f2248deaba5752e913d9e4110512fc3c4c82702d4b4d66360",
                    "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                    "sha256:d821d6fa373e09403fb6df974c42b4713822ff82fc5faa3bcd7f3a4766219870"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authorization"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                      "start_byte": 21695,
                      "end_byte": 22494,
                      "value_digest": "sha256:7c84a4332edda90e5cf6a6b4836570c3f666351f36502569db5964cd6fd31e6d"
                    }
                  ]
                }
              ],
              "note": "Notion documents exchanging an authorization code for an access token via an HTTP POST request to Notion's token endpoint. Retrieval of CLIENT_ID and CLIENT_SECRET requires accessing the Developer portal.",
              "remediation": {
                "signal_code": "access_material_delivery",
                "code": "improve.provision.access_material_delivery",
                "instruction": "Deliver scoped access material through a secure documented machine-usable flow."
              }
            },
            {
              "signal_code": "provisioning_completion",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent determine successful provisioning completion and reconcile asynchronous failure?",
              "finding": "A synchronous success response returns a usable created resource or access material; otherwise asynchronous work exposes progress, terminal state, reconciliation, and a documented bound.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:28.877Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "quickstart"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:968f9341b4bcce2cc001451445d3fc709259730c95406faa488087adf280b15b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:3ecd54679cb874463e55a9848b85c799d968e9bc8e7dd4bee4756f7a68221c04",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7cb8fb41c5424a1b8a10bbfaae6be17f51591da6631679d967f5356b6f560512",
                    "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "quickstart"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8",
                      "start_byte": 9902,
                      "end_byte": 10697,
                      "value_digest": "sha256:4409e151616e7263c262b81766032f3b410198958c9a8a799b953c556303cdd7"
                    }
                  ]
                }
              ],
              "note": "Creating a page returns a synchronous page object containing the page id, created time, and URL upon success."
            },
            {
              "signal_code": "provisioning_operability",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can provisioning be initiated within supported agent authority?",
              "finding": "Provisioning is machine-triggerable or follows deterministically from an allowed handoff.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:28.877Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authorization"
                },
                {
                  "node_kind": "resource",
                  "node_id": "quickstart"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:968f9341b4bcce2cc001451445d3fc709259730c95406faa488087adf280b15b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0363cf6288b58b7a0de801c3957bc6576ceb9061d152f9abac5a2b73d5fb34af",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7cb8fb41c5424a1b8a10bbfaae6be17f51591da6631679d967f5356b6f560512",
                    "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "quickstart"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8",
                      "start_byte": 7576,
                      "end_byte": 8377,
                      "value_digest": "sha256:3ee60ac3781ca7d8ed078dbeb3160bcda426d6a8b9b92ef8465436e76742c33d"
                    }
                  ]
                }
              ],
              "note": "Page creation can be initiated programmatically by making a POST request to https://api.notion.com/v1/pages with an authorization token."
            }
          ],
          "blockers": [],
          "remediations": [
            {
              "signal_code": "access_material_delivery",
              "code": "improve.provision.access_material_delivery",
              "instruction": "Deliver scoped access material through a secure documented machine-usable flow."
            }
          ]
        },
        {
          "stage": "operate",
          "stage_label": "Operate",
          "outcome": "constrained",
          "public_state": "limited",
          "state_label": "Limited",
          "primary_finding": {
            "signal_code": "failure_contract",
            "condition": "Can an agent handle applicable failure modes safely?",
            "finding": "Safe failure handling is documented only partially.",
            "context": "Notion documents status codes including 429, 409 conflicts and 529 overload with Retry-After guidance; the selected quotes do not establish idempotency or reconciliation semantics for page creation."
          },
          "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.",
              "context": "The retained excerpts describe REST or RPC interfaces, SDKs and CLIs for Notion API; they contain no first-party statement that an agent-native protocol interface is absent, and several navigation excerpts mention MCP resources without establishing coverage of the assessed targets."
            },
            {
              "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": "The documentation explicitly describes refreshing an access token via POST /v1/oauth/token to receive a new access token and refresh token, but leaves administrative key revocation and compromise recovery procedures for all credential types partially documented."
            },
            {
              "signal_code": "target_interface_access",
              "condition": "Can an agent perform every essential assessment target through a usable interface?",
              "finding": "Every essential target has a stable documented agent-usable interface alternative.",
              "context": "Every essential target surface provides a machine-operable HTTP REST API interface for agent interaction."
            },
            {
              "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": "Notion API requests are authenticated using Bearer tokens in the Authorization header for personal access tokens and internal connections, and OAuth 2.0 bearer tokens for public connections."
            },
            {
              "signal_code": "operation_contract",
              "condition": "Are essential operation inputs, outputs, and effects stable and decidable?",
              "finding": "Essential operations have stable readable request, response, and effect semantics.",
              "context": "Essential operations across all evaluated surfaces have documented readable request schemas, response codes, parameters, and rate limit contracts."
            }
          ],
          "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": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.640Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "content-api"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [],
              "note": "The retained excerpts describe REST or RPC interfaces, SDKs and CLIs for Notion API; they contain no first-party statement that an agent-native protocol interface is absent, and several navigation excerpts mention MCP resources without establishing coverage of the assessed targets."
            },
            {
              "signal_code": "credential_lifecycle",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent manage credential expiry, rotation, revocation, compromise, and recovery?",
              "finding": "Only part of the credential lifecycle is agent-operable.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:00.593Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authorization"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:308adae64e93f43a7ef686bb16bd55938119e1531a0a9c57cabf25a151831419",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:6348980b2b68e4282f4912e594ed30f83ec3f93bf09e1088f2eeeae76b5f5f5c",
                    "sha256:84b500d12a06304f2248deaba5752e913d9e4110512fc3c4c82702d4b4d66360",
                    "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authorization"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                      "start_byte": 27026,
                      "end_byte": 27822,
                      "value_digest": "sha256:f5b7c91be28f1dbc3cb8aa906b3a300b5d21620694755a98f87f768e22361f2b"
                    },
                    {
                      "artifact_digest": "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                      "start_byte": 27823,
                      "end_byte": 28600,
                      "value_digest": "sha256:68819d471ef53ae07ba92e7b72b5161ebe07c3bd4e3800259c387165cd6188a2"
                    }
                  ]
                }
              ],
              "note": "The documentation explicitly describes refreshing an access token via POST /v1/oauth/token to receive a new access token and refresh token, but leaves administrative key revocation and compromise recovery procedures for all credential types partially documented.",
              "remediation": {
                "signal_code": "credential_lifecycle",
                "code": "improve.operate.credential_lifecycle",
                "instruction": "Provide scoped expiry, rotation, revocation, compromise, and recovery operations."
              }
            },
            {
              "signal_code": "failure_contract",
              "evaluation_role": "graded",
              "required": true,
              "value": "partial",
              "value_label": "Limited",
              "outcome": "constrained",
              "public_state": "limited",
              "condition": "Can an agent handle applicable failure modes safely?",
              "finding": "Safe failure handling is documented only partially.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:50:17.267Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "status-codes"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:c0689fa93d4d3ccfbc9efce3db4b51373b60f926e72807f176ccc2f95c253e57",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0cc090dfd96346afb2b403d3736ba6894c31f9ab782240532d75f135794980e2",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:b2f180909720e43d6e4a0d4cd99e406be14d88bd3ec936c9dd5fcf6ed86b7516",
                    "sha256:c80dd6564f8b03d6563ad098f95311990462d4ddd7667128eb0d3275753e3356"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "status-codes"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:b2f180909720e43d6e4a0d4cd99e406be14d88bd3ec936c9dd5fcf6ed86b7516",
                      "start_byte": 8626,
                      "end_byte": 9426,
                      "value_digest": "sha256:8628114e976c04158041f43cef0057a4d87b8a6113fae5eea1ec055c16ee15ca"
                    },
                    {
                      "artifact_digest": "sha256:b2f180909720e43d6e4a0d4cd99e406be14d88bd3ec936c9dd5fcf6ed86b7516",
                      "start_byte": 9427,
                      "end_byte": 9927,
                      "value_digest": "sha256:4c5e34f5cbf4d0b58f856c99d04c0965edf2bb2c08cd732146469adc30630785"
                    }
                  ]
                }
              ],
              "note": "Notion documents status codes including 429, 409 conflicts and 529 overload with Retry-After guidance; the selected quotes do not establish idempotency or reconciliation semantics for page creation.",
              "remediation": {
                "signal_code": "failure_contract",
                "code": "improve.operate.failure_contract",
                "instruction": "Document applicable structured errors, retry, cancellation, and reconciliation semantics."
              }
            },
            {
              "signal_code": "operation_authentication",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent authenticate service operations with scoped authority?",
              "finding": "Request-time authentication is documented and usable under scoped agent authority.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:00.593Z",
              "tested_surfaces": [
                {
                  "node_kind": "resource",
                  "node_id": "authorization"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:308adae64e93f43a7ef686bb16bd55938119e1531a0a9c57cabf25a151831419",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2a0f53112d80601055583766490b1e54b81e6bb00e01666135d4761d88f4f2a7",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:84b500d12a06304f2248deaba5752e913d9e4110512fc3c4c82702d4b4d66360",
                    "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "authorization"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                      "start_byte": 11291,
                      "end_byte": 12090,
                      "value_digest": "sha256:4de212f07de31e89f93c9fce8ec8354eee8c138aba05e498ff886b8d553fe82e"
                    },
                    {
                      "artifact_digest": "sha256:cbb63739f665e26582ce610662dcd74a032bd3388c2b5fe5b1db60bffe10e178",
                      "start_byte": 12091,
                      "end_byte": 12894,
                      "value_digest": "sha256:6e09e7d6985faa21e44561d70db102d7319a6e8ae5d43da1ea35d57ce8661552"
                    }
                  ]
                }
              ],
              "note": "Notion API requests are authenticated using Bearer tokens in the Authorization header for personal access tokens and internal connections, and OAuth 2.0 bearer tokens for public connections."
            },
            {
              "signal_code": "operation_contract",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Are essential operation inputs, outputs, and effects stable and decidable?",
              "finding": "Essential operations have stable readable request, response, and effect semantics.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.640Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "content-api"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:9fce98192c28c895aa574c98abea51a92155e8cf7cfdf9ca3f90961cf96f9fb4",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2e943e6d537dcee8a327313077ee63379b2a96b7825b713a6ee91021a06e6dd9",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:8ddd11256107d28dc7e8c692f60a766661ebb119a6bbfdb2c0689f31c5bddaef",
                    "sha256:caa902eafbf3b1f36ce23ab60e7ea9320a70b00614724080385c5f032f55e460"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "create-page"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:caa902eafbf3b1f36ce23ab60e7ea9320a70b00614724080385c5f032f55e460",
                      "start_byte": 4226,
                      "end_byte": 4657,
                      "value_digest": "sha256:3169337d3011fdc2c836dec6025fe15677ba807299bc5b53092f2fa7506563a6"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:87ce67e507512e238021b4b3fbf968bfef3ad213212e7f65de9a5f991b6cef3e",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:34db814058bfccf5be3854e5aac3756a2722c8dfd6db291016d2183103616ecc",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:a77452a609ef996da9791a3d52234ba8322e46291620450701218684ad8b15bb",
                    "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd",
                      "start_byte": 6080,
                      "end_byte": 6879,
                      "value_digest": "sha256:8969d001e3816d2e84858d8a35f836546d4447002dd83a4f7e036b62146f6de9"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:968f9341b4bcce2cc001451445d3fc709259730c95406faa488087adf280b15b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0363cf6288b58b7a0de801c3957bc6576ceb9061d152f9abac5a2b73d5fb34af",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7cb8fb41c5424a1b8a10bbfaae6be17f51591da6631679d967f5356b6f560512",
                    "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "quickstart"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8",
                      "start_byte": 7576,
                      "end_byte": 8377,
                      "value_digest": "sha256:3ee60ac3781ca7d8ed078dbeb3160bcda426d6a8b9b92ef8465436e76742c33d"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:79937f423138153aec272f055b324cbca8bb96968f0aa9a8d30b8074e6c6e97b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0624e514790c045300eb33a3410d7df1192d5d74976ae9eec825422ea2bea2e7",
                    "sha256:4f2201f9b60147bbf9f45abfb5c47117b0ec44315ec2126542407078dd0d1c78",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:91c87bb9a074d9636a7b68fd9ed7aef9f8556b2f82804361f5988674d6c5b444"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "request-limits"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:91c87bb9a074d9636a7b68fd9ed7aef9f8556b2f82804361f5988674d6c5b444",
                      "start_byte": 6401,
                      "end_byte": 7202,
                      "value_digest": "sha256:1528f29e8f6d95c0de23114505495cf43287733c5e9d872f00f9beffbdc3fc48"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:c0689fa93d4d3ccfbc9efce3db4b51373b60f926e72807f176ccc2f95c253e57",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:74915769499c217900d33e5b28c0aff8dd3340045fba4ed1e853d6ca74a8c28d",
                    "sha256:b2f180909720e43d6e4a0d4cd99e406be14d88bd3ec936c9dd5fcf6ed86b7516",
                    "sha256:c80dd6564f8b03d6563ad098f95311990462d4ddd7667128eb0d3275753e3356"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "status-codes"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:b2f180909720e43d6e4a0d4cd99e406be14d88bd3ec936c9dd5fcf6ed86b7516",
                      "start_byte": 5441,
                      "end_byte": 6234,
                      "value_digest": "sha256:7f6c926949d544345bb21b337eebffd4f3efcd3e65f92f1d83fdccb388b240d5"
                    }
                  ]
                }
              ],
              "note": "Essential operations across all evaluated surfaces have documented readable request schemas, response codes, parameters, and rate limit contracts."
            },
            {
              "signal_code": "target_interface_access",
              "evaluation_role": "graded",
              "required": true,
              "value": "yes",
              "value_label": "Ready",
              "outcome": "pass",
              "public_state": "ready",
              "condition": "Can an agent perform every essential assessment target through a usable interface?",
              "finding": "Every essential target has a stable documented agent-usable interface alternative.",
              "evidence_status": "supported",
              "freshness": "fresh",
              "observed_at": "2026-09-06T08:51:24.640Z",
              "tested_surfaces": [
                {
                  "node_kind": "interface",
                  "node_id": "content-api"
                }
              ],
              "assessment_method": {
                "name": "public-semantic-assessment",
                "version": "2026-09-06",
                "method_digest": "sha256:02ec902925d3816c86a32a3d15dc2e7af6ce9931c24b9cf264063e596952d1c4"
              },
              "determination_bases": [
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:9fce98192c28c895aa574c98abea51a92155e8cf7cfdf9ca3f90961cf96f9fb4",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:2e943e6d537dcee8a327313077ee63379b2a96b7825b713a6ee91021a06e6dd9",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:8ddd11256107d28dc7e8c692f60a766661ebb119a6bbfdb2c0689f31c5bddaef",
                    "sha256:caa902eafbf3b1f36ce23ab60e7ea9320a70b00614724080385c5f032f55e460"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "create-page"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:caa902eafbf3b1f36ce23ab60e7ea9320a70b00614724080385c5f032f55e460",
                      "start_byte": 4226,
                      "end_byte": 4657,
                      "value_digest": "sha256:3169337d3011fdc2c836dec6025fe15677ba807299bc5b53092f2fa7506563a6"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:87ce67e507512e238021b4b3fbf968bfef3ad213212e7f65de9a5f991b6cef3e",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:34db814058bfccf5be3854e5aac3756a2722c8dfd6db291016d2183103616ecc",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:a77452a609ef996da9791a3d52234ba8322e46291620450701218684ad8b15bb",
                    "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "api-overview"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:ee348f1615e7a09fb554581694f91475262c1af6ebed33b3e004b074c7dbc7dd",
                      "start_byte": 6080,
                      "end_byte": 6879,
                      "value_digest": "sha256:8969d001e3816d2e84858d8a35f836546d4447002dd83a4f7e036b62146f6de9"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:79937f423138153aec272f055b324cbca8bb96968f0aa9a8d30b8074e6c6e97b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0624e514790c045300eb33a3410d7df1192d5d74976ae9eec825422ea2bea2e7",
                    "sha256:1dfc31feb051756d67177bef3b8b155d195c8ac004580b19d9aff5041d8130f1",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:91c87bb9a074d9636a7b68fd9ed7aef9f8556b2f82804361f5988674d6c5b444"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "request-limits"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:91c87bb9a074d9636a7b68fd9ed7aef9f8556b2f82804361f5988674d6c5b444",
                      "start_byte": 5592,
                      "end_byte": 6400,
                      "value_digest": "sha256:4a8495356630064bdc765f5ce59c385402bde2841156f2d0b5f6f6a5abc783c4"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:968f9341b4bcce2cc001451445d3fc709259730c95406faa488087adf280b15b",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:0363cf6288b58b7a0de801c3957bc6576ceb9061d152f9abac5a2b73d5fb34af",
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:7cb8fb41c5424a1b8a10bbfaae6be17f51591da6631679d967f5356b6f560512",
                    "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "quickstart"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:f15106fc2d484a4c66e7e7f6621fd5228c35150ce28d26770fa2aed5f18dc3c8",
                      "start_byte": 7576,
                      "end_byte": 8377,
                      "value_digest": "sha256:3ee60ac3781ca7d8ed078dbeb3160bcda426d6a8b9b92ef8465436e76742c33d"
                    }
                  ]
                },
                {
                  "kind": "explicit_first_party_declaration",
                  "captures": [
                    {
                      "retained_capture_digest": "sha256:c0689fa93d4d3ccfbc9efce3db4b51373b60f926e72807f176ccc2f95c253e57",
                      "capture_rung": "http"
                    }
                  ],
                  "artifact_digests": [
                    "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                    "sha256:74915769499c217900d33e5b28c0aff8dd3340045fba4ed1e853d6ca74a8c28d",
                    "sha256:b2f180909720e43d6e4a0d4cd99e406be14d88bd3ec936c9dd5fcf6ed86b7516",
                    "sha256:c80dd6564f8b03d6563ad098f95311990462d4ddd7667128eb0d3275753e3356"
                  ],
                  "source_surface": {
                    "node_kind": "resource",
                    "node_id": "status-codes"
                  },
                  "locators": [
                    {
                      "artifact_digest": "sha256:b2f180909720e43d6e4a0d4cd99e406be14d88bd3ec936c9dd5fcf6ed86b7516",
                      "start_byte": 5441,
                      "end_byte": 6234,
                      "value_digest": "sha256:7f6c926949d544345bb21b337eebffd4f3efcd3e65f92f1d83fdccb388b240d5"
                    }
                  ]
                }
              ],
              "note": "Every essential target surface provides a machine-operable HTTP REST API interface for agent interaction."
            }
          ],
          "blockers": [],
          "remediations": [
            {
              "signal_code": "failure_contract",
              "code": "improve.operate.failure_contract",
              "instruction": "Document applicable structured errors, retry, cancellation, and reconciliation semantics."
            },
            {
              "signal_code": "credential_lifecycle",
              "code": "improve.operate.credential_lifecycle",
              "instruction": "Provide scoped expiry, rotation, revocation, compromise, and recovery operations."
            }
          ]
        }
      ],
      "coverage": {
        "status": "complete",
        "required_signals": 14,
        "covered_signals": 14,
        "ratio": 1,
        "barrier_signals": 5,
        "verified_barrier_signals": 0,
        "barrier_ratio": 0
      },
      "last_tested_at": "2026-09-06T08:51:58.285Z",
      "freshness": "fresh",
      "provenance": {
        "freshness": "fresh",
        "dispute": "none",
        "coverage_policy_digest": "sha256:fc9e8f046d86fcf19ab2f1bc547219e503cdc11ffa135d020db7285965cd7d1d",
        "freshness_policy_digest": "sha256:b71bacf415fdbef01024355fb3d080df7a9dca05d2cce9a2a1f691fe8a60f579",
        "basis_event_ids": [
          "sha256:1074d6b5c013c3fc04a965920d95b6ea51453383359f35940f6795823d8a24d6",
          "sha256:2691bab43b6ed8ba2b0b36e51f492201a49b5ce329a39277a56a293af710bfa0",
          "sha256:275b1213d437b9dde8c167653fa6964b671960c455c8f314146ceaeb6812c106",
          "sha256:2a6d2e5327dda5c5654abc035c4c05fdc48ff10767ced91e439bf1c7b2d91ae7",
          "sha256:2fff1eefee756ab76eed4d989de83a63e89f5a54cf6bca2b355802dfdf17222c",
          "sha256:33773993696d9196c83c81127538a473f567bd4f0fdbe62e3426ff0d49b30d4a",
          "sha256:34ac388bf3fe6e1dd62243360c3670c4b94f96cd5814fd5ac08f402cb7f1b88d",
          "sha256:3963aa7a0d0ead604fdc5b1eb063187adbd969195ef1b544a949c3562f99fa4e",
          "sha256:3f07407f217542a0c3b20f4f530feea4363ae12bc5ca9100135a4d97b91a0758",
          "sha256:501ccd50a3abe5e1751253e53e0839c63ebb34a6e21dffa6b21a40bcc72c23c7",
          "sha256:55ae0090a7d47c75827bd47ab6ffe0d7e5052211edcd8e2e183f638fcf368417",
          "sha256:6647ee8165d6f451ea98a21d74b96bf4208b5a480a2f1d8a88433e324fe5c22a",
          "sha256:744166316875dc4a8de8ed386a299412331309287d9a05453d56c46fb104f690",
          "sha256:7ca01b18daa53d880d8af5b09df728e3b02e59f3f7e4add7cf26fc2e946d2c9e",
          "sha256:7f09ade73fd4a62c0af49634ea9911a1f93df328dfc789565bf778c861918c5a",
          "sha256:83464e7b258beb893ee049d2fa7c571a4fc02d98bf760513c8bfd3ea6e350c19",
          "sha256:84706fc721abd64832708d4e4035be48b913c727bf9d2e439369c0247061cac3",
          "sha256:8c2bc60125c87a1003899e6f5aa31e5243b8a78bed297c93794524e6643b44ab",
          "sha256:8e9fe7decf4bdfc03ac3b0763236ccd784c9ed281a1fb0f00bc6e616f283d871",
          "sha256:9b639376eb81574bdc9012fab7b34928e712d47f181f00b14b523bfb5253c5b1",
          "sha256:a01b08cfff8e64a5066113e3ffdb87817fa71916c29d8d8bd2295eebd3a025d2",
          "sha256:a15511f33dc476364b28e25ed15888d24679b03cbc7fb3761fa0bb198fbefd99",
          "sha256:a42de0c5da410b6d9f944ac43c56e1fbc964d76419900ae4c5661fe22a19477e",
          "sha256:a7e98955d03857728f4d20cc9f298ba6f8eacd974847d572aa820fb4e24a96c5",
          "sha256:aacc823de2e243be422b128c239ebefcec5af5351c9ec46e95e283c3b3d98991",
          "sha256:abed26072f019350795723c760cb7c0b8f7ff8e98eb2d0bd06b6432a3b9a29d9",
          "sha256:ad075fb9563a555d6342dbad6e2e1fc0c05a20aa07a9a9eafa14c8b4b305b6be",
          "sha256:b59c76184b2a7c838a39e5cd350248c370fafe718335c63fc430e5417aad6ef6",
          "sha256:c70d5b792a3a5992f096e91296c5b85bcb22ab2d1f329215f20d069f1553dc61",
          "sha256:cd27e7650b8addfc00d303ae35fa7af6ccc92f0275656520c70d5b51ec30c79d",
          "sha256:d4c2b5174a7dd07e2af258816dada65e776ad717a8e0df0ef2dfea1a33c9d639",
          "sha256:df0b26c677e17e7cb180a18e6308ef6ae781ba8f827e9660b17cbddbbdd28208",
          "sha256:e9c37f54d1f1756bd6a1f68bfc75aa79c0de3d5a19de9ed4a27a244e5b735e6b",
          "sha256:f2680f723a3caffeaad638434c7246288816eed79b0c7b9ebc2420f0f30a5c18",
          "sha256:f74c3bf67746122f98d8851b10ea5b8821fe73884a5e0f4be7591a6ff90cde94",
          "sha256:f937b49cfa52a762bd4d51c7982d40810939af48b0c7a2fdfeb78c9a59991181"
        ],
        "fields": [
          {
            "path": "/signals/0",
            "supporting_event_ids": [
              "sha256:6647ee8165d6f451ea98a21d74b96bf4208b5a480a2f1d8a88433e324fe5c22a"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.640Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/1",
            "supporting_event_ids": [
              "sha256:33773993696d9196c83c81127538a473f567bd4f0fdbe62e3426ff0d49b30d4a"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:38.398Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/2",
            "supporting_event_ids": [
              "sha256:8e9fe7decf4bdfc03ac3b0763236ccd784c9ed281a1fb0f00bc6e616f283d871"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.640Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/3",
            "supporting_event_ids": [
              "sha256:2691bab43b6ed8ba2b0b36e51f492201a49b5ce329a39277a56a293af710bfa0",
              "sha256:aacc823de2e243be422b128c239ebefcec5af5351c9ec46e95e283c3b3d98991"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.640Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/4",
            "supporting_event_ids": [
              "sha256:cd27e7650b8addfc00d303ae35fa7af6ccc92f0275656520c70d5b51ec30c79d"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:58.285Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/5",
            "supporting_event_ids": [
              "sha256:2a6d2e5327dda5c5654abc035c4c05fdc48ff10767ced91e439bf1c7b2d91ae7",
              "sha256:d4c2b5174a7dd07e2af258816dada65e776ad717a8e0df0ef2dfea1a33c9d639"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.640Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/6",
            "supporting_event_ids": [
              "sha256:34ac388bf3fe6e1dd62243360c3670c4b94f96cd5814fd5ac08f402cb7f1b88d"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:29.135Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/7",
            "supporting_event_ids": [
              "sha256:2fff1eefee756ab76eed4d989de83a63e89f5a54cf6bca2b355802dfdf17222c"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:29.135Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/8",
            "supporting_event_ids": [
              "sha256:3963aa7a0d0ead604fdc5b1eb063187adbd969195ef1b544a949c3562f99fa4e",
              "sha256:f937b49cfa52a762bd4d51c7982d40810939af48b0c7a2fdfeb78c9a59991181"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:29.135Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/9",
            "supporting_event_ids": [
              "sha256:744166316875dc4a8de8ed386a299412331309287d9a05453d56c46fb104f690"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:00.593Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/10",
            "supporting_event_ids": [
              "sha256:84706fc721abd64832708d4e4035be48b913c727bf9d2e439369c0247061cac3"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:29.135Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/11",
            "supporting_event_ids": [
              "sha256:e9c37f54d1f1756bd6a1f68bfc75aa79c0de3d5a19de9ed4a27a244e5b735e6b"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:58.285Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/12",
            "supporting_event_ids": [
              "sha256:a01b08cfff8e64a5066113e3ffdb87817fa71916c29d8d8bd2295eebd3a025d2"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:38.398Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/13",
            "supporting_event_ids": [
              "sha256:9b639376eb81574bdc9012fab7b34928e712d47f181f00b14b523bfb5253c5b1"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:58.285Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/14",
            "supporting_event_ids": [
              "sha256:7f09ade73fd4a62c0af49634ea9911a1f93df328dfc789565bf778c861918c5a"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:58.285Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/15",
            "supporting_event_ids": [
              "sha256:501ccd50a3abe5e1751253e53e0839c63ebb34a6e21dffa6b21a40bcc72c23c7"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:00.593Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/16",
            "supporting_event_ids": [
              "sha256:abed26072f019350795723c760cb7c0b8f7ff8e98eb2d0bd06b6432a3b9a29d9"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:28.877Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/17",
            "supporting_event_ids": [
              "sha256:a15511f33dc476364b28e25ed15888d24679b03cbc7fb3761fa0bb198fbefd99"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:28.877Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/18",
            "supporting_event_ids": [
              "sha256:1074d6b5c013c3fc04a965920d95b6ea51453383359f35940f6795823d8a24d6",
              "sha256:f2680f723a3caffeaad638434c7246288816eed79b0c7b9ebc2420f0f30a5c18"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.640Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/19",
            "supporting_event_ids": [
              "sha256:8c2bc60125c87a1003899e6f5aa31e5243b8a78bed297c93794524e6643b44ab"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:00.593Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/20",
            "supporting_event_ids": [
              "sha256:ad075fb9563a555d6342dbad6e2e1fc0c05a20aa07a9a9eafa14c8b4b305b6be"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:50:17.267Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/21",
            "supporting_event_ids": [
              "sha256:a42de0c5da410b6d9f944ac43c56e1fbc964d76419900ae4c5661fe22a19477e"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:00.593Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/22",
            "supporting_event_ids": [
              "sha256:7ca01b18daa53d880d8af5b09df728e3b02e59f3f7e4add7cf26fc2e946d2c9e",
              "sha256:a7e98955d03857728f4d20cc9f298ba6f8eacd974847d572aa820fb4e24a96c5",
              "sha256:b59c76184b2a7c838a39e5cd350248c370fafe718335c63fc430e5417aad6ef6",
              "sha256:df0b26c677e17e7cb180a18e6308ef6ae781ba8f827e9660b17cbddbbdd28208",
              "sha256:f74c3bf67746122f98d8851b10ea5b8821fe73884a5e0f4be7591a6ff90cde94"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.640Z",
            "freshness": "fresh"
          },
          {
            "path": "/signals/23",
            "supporting_event_ids": [
              "sha256:275b1213d437b9dde8c167653fa6964b671960c455c8f314146ceaeb6812c106",
              "sha256:3f07407f217542a0c3b20f4f530feea4363ae12bc5ca9100135a4d97b91a0758",
              "sha256:55ae0090a7d47c75827bd47ab6ffe0d7e5052211edcd8e2e183f638fcf368417",
              "sha256:83464e7b258beb893ee049d2fa7c571a4fc02d98bf760513c8bfd3ea6e350c19",
              "sha256:c70d5b792a3a5992f096e91296c5b85bcb22ab2d1f329215f20d069f1553dc61"
            ],
            "contradicting_event_ids": [],
            "accepted_proof_kinds": [
              "observed"
            ],
            "evidence_proof_kinds": [
              "observed"
            ],
            "latest_observation_at": "2026-09-06T08:51:24.640Z",
            "freshness": "fresh"
          }
        ],
        "vendor_attestation": {
          "status": "none"
        }
      },
      "canonical_url": "https://sourcey.com/log/notion/agent-readiness/notion-api/api-integration-lifecycle",
      "projection_digest": "sha256:3b0115c08e61c01442c468a8abd1459402678e6514f70b221229e072acc738fb"
    }
  }
}
