Lightweight semantic-aware SAST that runs curated taint rules over diffs only, so PRs get fast incremental SAST instead of whole-repo scan fatigue.
Single tool 'semsift_scan' has a reasonable description (127 chars, within 10-1024 range) but critical schema deficiencies. Input schema is minimal: only 'target' parameter with type 'string' and basic description. No output schema documented. No parameter constraints (min/max length, format, examples of valid paths). No error handling guidance. Tool name lacks action verb prefix (should be 'scan_with_semsift' or 'run_semsift_scan'). No indication of what the JSON output contains or how to interpret findings. Naming is acceptable but not optimal for LLM disambiguation.
Lightweight semantic-aware SAST that runs curated taint rules over diffs only, so PRs get fast incremental SAST instead of whole-repo scan fatigue.. Returns JSON findings.
No output schema documented. LLM cannot predict response structure (fields, types, nesting). Must infer from description alone.
Input parameter 'target' lacks constraints: no min/max length, no format specification, no examples of valid paths (relative vs absolute, file vs directory).
Tool name 'semsift_scan' does not start with a clear action verb. Prefer 'scan_semsift', 'run_semsift_scan', or 'execute_semsift' for LLM clarity.
No error handling guidance. Description does not explain what happens on invalid paths, permission errors, or scan failures. LLM has no recovery strategy.
Description mentions 'Returns JSON findings' but does not document the JSON structure (fields like 'findings', 'score', 'tool', or their types).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |