Skip to content

Document analyzer boundaries and finish review leftovers#23

Merged
haasonsaas merged 1 commit into
mainfrom
docs/analyzer-boundaries
Jul 18, 2026
Merged

Document analyzer boundaries and finish review leftovers#23
haasonsaas merged 1 commit into
mainfrom
docs/analyzer-boundaries

Conversation

@haasonsaas

Copy link
Copy Markdown
Collaborator

Summary

  • docs/analyzer.md now states the Semgrep CE boundary explicitly: taint is tracked within a single file, so flows crossing a file boundary produce no finding. Also documents the process-group kill on cancel (Kill analyzer process groups on deadline #22) and the semgrep-core upgrade procedure (semgrepCoreVersion const, semgrep== CI pin, CI -version assertion) since the adapter rides Semgrep's private core interface.
  • Adapter test helper caches tool-binary digests by path: the integration suite was re-hashing the 204 MiB semgrep-core on every request (13.5s → 7.8s locally).
  • New TestExternalAnalyzerOmitsToolDigestWithoutTool: without ROOM_ANALYZER_TOOL_FILE, tool_sha256 is absent from the provider request (fails if the omitempty or conditional population regresses).

Test plan

  • go test ./... clean; integration suite green against real semgrep-core 1.139.0
  • Adversarial audit of the docs hunks (anti-slop + fact-check against the code): zero violations; its one catch (second hardcoded CI version) applied
  • Cache-safety review: per-test temp paths make poisoning impossible; the tool-change test still asserts against live state

State the Semgrep CE intrafile taint boundary and the process-group
kill semantics in docs/analyzer.md, and write down the semgrep-core
upgrade procedure (version const, CI pipx pin, CI version assertion)
since the adapter rides a private core interface. Cache tool-binary
digests in the adapter test helper so the integration suite stops
re-hashing the 200 MiB core per request, and cover the tool_sha256
omission when no tool is configured.
@haasonsaas
haasonsaas merged commit 0684418 into main Jul 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant