{
  "generated": "2026-11-06T15:32:56.675Z",
  "tools": [
    "openlint",
    "spectral",
    "vacuum",
    "ibm",
    "insomnia",
    "redocly"
  ],
  "versions": {
    "openlint": "1.1.3",
    "spectral": "6.17.1",
    "vacuum": "0.39.2",
    "ibm": "1.38.8",
    "insomnia": "13.4.0",
    "redocly": "2.76.0"
  },
  "cases": [
    {
      "case": "functions/casing",
      "description": "casing kebab on path segments via @key",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "fail",
          "missing": [
            "path-lower @ paths./Users/{id}"
          ],
          "extra": []
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "functions/defined",
      "description": "defined reports a missing field",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "detected",
          "missing": [
            "op-tags @ paths./Users/{id}.get",
            "op-tags @ paths./pets.post"
          ],
          "extra": [
            "op-tags @ paths./Users/{id}.get.tags",
            "op-tags @ paths./pets.post.tags"
          ]
        }
      }
    },
    {
      "case": "functions/enumeration",
      "description": "enumeration reports values outside the set",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "detected",
          "missing": [
            "version-set @ info.version"
          ],
          "extra": [
            "version-set @ info"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "functions/falsy",
      "description": "falsy reports a truthy field",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "detected",
          "missing": [
            "no-summary @ paths./Users/{id}.get.summary",
            "no-summary @ paths./pets.get.summary"
          ],
          "extra": [
            "no-summary @ paths./Users/{id}.get",
            "no-summary @ paths./pets.get"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "functions/length",
      "description": "length max on a string",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "functions/pattern-match",
      "description": "pattern.match reports values that do not match",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "functions/pattern-notmatch",
      "description": "pattern.notMatch reports values that match",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "functions/schema",
      "description": "schema validates a value against JSON Schema",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "functions/truthy",
      "description": "truthy reports a falsy or missing field",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "detected",
          "missing": [
            "op-summary @ paths./pets.post"
          ],
          "extra": [
            "op-summary @ paths./pets.post.summary"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "detected",
          "missing": [
            "op-summary @ paths./pets.post"
          ],
          "extra": [
            "op-summary @ paths./pets.post.summary"
          ]
        }
      }
    },
    {
      "case": "functions/undefined",
      "description": "undefined reports a present field",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "detected",
          "missing": [
            "no-tags @ paths./pets.get.tags"
          ],
          "extra": [
            "no-tags @ paths./pets.get"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "given/filter-expression",
      "description": "JSONPath filter expression on a property (JSONPath Plus vs RFC 9535 differ here)",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "detected",
          "missing": [
            "get-needs-tags @ paths./Users/{id}.get"
          ],
          "extra": [
            "get-needs-tags @ paths./Users/{id}.get.tags"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "unsupported",
          "error": "no redocly.yaml"
        }
      }
    },
    {
      "case": "regex/lookbehind",
      "description": "regex dialect: lookbehind (ECMAScript supports it, Go RE2 does not)",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "fail",
          "missing": [],
          "extra": [
            "no-trailing-s @ paths./Users/{id}.get.operationId",
            "no-trailing-s @ paths./pets.post.operationId"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    },
    {
      "case": "ruleset/aliases",
      "description": "aliases resolve in given",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "detected",
          "missing": [
            "op-summary @ paths./pets.post"
          ],
          "extra": [
            "op-summary @ paths./pets.post.summary"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "error",
          "error": "\u001b[41m\u001b[30m FATAL \u001b[39m\u001b[49m Invalid Spectral ruleset: Ruleset contains unsupported top-level keys. Only \"rules\" and \"extends\" are allowed."
        },
        "redocly": {
          "status": "unsupported",
          "error": "no redocly.yaml"
        }
      }
    },
    {
      "case": "ruleset/severity-off",
      "description": "a rule with severity off produces no results",
      "results": {
        "openlint": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "spectral": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "vacuum": {
          "status": "fail",
          "missing": [],
          "extra": [
            "op-summary @ paths./pets.post.summary"
          ]
        },
        "ibm": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "insomnia": {
          "status": "exact",
          "missing": [],
          "extra": []
        },
        "redocly": {
          "status": "exact",
          "missing": [],
          "extra": []
        }
      }
    }
  ]
}