cuke-dedup 0.14.0

Static analysis for duplicate and reusable Cucumber step definitions
Documentation
{
  "schemaVersion": 1,
  "groupOracles": {
    "parameter-types-regex": {
      "role": "positive",
      "origin": "synthetic",
      "language": "ruby",
      "frameworks": ["cucumber-ruby"],
      "verdict": "reviewed",
      "classifiedAt": "2026-10-20",
      "axes": ["parameter-types"],
      "path": "parameter-types/regex",
      "definitions": 2,
      "featureSteps": 1,
      "complete": true,
      "expectedExit": 1,
      "requiredFindings": [
        {
          "rule": "duplicate-matcher",
          "primaryPath": "steps.rb",
          "primaryLine": 1
        },
        {
          "rule": "ambiguous-step",
          "primaryPath": "steps.feature",
          "primaryLine": 3
        }
      ],
      "requiredAbsent": [
        {
          "rule": "unused-definition"
        },
        {
          "rule": "duplicate-handler"
        }
      ]
    },
    "parameter-types-array": {
      "role": "positive",
      "origin": "synthetic",
      "language": "ruby",
      "frameworks": ["cucumber-ruby"],
      "verdict": "reviewed",
      "classifiedAt": "2026-10-20",
      "axes": ["parameter-types"],
      "path": "parameter-types/array",
      "definitions": 2,
      "featureSteps": 1,
      "complete": true,
      "expectedExit": 1,
      "requiredFindings": [
        {
          "rule": "duplicate-matcher",
          "primaryPath": "steps.rb",
          "primaryLine": 1
        },
        {
          "rule": "ambiguous-step",
          "primaryPath": "steps.feature",
          "primaryLine": 3
        }
      ],
      "requiredAbsent": [
        {
          "rule": "unused-definition"
        },
        {
          "rule": "duplicate-handler"
        }
      ]
    },
    "parameter-types-unresolved": {
      "role": "positive",
      "origin": "synthetic",
      "language": "ruby",
      "frameworks": ["cucumber-ruby"],
      "verdict": "reviewed",
      "classifiedAt": "2026-10-20",
      "axes": ["parameter-types"],
      "path": "parameter-types/unresolved",
      "definitions": 2,
      "featureSteps": 1,
      "complete": false,
      "expectedExit": 2,
      "requiredFindings": [
        {
          "rule": "duplicate-matcher",
          "primaryPath": "steps.rb",
          "primaryLine": 1
        }
      ],
      "requiredAbsent": [
        {
          "rule": "unused-definition"
        },
        {
          "rule": "duplicate-handler"
        },
        {
          "rule": "ambiguous-step"
        }
      ]
    },
    "parameter-types-collision": {
      "role": "positive",
      "origin": "synthetic",
      "language": "ruby",
      "frameworks": ["cucumber-ruby"],
      "verdict": "reviewed",
      "classifiedAt": "2026-10-20",
      "axes": ["parameter-types"],
      "path": "parameter-types/collision",
      "definitions": 2,
      "featureSteps": 1,
      "complete": false,
      "expectedExit": 2,
      "requiredFindings": [
        {
          "rule": "duplicate-matcher",
          "primaryPath": "steps.rb",
          "primaryLine": 1
        }
      ],
      "requiredAbsent": [
        {
          "rule": "unused-definition"
        },
        {
          "rule": "duplicate-handler"
        },
        {
          "rule": "ambiguous-step"
        }
      ]
    }
  },
  "mappings": []
}