{
  "api_contract": "sourcey.catalog-api/v1",
  "release_id": "sha256:1042b2f7b6130b564b0059e00560960c50db2d7578dfa5178d401e5d14d9b11f",
  "artifact_sha256": "sha256:a695609a4d6872bd447e3125d912e7f84e605d0f064df0b08e62a9f24d9d2e80",
  "data": {
    "revision_contract": "sourcey.agent-readiness-revision/v1alpha1",
    "agent_readiness_profile_id": "arp_01kzf0m4xj3k8sa6c2w9nq4vf7",
    "entity_id": "ent_01kyyts97tdz1rtzzt919cthny",
    "scope": {
      "product": {
        "key": "slack-web-api",
        "name": "Slack Web API"
      },
      "funnel": {
        "key": "workspace-app-operations",
        "name": "Workspace app operations"
      }
    },
    "catalog_binding": {
      "base_release_id": "sha256:5082ec07047a2324648f569d234cc64342ce2707b2f3d77fde8fc06af517cee6",
      "entity_revision_digest": "sha256:6bf818ed8305ea50197752914eecaa92ffd3a14f68afe01712b18be0cb13a2eb"
    },
    "declaration_revision_digest": "sha256:3ef575ff91f8b88f6e9353936303f6914a9dafb3f1b8fca16c9bde8a99f7b392",
    "declaration": {
      "declaration_id": "declaration_slack_web_api_workspace_operations",
      "provenance": {
        "repository": "sourcey/agent-ready-services",
        "commit": "00f00edd170194cc1cf3081b97b218474537ffdb",
        "path": "vendors/sl/slack.yaml",
        "git_blob_oid": "1eed44043a2c4470c9a9350326a5de5490be9d87",
        "blob_digest": "sha256:c634b4561035aad35537567b0e92e66e9c6dd85d49154718d91cfdaedc7cf5f1"
      },
      "status": "community_declared"
    },
    "lifecycle": "active",
    "effective_from": "2026-08-08T02:07:12.595Z",
    "signals": [
      {
        "stage": "evaluate",
        "signal_code": "decidable_eligibility",
        "value": "no",
        "observed_at": "2026-08-07T21:15:04.039Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "service-terms"
            }
          ]
        },
        "note": "Eligibility depends on individual context or terms agreement unavailable as an explicit decidable decision rule for an automated agent."
      },
      {
        "stage": "evaluate",
        "signal_code": "machine_discovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:03.746Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "web-api"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The Slack Web API documentation and endpoints are discoverable via public entrypoints and structured breadcrumbs."
      },
      {
        "stage": "evaluate",
        "signal_code": "readable_pricing",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:06.806Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Slack pricing plans, including the Free plan and tier pricing per user/month, are explicitly listed and machine-readable."
      },
      {
        "stage": "evaluate",
        "signal_code": "structured_terms",
        "value": "partial",
        "observed_at": "2026-08-07T21:15:04.039Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "service-terms"
            }
          ]
        },
        "note": "Service terms are published as standard HTML pages rather than fully machine-readable structured format."
      },
      {
        "stage": "sign_up",
        "signal_code": "captcha_free",
        "value": "unknown",
        "observed_at": "2026-08-07T23:32:00.922Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Documentation alone cannot establish whether a CAPTCHA is present during the live workspace creation signup flow."
      },
      {
        "stage": "sign_up",
        "signal_code": "machine_operable_form",
        "value": "unknown",
        "observed_at": "2026-08-07T23:32:00.922Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Documentation describes the UI steps to create a workspace but cannot prove machine-operability of the live form."
      },
      {
        "stage": "sign_up",
        "signal_code": "phone_verification_free",
        "value": "yes",
        "observed_at": "2026-08-07T23:32:00.922Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Workspace creation instructions show email-based confirmation codes without requiring a phone number or SMS verification."
      },
      {
        "stage": "sign_up",
        "signal_code": "stable_entrypoint",
        "value": "yes",
        "observed_at": "2026-08-07T23:32:02.235Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Slack provides a stable entrypoint URL (https://slack.com/get-started#/createnew) for workspace creation."
      },
      {
        "stage": "sign_up",
        "signal_code": "supported_identity_flow",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:35.449Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authentication"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Slack documents an OAuth 2.0 identity flow with scoped permissions (bot, user, app tokens) and explicit token rotation."
      },
      {
        "stage": "pay",
        "signal_code": "explicit_price",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:06.806Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Slack explicitly lists tier pricing on its pricing page, including $0 for the Free tier, $7.25/user/month for Pro (annual), and $15/user/month for Business+ (annual)."
      },
      {
        "stage": "pay",
        "signal_code": "machine_operable_checkout",
        "value": "partial",
        "observed_at": "2026-08-07T23:32:00.922Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "workspace-signup"
            }
          ]
        },
        "note": "Workspace creation and signup steps require manual email confirmation/verification codes, making checkout partially machine-operable."
      },
      {
        "stage": "pay",
        "signal_code": "sales_intervention_free",
        "value": "yes",
        "observed_at": "2026-08-07T23:32:00.922Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Slack workspaces and subscriptions can be created and purchased online self-service without requiring sales intervention."
      },
      {
        "stage": "pay",
        "signal_code": "supported_payment_rail",
        "value": "yes",
        "observed_at": "2026-08-07T23:32:00.922Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Slack supports standard self-service payment rails such as credit card billing."
      },
      {
        "stage": "provision",
        "signal_code": "automatic_activation",
        "value": "unknown",
        "observed_at": "2026-08-07T21:26:19.785Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "message-operations"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "The retained documentation for chat.postMessage describes Web API method behavior and rate limits but does not establish whether automatic activation occurs upon onboarding."
      },
      {
        "stage": "provision",
        "signal_code": "bounded_delay",
        "value": "unknown",
        "observed_at": "2026-08-07T21:26:07.474Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "message-operations"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Rate limits and execution behavior are documented for chat.postMessage, but no explicit bounded provisioning completion timing guarantee is established in the evidence."
      },
      {
        "stage": "provision",
        "signal_code": "credential_delivery",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:35.449Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authentication"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Slack documents OAuth 2.0 flows for obtaining access tokens (user, bot, and app tokens) to deliver delegated credentials."
      },
      {
        "stage": "provision",
        "signal_code": "machine_readable_status",
        "value": "not_applicable",
        "observed_at": "2026-08-07T21:26:07.474Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "message-operations"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "message-operations"
            }
          ]
        },
        "note": "Provisioning status does not apply to the message-operations target in the workspace app operations funnel, as chat.postMessage represents direct operational message posting rather than an asynchronous resource provisioning lifecycle."
      },
      {
        "stage": "operate",
        "signal_code": "api_tool_access",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:03.746Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "web-api"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The Slack Web API provides documented HTTP RPC-style methods accessible via HTTPS GET and POST requests."
      },
      {
        "stage": "operate",
        "signal_code": "delegated_recovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:05.503Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "rate-limits"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Slack documents delegated recovery paths including evaluating the Retry-After header for rate limits and using token rotation."
      },
      {
        "stage": "operate",
        "signal_code": "documented_limits_errors",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:07.474Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "message-operations"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Slack documents rate limit tiers and structured error codes returned by Web API endpoints like chat.postMessage."
      },
      {
        "stage": "operate",
        "signal_code": "usable_authentication",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:09.000Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authentication"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Slack documents usable OAuth 2.0 authentication using Bearer tokens sent in the HTTP Authorization header."
      }
    ],
    "revision_digest": "sha256:02e2058d2f4151e6719d4e61c4415b4b37890b084f7bd2c24701d6d2d5831962"
  }
}
