Expand description
Run a project’s own deterministic checkers and turn their output into Findings.
This is the gating half of analysis. Tool findings are precise - they come from the rules the project itself configured - so they block, while the LLM’s semantic findings inform. Keeping the two apart by source rather than by severity is what makes the gate calibratable at all.
Three states, deliberately distinct:
ToolStatus::Okthe tool ran; its findings are authoritative.ToolStatus::Skippedthe project has not configured this tool, so it has no opinion here. A pass.ToolStatus::Unavailablethe tool should have run and could not. Not a pass - reporting it as clean is the same “unanalyzed is not clean” mistake that would let a commit gate rubber-stamp commits.
Re-exports§
pub use parsers::parse_output;
Modules§
- parsers
- Turn each tool’s own output shape into
Findings.
Structs§
- Tool
Outcome - What happened when one tool was asked to check some files.
- Tool
Output Error - The tool produced output we could not parse.
Enums§
- Tool
Status - Whether a tool ran, declined to run, or failed to.
Constants§
- TOOL_
TIMEOUT - A tool that has not produced output by now is hung, not slow.
Functions§
- is_
configured - Whether the project has opted into this tool.
- resolve_
tool - Find the executable for a tool, preferring the project’s own copy.
- run_
tool - Run one deterministic tool over some files.
- tool_
status - Whether this tool will run here, without running it.