Skip to content

Remove the Semgrep environment override after research-repo-tools v0.2.5 adoption #317

Closed

Description

@acgetchell

Summary

Remove the temporary Semgrep scanner-selection override once the fix in acgetchell/research-repo-tools#165 is published in v0.2.5 and adopted here.

Current State

la-stack is adopting published research-repo-tools v0.2.4 for its updater fixes and shared parallel Criterion suite commands. That release hard-codes a separate Python 3.14/Semgrep 1.182.0 environment for fixture checks. The maintainer requires both production and fixture checks to use the standard root locked Python 3.15 development environment (currently Semgrep 1.182.1).

tooling/shared_tooling.py temporarily overrides scanner selection for fixture checks and local/CI setup while continuing to use the shared fixture checker and all of its finding/error checks. This allows la-stack v0.5.2 to proceed without an additional upstream release.

Proposed Changes

  • Adopt the published v0.2.5 package containing Run Semgrep on the shared Python baseline used by all consumers research-repo-tools#165; synchronize the dependency pin and lockfile normally.
  • Restore just semgrep-test to the shared research-repo-tools semgrep check-fixtures CLI; restore direct shared setup in just setup, just setup-tools, the setup composite action, and contributor bootstrap instructions.
  • Delete the temporary adapter and its override-specific tests/documentation.
  • Retain consumer coverage proving production and fixture scans use the same locked Python 3.15 environment and scanner, including failure propagation.
  • Run Python checks, fixture checks, the production scan, and affected tooling/recipe checks.

Benefits

Return scanner selection to the shared package and remove the temporary compatibility code while following the common Python baseline owned by research-repo-tools. Semgrep must use that same environment.

Implementation Notes

Depends on: acgetchell/research-repo-tools#165 for implementation and research-repo-tools #170 for verified publication and normal resolution of the supplying v0.2.5 distribution. #165 may close after verified implementation merge; #170 remains the native publication blocker until the package is available. Related: #304, #308, #316, #311. This cleanup is follow-up work and does not block la-stack v0.5.2. Leave this issue open until the published fix is adopted, the override is deleted, and the checks pass through the regular review/closure process.

Override implementation

tooling/shared_tooling.py now supplies the temporary selection override for semgrep-test, setup, setup-tools, the CI setup composite, and contributor bootstrap. The adapter is guarded to v0.2.4 and restores its process-local changes after the shared CLI returns. The full 303-test Python suite, just check, and Markdown/spelling checks pass; source-bound evidence is recorded in #316.

Keep this issue open for deleting the override after the fixed v0.2.5 package is published and adopted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filepythonPull requests that update Python code

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions