{
  "tool_id": "art-150-mcp-tool-scope-revocation-auditor",
  "note": "golden_hash empty until first `node golden-parity.test.mjs --update`.",
  "vectors": [
    {
      "name": "healthy-scoped-grants",
      "policy_parameters": {
        "tool_grants": [
          {
            "tool": "search_files",
            "scopes": [
              "files:read"
            ]
          },
          {
            "tool": "write_file",
            "scopes": [
              "files:write"
            ]
          }
        ],
        "revocation_endpoint": "https://auth.example.com/revoke",
        "token_created_unix": 1000000,
        "now_unix": 1001000,
        "max_token_age_s": 3600,
        "next_token_present": false
      },
      "output_payload": {
        "audit_pass": true,
        "scopes_ok": true,
        "revocable": true,
        "rotation_ok": true,
        "ungated_tools": [],
        "token_age_s": 1000
      },
      "golden_hash": "c7374242fac29c3688f0591243c2349931c53d69403c8c48cac3eefeba2784d5"
    },
    {
      "name": "ungated-tool-no-revocation",
      "policy_parameters": {
        "tool_grants": [
          {
            "tool": "execute_code",
            "scopes": []
          },
          {
            "tool": "search_files",
            "scopes": [
              "files:read"
            ]
          }
        ],
        "revocation_endpoint": "not-a-url",
        "token_created_unix": 1000000,
        "now_unix": 1001000,
        "max_token_age_s": 3600
      },
      "output_payload": {
        "audit_pass": false,
        "scopes_ok": false,
        "revocable": false,
        "rotation_ok": true,
        "ungated_tools": [
          "execute_code"
        ],
        "token_age_s": 1000
      },
      "golden_hash": "32fe016f609c2c1693bb893da470f834bf940f66c2c02a8b5336a4ca3a527c17"
    },
    {
      "name": "token-rotation-overdue",
      "policy_parameters": {
        "tool_grants": [
          {
            "tool": "search_files",
            "scopes": [
              "files:read"
            ]
          }
        ],
        "revocation_endpoint": "https://auth.example.com/revoke",
        "token_created_unix": 1000000,
        "now_unix": 1005000,
        "max_token_age_s": 3600,
        "next_token_present": false
      },
      "output_payload": {
        "audit_pass": false,
        "scopes_ok": true,
        "revocable": true,
        "rotation_ok": false,
        "ungated_tools": [],
        "token_age_s": 5000
      },
      "golden_hash": "b1e256829321067e1197f74f6da8e12daa10a2acd896d80bd26f5d46050452a6"
    }
  ]
}
