merge main with secbench-cli#11
Conversation
Feature/chat frontend improvements
Feature/structured output
merge secbenchcli with main
There was a problem hiding this comment.
Pull request overview
This pull request merges the secbench-cli branch into main, introducing significant enhancements to the SecureCoder system including:
- Fixed critical typo in module name (openapi-bridge → openai-bridge)
- Added structured LLM output support with JSON schema generation
- Enhanced Guardian error handling with failure tracking
- Improved IntelliJ plugin UI with validation status indicators
- Added LLM replay testing infrastructure for reproducible testing
Key Changes
- LLM Integration: Introduced
chatStructuredAPI with JSON schema support for Ollama and OpenRouter clients - Guardian Improvements: Added failure tracking, raw violation data capture, and better error handling
- UI Enhancements: Refactored IntelliJ plugin toolwindow with validation states and debug information display
- Testing Infrastructure: Added comprehensive LLM replay/logging framework for testing with cached responses
Reviewed changes
Copilot reviewed 53 out of 57 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| settings.gradle.kts | Fixed typo: openapi-bridge → openai-bridge |
| guardian/api/Models.kt | Added raw field to Violation for debugging |
| guardian/codeql/CodeQLGuardian.kt | Renamed parameter for consistency (codeqlBinary → codeQlBinary) |
| guardian/api/DummyGuardian.kt | Added configurable sleep delay for testing |
| engine/llm/*.kt | Added structured chat API with JSON schema support |
| engine/workflow/*.kt | Enhanced with ProposalId tracking and validation events |
| engine/file/edit/*.kt | Added StructuredEditFilesLlmWrapper for JSON-based edits |
| app/openai-bridge/*.kt | Fixed package name from openapibridge to openaibridge |
| app/intellij-plugin/toolwindow/*.kt | Refactored into separate classes with validation UI |
| engine/src/test/*.kt | Added LLM replay test infrastructure |
Files not reviewed (2)
- .idea/gradle.xml: Language not supported
- .idea/kotlinc.xml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| class DummyGuardian( | ||
| private val flagProbabilityPerFile: Double = 0.8, | ||
| private val hardRejet: Boolean = false, |
There was a problem hiding this comment.
Typo in parameter name: 'hardRejet' should be 'hardReject' to match the naming convention used elsewhere in the codebase.
|
|
||
| class CodeQLGuardian( | ||
| private val codeqlBinary: String = "codeql", | ||
| private val codeQlBinary: String = "codeql", |
There was a problem hiding this comment.
The variable name 'codeQlBinary' uses inconsistent casing. It should be 'codeQLBinary' to match the CodeQL product naming convention, or 'codeqlBinary' to maintain consistency with the property name used in settings.
No description provided.