Expand description
LLM-based behavioral analysis for the semver-analyzer.
This crate implements the BehaviorAnalyzer trait from semver-analyzer-core.
It provides:
- Agent-agnostic LLM invocation via
--llm-command(goose, opencode, etc.) - Template-constrained spec inference — prompts that produce
FunctionSpecJSON - Tier 1 structural spec comparison — mechanical comparison without LLM
- Tier 2 LLM fallback — for ambiguous
notesdiffs and fuzzy matches
§Usage
ⓘ
use semver_analyzer_llm::LlmBehaviorAnalyzer;
let analyzer = LlmBehaviorAnalyzer::new("goose run --no-session -q -t");
let spec = analyzer.infer_spec(&function_body, &signature)?;Re-exports§
pub use invoke::FileApiChange;pub use invoke::FileBehavioralChange;pub use invoke::LlmConstantRenamePattern;pub use invoke::LlmInterfaceRenameMapping;pub use invoke::LlmSuffixRename;
Modules§
- invoke
- LLM command invocation and response parsing.
Structs§
- LlmBehavior
Analyzer - LLM-based implementation of
BehaviorAnalyzer.