{
  "canonicalUrl": "https://proofbeforepay.vercel.app/marketplace-reindex-packet.json",
  "claimBoundary": "This packet prepares refresh, publish, and watch actions. It does not claim the external marketplace has refreshed, approved, ranked, endorsed, reviewed, or propagated any product until a fresh public check proves it.",
  "externalRefreshRequests": [
    {
      "actionType": "mcpso_refresh",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [
        "https://mcp.so/server/gatecheck-by-larrybuildsai",
        "https://proofbeforepay.vercel.app/gatecheck/mcp"
      ],
      "expectedMcpUrl": "https://proofbeforepay.vercel.app/gatecheck/mcp",
      "marketplacePacket": "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md",
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "preferredProductUrl": "https://proofbeforepay.vercel.app/gatecheck",
      "priority": 7,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "refreshRequest": {
        "body": "Please refresh the MCP.so metadata for GateCheck by LarryBuildsAI.\n\nPreferred product URL: https://proofbeforepay.vercel.app/gatecheck\nExpected MCP URL: https://proofbeforepay.vercel.app/gatecheck/mcp\nMarketplace packet: https://proofbeforepay.vercel.app/gatecheck/marketplaces.md\n\nCurrent state is a stale propagation gap: the public page or proxy may be reachable, but the preferred proofbeforepay URL is not fully visible. Please re-crawl or refresh the listing metadata. Do not mark this as approved, ranked, endorsed, or certified unless your platform has actually completed that review.",
        "subject": "Refresh GateCheck listing to proofbeforepay canonical URL"
      },
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "MCP.so page for GateCheck visibly includes https://proofbeforepay.vercel.app/gatecheck/mcp.",
      "targetName": "MCP.so",
      "targetUrl": "https://mcp.so/server/gatecheck-by-larrybuildsai",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "mcpso_refresh",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "expectedMcpUrl": "https://proofbeforepay.vercel.app/resultrail/mcp",
      "marketplacePacket": "https://proofbeforepay.vercel.app/resultrail/marketplaces.md",
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "preferredProductUrl": "https://proofbeforepay.vercel.app/resultrail",
      "priority": 8,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "refreshRequest": {
        "body": "Please refresh the MCP.so metadata for ResultRail by LarryBuildsAI.\n\nPreferred product URL: https://proofbeforepay.vercel.app/resultrail\nExpected MCP URL: https://proofbeforepay.vercel.app/resultrail/mcp\nMarketplace packet: https://proofbeforepay.vercel.app/resultrail/marketplaces.md\n\nCurrent state is a stale propagation gap: the public page or proxy may be reachable, but the preferred proofbeforepay URL is not fully visible. Please re-crawl or refresh the listing metadata. Do not mark this as approved, ranked, endorsed, or certified unless your platform has actually completed that review.",
        "subject": "Refresh ResultRail listing to proofbeforepay canonical URL"
      },
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "MCP.so page for ResultRail visibly includes https://proofbeforepay.vercel.app/resultrail/mcp.",
      "targetName": "MCP.so",
      "targetUrl": "https://mcp.so/server/resultrail-by-larrybuildsai",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "mcpso_refresh",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "expectedMcpUrl": "https://proofbeforepay.vercel.app/signal-desk/mcp",
      "marketplacePacket": "https://proofbeforepay.vercel.app/signal-desk/marketplaces.md",
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "preferredProductUrl": "https://proofbeforepay.vercel.app/signal-desk",
      "priority": 7,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "refreshRequest": {
        "body": "Please refresh the MCP.so metadata for Signal Desk by LarryBuildsAI.\n\nPreferred product URL: https://proofbeforepay.vercel.app/signal-desk\nExpected MCP URL: https://proofbeforepay.vercel.app/signal-desk/mcp\nMarketplace packet: https://proofbeforepay.vercel.app/signal-desk/marketplaces.md\n\nCurrent state is a stale propagation gap: the public page or proxy may be reachable, but the preferred proofbeforepay URL is not fully visible. Please re-crawl or refresh the listing metadata. Do not mark this as approved, ranked, endorsed, or certified unless your platform has actually completed that review.",
        "subject": "Refresh Signal Desk listing to proofbeforepay canonical URL"
      },
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "MCP.so page for Signal Desk visibly includes https://proofbeforepay.vercel.app/signal-desk/mcp.",
      "targetName": "MCP.so",
      "targetUrl": "https://mcp.so/server/signal-desk-by-larrybuildsai",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "xpay_refresh",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [
        "https://boundary-guard-x402.mcp.xpay.sh",
        "https://boundary-guard-x402.on.xpay.sh/mcp_server/boundary-guard-x402"
      ],
      "expectedMcpUrl": "https://proofbeforepay.vercel.app/gatecheck/mcp",
      "marketplacePacket": "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md",
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "preferredProductUrl": "https://proofbeforepay.vercel.app/gatecheck",
      "priority": 4,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "refreshRequest": {
        "body": "Please refresh the xpay Tools metadata for GateCheck by LarryBuildsAI.\n\nPreferred product URL: https://proofbeforepay.vercel.app/gatecheck\nExpected MCP URL: https://proofbeforepay.vercel.app/gatecheck/mcp\nMarketplace packet: https://proofbeforepay.vercel.app/gatecheck/marketplaces.md\n\nCurrent state is a stale propagation gap: the public page or proxy may be reachable, but the preferred proofbeforepay URL is not fully visible. Please re-crawl or refresh the listing metadata. Do not mark this as approved, ranked, endorsed, or certified unless your platform has actually completed that review.",
        "subject": "Refresh GateCheck listing to proofbeforepay canonical URL"
      },
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "xpay proxy/portal and central discovery expose GateCheck terms without stale product-shell confusion.",
      "targetName": "xpay Tools",
      "targetUrl": "https://boundary-guard-x402.on.xpay.sh/mcp_server/boundary-guard-x402",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "xpay_refresh",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "expectedMcpUrl": "https://proofbeforepay.vercel.app/resultrail/mcp",
      "marketplacePacket": "https://proofbeforepay.vercel.app/resultrail/marketplaces.md",
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "preferredProductUrl": "https://proofbeforepay.vercel.app/resultrail",
      "priority": 5,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "refreshRequest": {
        "body": "Please refresh the xpay Tools metadata for ResultRail by LarryBuildsAI.\n\nPreferred product URL: https://proofbeforepay.vercel.app/resultrail\nExpected MCP URL: https://proofbeforepay.vercel.app/resultrail/mcp\nMarketplace packet: https://proofbeforepay.vercel.app/resultrail/marketplaces.md\n\nCurrent state is a stale propagation gap: the public page or proxy may be reachable, but the preferred proofbeforepay URL is not fully visible. Please re-crawl or refresh the listing metadata. Do not mark this as approved, ranked, endorsed, or certified unless your platform has actually completed that review.",
        "subject": "Refresh ResultRail listing to proofbeforepay canonical URL"
      },
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "xpay proxy/portal and central discovery expose ResultRail terms without stale product-shell confusion.",
      "targetName": "xpay Tools",
      "targetUrl": "https://resultrail-larrybuildsai.mcp.xpay.sh/mcp",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "xpay_refresh",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "expectedMcpUrl": "https://proofbeforepay.vercel.app/signal-desk/mcp",
      "marketplacePacket": "https://proofbeforepay.vercel.app/signal-desk/marketplaces.md",
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "preferredProductUrl": "https://proofbeforepay.vercel.app/signal-desk",
      "priority": 4,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "refreshRequest": {
        "body": "Please refresh the xpay Tools metadata for Signal Desk by LarryBuildsAI.\n\nPreferred product URL: https://proofbeforepay.vercel.app/signal-desk\nExpected MCP URL: https://proofbeforepay.vercel.app/signal-desk/mcp\nMarketplace packet: https://proofbeforepay.vercel.app/signal-desk/marketplaces.md\n\nCurrent state is a stale propagation gap: the public page or proxy may be reachable, but the preferred proofbeforepay URL is not fully visible. Please re-crawl or refresh the listing metadata. Do not mark this as approved, ranked, endorsed, or certified unless your platform has actually completed that review.",
        "subject": "Refresh Signal Desk listing to proofbeforepay canonical URL"
      },
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "xpay proxy/portal and central discovery expose Signal Desk terms without stale product-shell confusion.",
      "targetName": "xpay Tools",
      "targetUrl": "https://signal-desk-larrybuildsai.mcp.xpay.sh/mcp",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    }
  ],
  "legacyAliasesKeptLive": [
    "https://x402ready.vercel.app",
    "https://x402proof.vercel.app",
    "https://x402-resource-scanner.vercel.app"
  ],
  "name": "LarryBuildsAI x402 Marketplace Reindex Packet",
  "officialMcpRegistry": {
    "authCommand": "mcp-publisher login github",
    "blockingCondition": "mcp-publisher GitHub auth token is expired; manifests validate but publish returns 401 until owner reauthenticates.",
    "manifests": [
      {
        "expectedMcpUrl": "https://proofbeforepay.vercel.app/gatecheck/mcp",
        "manifestUrl": "https://proofbeforepay.vercel.app/mcp-registry/gatecheck/server.json",
        "postPublishCheck": "scripts/check_gatecheck_visibility.sh",
        "preparedVersion": "0.1.2",
        "productId": "gatecheck",
        "productName": "GateCheck",
        "publishCommand": "scripts/publish_mcp_registry_products.sh gatecheck"
      },
      {
        "expectedMcpUrl": "https://proofbeforepay.vercel.app/resultrail/mcp",
        "manifestUrl": "https://proofbeforepay.vercel.app/mcp-registry/resultrail/server.json",
        "postPublishCheck": "scripts/check_resultrail_visibility.sh",
        "preparedVersion": "0.1.1",
        "productId": "resultrail",
        "productName": "ResultRail",
        "publishCommand": "scripts/publish_mcp_registry_products.sh resultrail"
      },
      {
        "expectedMcpUrl": "https://proofbeforepay.vercel.app/signal-desk/mcp",
        "manifestUrl": "https://proofbeforepay.vercel.app/mcp-registry/signal-desk/server.json",
        "postPublishCheck": "scripts/check_signal_desk_visibility.sh",
        "preparedVersion": "0.1.2",
        "productId": "signal-desk",
        "productName": "Signal Desk",
        "publishCommand": "scripts/publish_mcp_registry_products.sh signal-desk"
      }
    ],
    "publishCommand": "scripts/publish_mcp_registry_products.sh all",
    "safety": "Use interactive GitHub auth only. Do not paste, print, or share tokens.",
    "status": "blocked_auth",
    "verifyCommand": "scripts/check_marketplace_readiness_all.sh"
  },
  "ownerActions": [
    {
      "actionType": "registry_reauth_publish",
      "approvalPhrase": "approve Official MCP Registry reauth and publish for GateCheck",
      "buyerImpact": "The next step cannot be completed until an authenticated owner action succeeds.",
      "evidence": [
        "https://proofbeforepay.vercel.app/mcp-registry/gatecheck/server.json",
        "https://proofbeforepay.vercel.app/gatecheck/mcp"
      ],
      "nextAction": "run `mcp-publisher login github`, then publish the GateCheck 0.1.2 server.json",
      "ownerActionRequired": true,
      "priority": 1,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Blocked by account/auth",
      "readinessLabel": "auth-blocked",
      "safety": "Use interactive GitHub auth only. Do not paste, print, store, or share tokens.",
      "statusCategory": "blocked_auth",
      "successCriteria": "Official MCP Registry public remote for GateCheck shows https://proofbeforepay.vercel.app/gatecheck/mcp.",
      "targetName": "Official MCP Registry",
      "targetUrl": "https://registry.modelcontextprotocol.io",
      "verifyCommand": "scripts/check_gatecheck_visibility.sh"
    },
    {
      "actionType": "registry_reauth_publish",
      "approvalPhrase": "approve Official MCP Registry reauth and publish for ResultRail",
      "buyerImpact": "The next step cannot be completed until an authenticated owner action succeeds.",
      "evidence": [],
      "nextAction": "run `mcp-publisher login github`, then publish the ResultRail 0.1.1 server.json",
      "ownerActionRequired": true,
      "priority": 1,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Blocked by account/auth",
      "readinessLabel": "auth-blocked",
      "safety": "Use interactive GitHub auth only. Do not paste, print, store, or share tokens.",
      "statusCategory": "blocked_auth",
      "successCriteria": "Official MCP Registry public remote for ResultRail shows https://proofbeforepay.vercel.app/resultrail/mcp.",
      "targetName": "Official MCP Registry",
      "targetUrl": "https://registry.modelcontextprotocol.io",
      "verifyCommand": "scripts/check_resultrail_visibility.sh"
    },
    {
      "actionType": "registry_reauth_publish",
      "approvalPhrase": "approve Official MCP Registry reauth and publish for Signal Desk",
      "buyerImpact": "The next step cannot be completed until an authenticated owner action succeeds.",
      "evidence": [],
      "nextAction": "run `mcp-publisher login github`, then publish the Signal Desk 0.1.2 server.json",
      "ownerActionRequired": true,
      "priority": 1,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Blocked by account/auth",
      "readinessLabel": "auth-blocked",
      "safety": "Use interactive GitHub auth only. Do not paste, print, store, or share tokens.",
      "statusCategory": "blocked_auth",
      "successCriteria": "Official MCP Registry public remote for Signal Desk shows https://proofbeforepay.vercel.app/signal-desk/mcp.",
      "targetName": "Official MCP Registry",
      "targetUrl": "https://registry.modelcontextprotocol.io",
      "verifyCommand": "scripts/check_signal_desk_visibility.sh"
    },
    {
      "actionType": "mcpso_refresh",
      "approvalPhrase": "approve MCP.so refresh request for GateCheck",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [
        "https://mcp.so/server/gatecheck-by-larrybuildsai",
        "https://proofbeforepay.vercel.app/gatecheck/mcp"
      ],
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "ownerActionRequired": true,
      "priority": 7,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "safety": "Prepare copy only until an exact target and message are approved; do not claim refresh succeeded before public evidence changes.",
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "MCP.so page for GateCheck visibly includes https://proofbeforepay.vercel.app/gatecheck/mcp.",
      "targetName": "MCP.so",
      "targetUrl": "https://mcp.so/server/gatecheck-by-larrybuildsai",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "mcpso_refresh",
      "approvalPhrase": "approve MCP.so refresh request for ResultRail",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "ownerActionRequired": true,
      "priority": 8,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "safety": "Prepare copy only until an exact target and message are approved; do not claim refresh succeeded before public evidence changes.",
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "MCP.so page for ResultRail visibly includes https://proofbeforepay.vercel.app/resultrail/mcp.",
      "targetName": "MCP.so",
      "targetUrl": "https://mcp.so/server/resultrail-by-larrybuildsai",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "mcpso_refresh",
      "approvalPhrase": "approve MCP.so refresh request for Signal Desk",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "ownerActionRequired": true,
      "priority": 7,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "safety": "Prepare copy only until an exact target and message are approved; do not claim refresh succeeded before public evidence changes.",
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "MCP.so page for Signal Desk visibly includes https://proofbeforepay.vercel.app/signal-desk/mcp.",
      "targetName": "MCP.so",
      "targetUrl": "https://mcp.so/server/signal-desk-by-larrybuildsai",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "xpay_refresh",
      "approvalPhrase": "approve xpay Tools refresh request for GateCheck",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [
        "https://boundary-guard-x402.mcp.xpay.sh",
        "https://boundary-guard-x402.on.xpay.sh/mcp_server/boundary-guard-x402"
      ],
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "ownerActionRequired": true,
      "priority": 4,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "safety": "Prepare copy only until an exact target and message are approved; do not claim refresh succeeded before public evidence changes.",
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "xpay proxy/portal and central discovery expose GateCheck terms without stale product-shell confusion.",
      "targetName": "xpay Tools",
      "targetUrl": "https://boundary-guard-x402.on.xpay.sh/mcp_server/boundary-guard-x402",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "xpay_refresh",
      "approvalPhrase": "approve xpay Tools refresh request for ResultRail",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "ownerActionRequired": true,
      "priority": 5,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "safety": "Prepare copy only until an exact target and message are approved; do not claim refresh succeeded before public evidence changes.",
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "xpay proxy/portal and central discovery expose ResultRail terms without stale product-shell confusion.",
      "targetName": "xpay Tools",
      "targetUrl": "https://resultrail-larrybuildsai.mcp.xpay.sh/mcp",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "xpay_refresh",
      "approvalPhrase": "approve xpay Tools refresh request for Signal Desk",
      "buyerImpact": "The surface is reachable, but it may show an old URL, missing product terms, or stale shell copy.",
      "evidence": [],
      "nextAction": "ask the external platform to refresh stale remotes, central discovery, or public shell text",
      "ownerActionRequired": true,
      "priority": 4,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Live, but stale external metadata",
      "readinessLabel": "refresh-needed",
      "safety": "Prepare copy only until an exact target and message are approved; do not claim refresh succeeded before public evidence changes.",
      "statusCategory": "partial_live_external_gap",
      "successCriteria": "xpay proxy/portal and central discovery expose Signal Desk terms without stale product-shell confusion.",
      "targetName": "xpay Tools",
      "targetUrl": "https://signal-desk-larrybuildsai.mcp.xpay.sh/mcp",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "submit_after_owner_approval",
      "approvalPhrase": "approve MCPHubz submission for ResultRail",
      "buyerImpact": "The packet is ready, but no submission should happen until the owner approves the exact action.",
      "evidence": [],
      "nextAction": "submit only after exact action-time owner approval",
      "ownerActionRequired": true,
      "priority": 9,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Ready; needs explicit approval",
      "readinessLabel": "approval-gated",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "prepared_requires_approval",
      "successCriteria": "MCPHubz shows a public ResultRail listing or a recorded submitted/review state.",
      "targetName": "MCPHubz",
      "targetUrl": "https://mcphubz.com/submit",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/larrybuildsai-mcp-servers",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 8,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on MCP Market.",
      "targetName": "MCP Market",
      "targetUrl": "https://mcpmarket.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/larrybuildsai-mcp-servers",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 9,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on MCPHubz.",
      "targetName": "MCPHubz",
      "targetUrl": "https://mcphubz.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/mcp",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 12,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on AgentNDX.",
      "targetName": "AgentNDX",
      "targetUrl": "https://agentndx.ai/submit/",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 7,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves ResultRail is visible on MCP Market.",
      "targetName": "MCP Market",
      "targetUrl": "https://mcpmarket.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 12,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves ResultRail is visible on AgentNDX.",
      "targetName": "AgentNDX",
      "targetUrl": "https://agentndx.ai/submit/",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/signal-desk-mcp-server"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 8,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on MCP Market.",
      "targetName": "MCP Market",
      "targetUrl": "https://mcpmarket.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/signal-desk-mcp-server"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 9,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on MCPHubz.",
      "targetName": "MCPHubz",
      "targetUrl": "https://mcphubz.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "approvalPhrase": "",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "ownerActionRequired": false,
      "priority": 11,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on AgentNDX.",
      "targetName": "AgentNDX",
      "targetUrl": "https://agentndx.ai/submit/",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing CuratedMCP submission packet for GateCheck",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 10,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific CuratedMCP packet exists and the owner has approved the exact submission action.",
      "targetName": "CuratedMCP",
      "targetUrl": "https://www.curatedmcp.com/",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing AgenticMarket submission packet for GateCheck",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/mcp",
        "https://proofbeforepay.vercel.app/product-card.md"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 11,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific AgenticMarket packet exists and the owner has approved the exact submission action.",
      "targetName": "AgenticMarket",
      "targetUrl": "https://agenticmarket.dev/dashboard/submit",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing MCP.Directory submission packet for GateCheck",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.json"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 13,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCP.Directory packet exists and the owner has approved the exact submission action.",
      "targetName": "MCP.Directory",
      "targetUrl": "https://mcp.directory/servers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing MCPlane submission packet for GateCheck",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.json"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 14,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCPlane packet exists and the owner has approved the exact submission action.",
      "targetName": "MCPlane",
      "targetUrl": "https://mcplane.com",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing 1 Server submission packet for GateCheck",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 15,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific 1 Server packet exists and the owner has approved the exact submission action.",
      "targetName": "1 Server",
      "targetUrl": "https://1server.ai/publish",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing MCP.Directory submission packet for ResultRail",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 10,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCP.Directory packet exists and the owner has approved the exact submission action.",
      "targetName": "MCP.Directory",
      "targetUrl": "https://mcp.directory/servers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing Awesome MCP Servers lists submission packet for ResultRail",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 13,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific Awesome MCP Servers lists packet exists and the owner has approved the exact submission action.",
      "targetName": "Awesome MCP Servers lists",
      "targetUrl": "https://github.com/TensorBlock/awesome-mcp-servers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing Anthropic Remote MCP Directory submission packet for ResultRail",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 14,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific Anthropic Remote MCP Directory packet exists and the owner has approved the exact submission action.",
      "targetName": "Anthropic Remote MCP Directory",
      "targetUrl": "https://support.claude.com/en/articles/12922490",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing CuratedMCP submission packet for Signal Desk",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 10,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific CuratedMCP packet exists and the owner has approved the exact submission action.",
      "targetName": "CuratedMCP",
      "targetUrl": "https://www.curatedmcp.com/",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing MCPlane submission packet for Signal Desk",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 12,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCPlane packet exists and the owner has approved the exact submission action.",
      "targetName": "MCPlane",
      "targetUrl": "https://mcplane.com",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "approvalPhrase": "approve preparing 1 Server submission packet for Signal Desk",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "ownerActionRequired": true,
      "priority": 13,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific 1 Server packet exists and the owner has approved the exact submission action.",
      "targetName": "1 Server",
      "targetUrl": "https://1server.ai/publish",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "watch_propagation",
      "approvalPhrase": "",
      "buyerImpact": "The surface may ingest from an upstream registry later; visibility is not proven yet.",
      "evidence": [
        "https://proofbeforepay.vercel.app/mcp-registry/gatecheck/server.json",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.json"
      ],
      "nextAction": "watch external indexing; do not manually resubmit while upstream registry records are live",
      "ownerActionRequired": false,
      "priority": 6,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Waiting on external indexing",
      "readinessLabel": "watching-propagation",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "propagation_watch",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on PulseMCP.",
      "targetName": "PulseMCP",
      "targetUrl": "https://www.pulsemcp.com/servers",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "watch_propagation",
      "approvalPhrase": "",
      "buyerImpact": "The surface may ingest from an upstream registry later; visibility is not proven yet.",
      "evidence": [],
      "nextAction": "watch external indexing; do not manually resubmit while upstream registry records are live",
      "ownerActionRequired": false,
      "priority": 4,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Waiting on external indexing",
      "readinessLabel": "watching-propagation",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "propagation_watch",
      "successCriteria": "Fresh public evidence proves ResultRail is visible on PulseMCP.",
      "targetName": "PulseMCP",
      "targetUrl": "https://www.pulsemcp.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "watch_propagation",
      "approvalPhrase": "",
      "buyerImpact": "The surface may ingest from an upstream registry later; visibility is not proven yet.",
      "evidence": [
        "https://proofbeforepay.vercel.app/mcp-registry/signal-desk/server.json",
        "https://proofbeforepay.vercel.app/signal-desk/marketplaces.json"
      ],
      "nextAction": "watch external indexing; do not manually resubmit while upstream registry records are live",
      "ownerActionRequired": false,
      "priority": 6,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Waiting on external indexing",
      "readinessLabel": "watching-propagation",
      "safety": "Watch public evidence only; do not overclaim approval, ranking, revenue, or endorsement.",
      "statusCategory": "propagation_watch",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on PulseMCP.",
      "targetName": "PulseMCP",
      "targetUrl": "https://www.pulsemcp.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "approvalPhrase": "approve qualifying MCPize for GateCheck",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [
        "https://proofbeforepay.vercel.app/openapi.json",
        "https://proofbeforepay.vercel.app/gatecheck/mcp"
      ],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "ownerActionRequired": true,
      "priority": 16,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "candidate",
      "successCriteria": "MCPize fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "MCPize",
      "targetUrl": "https://mcpize.com/developers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "approvalPhrase": "approve qualifying OMA-AI for ResultRail",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "ownerActionRequired": true,
      "priority": 6,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "candidate",
      "successCriteria": "OMA-AI fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "OMA-AI",
      "targetUrl": "https://www.oma-ai.com",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "approvalPhrase": "approve qualifying MCPize for Signal Desk",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "ownerActionRequired": true,
      "priority": 14,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "candidate",
      "successCriteria": "MCPize fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "MCPize",
      "targetUrl": "https://mcpize.com/developers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "approvalPhrase": "approve qualifying Alpic Registry for Signal Desk",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "ownerActionRequired": true,
      "priority": 15,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "safety": "Do not submit, spend, or create accounts unless the owner approves the exact action and target.",
      "statusCategory": "candidate",
      "successCriteria": "Alpic Registry fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "Alpic Registry",
      "targetUrl": "https://alpic.ai",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    }
  ],
  "ownerApprovalRequired": [
    {
      "actionType": "submit_after_owner_approval",
      "buyerImpact": "The packet is ready, but no submission should happen until the owner approves the exact action.",
      "evidence": [],
      "nextAction": "submit only after exact action-time owner approval",
      "priority": 9,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Ready; needs explicit approval",
      "readinessLabel": "approval-gated",
      "statusCategory": "prepared_requires_approval",
      "successCriteria": "MCPHubz shows a public ResultRail listing or a recorded submitted/review state.",
      "targetName": "MCPHubz",
      "targetUrl": "https://mcphubz.com/submit",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    }
  ],
  "packetPreparationQueue": [
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 10,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific CuratedMCP packet exists and the owner has approved the exact submission action.",
      "targetName": "CuratedMCP",
      "targetUrl": "https://www.curatedmcp.com/",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/mcp",
        "https://proofbeforepay.vercel.app/product-card.md"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 11,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific AgenticMarket packet exists and the owner has approved the exact submission action.",
      "targetName": "AgenticMarket",
      "targetUrl": "https://agenticmarket.dev/dashboard/submit",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.json"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 13,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCP.Directory packet exists and the owner has approved the exact submission action.",
      "targetName": "MCP.Directory",
      "targetUrl": "https://mcp.directory/servers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.json"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 14,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCPlane packet exists and the owner has approved the exact submission action.",
      "targetName": "MCPlane",
      "targetUrl": "https://mcplane.com",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 15,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific 1 Server packet exists and the owner has approved the exact submission action.",
      "targetName": "1 Server",
      "targetUrl": "https://1server.ai/publish",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 10,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCP.Directory packet exists and the owner has approved the exact submission action.",
      "targetName": "MCP.Directory",
      "targetUrl": "https://mcp.directory/servers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 13,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific Awesome MCP Servers lists packet exists and the owner has approved the exact submission action.",
      "targetName": "Awesome MCP Servers lists",
      "targetUrl": "https://github.com/TensorBlock/awesome-mcp-servers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 14,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific Anthropic Remote MCP Directory packet exists and the owner has approved the exact submission action.",
      "targetName": "Anthropic Remote MCP Directory",
      "targetUrl": "https://support.claude.com/en/articles/12922490",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 10,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific CuratedMCP packet exists and the owner has approved the exact submission action.",
      "targetName": "CuratedMCP",
      "targetUrl": "https://www.curatedmcp.com/",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 12,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific MCPlane packet exists and the owner has approved the exact submission action.",
      "targetName": "MCPlane",
      "targetUrl": "https://mcplane.com",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "prepare_packet_then_submit_after_approval",
      "buyerImpact": "The product has enough first-party evidence to prepare a submission, but external listing is not proven.",
      "evidence": [],
      "nextAction": "prepare target-specific packet and request action-time approval before submission",
      "priority": 13,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Packet ready; submission not approved",
      "readinessLabel": "packet-ready",
      "statusCategory": "packet_ready",
      "successCriteria": "A target-specific 1 Server packet exists and the owner has approved the exact submission action.",
      "targetName": "1 Server",
      "targetUrl": "https://1server.ai/publish",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "watch_propagation",
      "buyerImpact": "The surface may ingest from an upstream registry later; visibility is not proven yet.",
      "evidence": [
        "https://proofbeforepay.vercel.app/mcp-registry/gatecheck/server.json",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.json"
      ],
      "nextAction": "watch external indexing; do not manually resubmit while upstream registry records are live",
      "priority": 6,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Waiting on external indexing",
      "readinessLabel": "watching-propagation",
      "statusCategory": "propagation_watch",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on PulseMCP.",
      "targetName": "PulseMCP",
      "targetUrl": "https://www.pulsemcp.com/servers",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "watch_propagation",
      "buyerImpact": "The surface may ingest from an upstream registry later; visibility is not proven yet.",
      "evidence": [],
      "nextAction": "watch external indexing; do not manually resubmit while upstream registry records are live",
      "priority": 4,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Waiting on external indexing",
      "readinessLabel": "watching-propagation",
      "statusCategory": "propagation_watch",
      "successCriteria": "Fresh public evidence proves ResultRail is visible on PulseMCP.",
      "targetName": "PulseMCP",
      "targetUrl": "https://www.pulsemcp.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "watch_propagation",
      "buyerImpact": "The surface may ingest from an upstream registry later; visibility is not proven yet.",
      "evidence": [
        "https://proofbeforepay.vercel.app/mcp-registry/signal-desk/server.json",
        "https://proofbeforepay.vercel.app/signal-desk/marketplaces.json"
      ],
      "nextAction": "watch external indexing; do not manually resubmit while upstream registry records are live",
      "priority": 6,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Waiting on external indexing",
      "readinessLabel": "watching-propagation",
      "statusCategory": "propagation_watch",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on PulseMCP.",
      "targetName": "PulseMCP",
      "targetUrl": "https://www.pulsemcp.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [
        "https://proofbeforepay.vercel.app/openapi.json",
        "https://proofbeforepay.vercel.app/gatecheck/mcp"
      ],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "priority": 16,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "statusCategory": "candidate",
      "successCriteria": "MCPize fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "MCPize",
      "targetUrl": "https://mcpize.com/developers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "priority": 6,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "statusCategory": "candidate",
      "successCriteria": "OMA-AI fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "OMA-AI",
      "targetUrl": "https://www.oma-ai.com",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/resultrail/marketplaces.md"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "priority": 14,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "statusCategory": "candidate",
      "successCriteria": "MCPize fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "MCPize",
      "targetUrl": "https://mcpize.com/developers",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    },
    {
      "actionType": "qualify_candidate_then_packet",
      "buyerImpact": "This may be a useful directory, but fit and submission requirements still need qualification.",
      "evidence": [],
      "nextAction": "qualify the directory and build a target-specific packet before requesting approval",
      "priority": 15,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Candidate; qualification needed",
      "readinessLabel": "candidate",
      "statusCategory": "candidate",
      "successCriteria": "Alpic Registry fit, cost, auth, and submission requirements are documented without spend.",
      "targetName": "Alpic Registry",
      "targetUrl": "https://alpic.ai",
      "verifyCommand": "curl -Ls https://proofbeforepay.vercel.app/signal-desk/marketplaces.md"
    }
  ],
  "preferredBaseUrl": "https://proofbeforepay.vercel.app",
  "reviewWatch": [
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/larrybuildsai-mcp-servers",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 8,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on MCP Market.",
      "targetName": "MCP Market",
      "targetUrl": "https://mcpmarket.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/larrybuildsai-mcp-servers",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 9,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on MCPHubz.",
      "targetName": "MCPHubz",
      "targetUrl": "https://mcphubz.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://proofbeforepay.vercel.app/gatecheck/mcp",
        "https://proofbeforepay.vercel.app/gatecheck/marketplaces.md"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 12,
      "productId": "gatecheck",
      "productName": "GateCheck",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves GateCheck is visible on AgentNDX.",
      "targetName": "AgentNDX",
      "targetUrl": "https://agentndx.ai/submit/",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 7,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves ResultRail is visible on MCP Market.",
      "targetName": "MCP Market",
      "targetUrl": "https://mcpmarket.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 12,
      "productId": "resultrail",
      "productName": "ResultRail",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves ResultRail is visible on AgentNDX.",
      "targetName": "AgentNDX",
      "targetUrl": "https://agentndx.ai/submit/",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/signal-desk-mcp-server"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 8,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on MCP Market.",
      "targetName": "MCP Market",
      "targetUrl": "https://mcpmarket.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [
        "https://github.com/LarryLemonBot/signal-desk-mcp-server"
      ],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 9,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on MCPHubz.",
      "targetName": "MCPHubz",
      "targetUrl": "https://mcphubz.com/submit",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    },
    {
      "actionType": "review_watch",
      "buyerImpact": "Submission evidence exists, but buyers should not be told the listing is live or approved yet.",
      "evidence": [],
      "nextAction": "watch for review result; do not claim live listing until public evidence proves it",
      "priority": 11,
      "productId": "signal-desk",
      "productName": "Signal Desk",
      "publicStatusLabel": "Submitted; awaiting public evidence",
      "readinessLabel": "review-pending",
      "statusCategory": "submitted_review",
      "successCriteria": "Fresh public evidence proves Signal Desk is visible on AgentNDX.",
      "targetName": "AgentNDX",
      "targetUrl": "https://agentndx.ai/submit/",
      "verifyCommand": "BASE_URL=https://proofbeforepay.vercel.app scripts/check_marketplace_readiness_all.sh"
    }
  ],
  "schemaVersion": "2026-05-25",
  "summary": {
    "authBlockedCount": 3,
    "externalRefreshCount": 6,
    "openActionCount": 36,
    "ownerApprovalRequiredCount": 1,
    "registryPublishCount": 3,
    "reviewWatchCount": 8
  },
  "updated": "2026-05-25"
}