Documentation
¶
Index ¶
- Constants
- func BuildInsightsPrompt(data InsightsData) string
- func BuildSimple(repoPath, sha, agentName string) (string, error)
- func GetSystemPrompt(agentName string, promptType string) string
- func LoadGuidelines(repoPath string) string
- type Builder
- func (b *Builder) Build(repoPath, gitRef string, repoID int64, contextCount int, ...) (string, error)
- func (b *Builder) BuildAddressPrompt(repoPath string, review *storage.Review, previousAttempts []storage.Response, ...) (string, error)
- func (b *Builder) BuildDirty(repoPath, diff string, repoID int64, contextCount int, ...) (string, error)
- type InsightsData
- type InsightsReview
- type ReviewContext
Constants ¶
const InsightsSystemPrompt = `` /* 1967-byte string literal not displayed */
InsightsSystemPrompt is the instruction for analyzing review patterns
const MaxPromptSize = 250 * 1024
MaxPromptSize is the legacy maximum size of a prompt in bytes (250KB). New code should use Builder.maxPromptSize() which respects config.
const PreviousAttemptsForCommitHeader = `` /* 355-byte string literal not displayed */
PreviousAttemptsForCommitHeader introduces previous review attempts for the same commit
const PreviousAttemptsHeader = `` /* 357-byte string literal not displayed */
PreviousAttemptsHeader introduces previous addressing attempts section
const PreviousReviewsHeader = `` /* 478-byte string literal not displayed */
PreviousReviewsHeader introduces the previous reviews section
const ProjectGuidelinesHeader = `` /* 202-byte string literal not displayed */
ProjectGuidelinesHeader introduces the project-specific guidelines section
const SystemPromptAddress = `` /* 1018-byte string literal not displayed */
SystemPromptAddress is the instruction for addressing review findings
const SystemPromptDesignReview = `` /* 1270-byte string literal not displayed */
SystemPromptDesignReview is the base instruction for reviewing design documents. The input is a code diff (commit, range, or uncommitted changes) that is expected to contain design artifacts such as PRDs, task lists, or architectural proposals.
const SystemPromptDirty = `` /* 789-byte string literal not displayed */
SystemPromptDirty is the base instruction for reviewing uncommitted (dirty) changes
const SystemPromptRange = `` /* 875-byte string literal not displayed */
SystemPromptRange is the base instruction for commit range reviews
const SystemPromptSecurity = `` /* 1541-byte string literal not displayed */
SystemPromptSecurity is the instruction for security-focused reviews
const SystemPromptSingle = `` /* 870-byte string literal not displayed */
SystemPromptSingle is the base instruction for single commit reviews
Variables ¶
This section is empty.
Functions ¶
func BuildInsightsPrompt ¶ added in v0.49.0
func BuildInsightsPrompt(data InsightsData) string
BuildInsightsPrompt constructs the full prompt for insights analysis. It prioritizes unaddressed (open) findings over addressed (closed) ones when truncating to fit within size limits.
func BuildSimple ¶
BuildSimple constructs a simpler prompt without database context
func GetSystemPrompt ¶ added in v0.17.0
GetSystemPrompt returns the system prompt for the specified agent and type. If a specific template exists for the agent, it uses that. Otherwise, it falls back to the default constant. Supported prompt types: review, range, dirty, address, design-review, run, security
func LoadGuidelines ¶ added in v0.49.0
LoadGuidelines loads review guidelines from the repo's default branch, falling back to filesystem config when the default branch has no .roborev.toml.
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder constructs review prompts
func NewBuilderWithConfig ¶ added in v0.47.0
NewBuilderWithConfig creates a prompt builder that also resolves global config settings (e.g., exclude_patterns).
func (*Builder) Build ¶
func (b *Builder) Build(repoPath, gitRef string, repoID int64, contextCount int, agentName, reviewType string) (string, error)
Build constructs a review prompt for a commit or range with context from previous reviews. reviewType selects the system prompt variant (e.g., "security"); any default alias (see config.IsDefaultReviewType) uses the standard prompt.
func (*Builder) BuildAddressPrompt ¶
func (b *Builder) BuildAddressPrompt(repoPath string, review *storage.Review, previousAttempts []storage.Response, minSeverity string) (string, error)
BuildAddressPrompt constructs a prompt for addressing review findings. When minSeverity is non-empty, a severity filtering instruction is injected before the findings section.
func (*Builder) BuildDirty ¶
func (b *Builder) BuildDirty(repoPath, diff string, repoID int64, contextCount int, agentName, reviewType string) (string, error)
BuildDirty constructs a review prompt for uncommitted (dirty) changes. The diff is provided directly since it was captured at enqueue time. reviewType selects the system prompt variant (e.g., "security"); any default alias (see config.IsDefaultReviewType) uses the standard prompt.
type InsightsData ¶ added in v0.49.0
type InsightsData struct {
Reviews []InsightsReview
Guidelines string
RepoName string
Since time.Time
MaxReviews int // Cap for number of reviews to include
MaxOutputPerReview int // Cap for individual review output size
MaxPromptSize int // Overall prompt size budget (0 = use MaxPromptSize default)
}
InsightsData holds the data needed to build an insights prompt
type InsightsReview ¶ added in v0.49.0
type InsightsReview struct {
JobID int64
Agent string
GitRef string
Branch string
FinishedAt *time.Time
Output string
Responses []storage.Response
Closed bool
Verdict string // "P" or "F"
}
InsightsReview is a simplified review record for the insights prompt
func InsightsReviewFromJob ¶ added in v0.49.0
func InsightsReviewFromJob( job storage.ReviewJob, output string, responses []storage.Response, closed bool, ) InsightsReview
InsightsReviewFromJob converts a ReviewJob (with verdict) to an InsightsReview. The review output must be fetched separately.