{
  "version": 1,
  "note": "These vectors pin canonical expression containment independently of the future capability protobuf encoding.",
  "cases": [
    {
      "name": "exact publish",
      "action": "publish",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/4f6f6c1c0c4d45ddb32459b2869c07ca",
      "allow": true
    },
    {
      "name": "contained query",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "allow": true
    },
    {
      "name": "sibling channel widening",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/*/**",
      "allow": false
    },
    {
      "name": "root wildcard widening",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/**",
      "allow": false
    },
    {
      "name": "publish wildcard",
      "action": "publish",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/*",
      "allow": false
    },
    {
      "name": "unknown selector parameter",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**?scope=all",
      "allow": false
    },
    {
      "name": "duplicate selector parameter",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**?_time=1;_time=2",
      "allow": false
    },
    {
      "name": "any key-expression selector",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**?_anyke",
      "allow": false
    },
    {
      "name": "noncanonical double recursive wildcard",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**/**",
      "allow": false
    },
    {
      "name": "noncanonical recursive then single wildcard",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**/*",
      "allow": false
    },
    {
      "name": "lone dollar wildcard chunk",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/$*",
      "allow": false
    },
    {
      "name": "reply outside request selector",
      "action": "reply",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/4f6f6c1c0c4d45ddb32459b2869c07ca",
      "reply_key": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "allow": false
    },
    {
      "name": "expired capability",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "capability_valid": false,
      "allow": false
    },
    {
      "name": "stolen capability without fresh subject proof",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "fresh_subject_proof": false,
      "allow": false
    },
    {
      "name": "revoked subject",
      "action": "query",
      "capability_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "requested_expression": "waypoint/global/chat/ec3641cbdf79de298783c5aca8558cf6/**",
      "subject_revoked": true,
      "allow": false
    }
  ]
}
