{
  "adapter": "semgrep",
  "case_id": "dfb-taint-ruby-reflective-invocation-positive",
  "engine_profile": "semgrep-ce-oss-intrafile-intraprocedural-taint",
  "evidence_kind": "retained-capability-decision",
  "expected_analysis_capability": {
    "kind": "reflective-dispatch-taint"
  },
  "feature_tags": [
    "reflective-dispatch"
  ],
  "language": "ruby",
  "language_maturity": "ga",
  "language_maturity_source": "semgrep_interfaces/lang.json (pinned distribution)",
  "reason": "outside the bounded Semgrep CE profile: the case resolves a callee from a run-time string and the sink is reached inside that callee's body; CE has no interprocedural taint at all (`--pro-intrafile`, \"Intra-file inter-procedural taint analysis ... Requires Semgrep Pro Engine\"), and the pinned CE documentation nowhere claims to resolve a reflective handle. The case requires \"reflective-dispatch-taint\"; the scored CE profile is the kernel's `intraprocedural` partition only.",
  "stage": "declared-capability",
  "state": "unsupported"
}
