Documentation
¶
Overview ¶
Package burnish spawns a Smith worker to address PR review comments.
When Bellows detects "changes requested" on a PR, burnish fetches the review comments via the VCS provider, constructs a targeted fix prompt, and spawns Smith to address them. It then pushes the fixes to the PR branch.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BatchFixParams ¶
type BatchFixParams struct {
// WorktreePath is the git worktree for this PR's branch.
WorktreePath string
// BeadID for tracking.
BeadID string
// AnvilName for tracking.
AnvilName string
// AnvilPath is the repo root (used to populate FORGE_ANVIL_PATH in hook env).
AnvilPath string
// PRNumber being fixed.
PRNumber int
// Branch name for the PR.
Branch string
// DB for state tracking.
DB *state.DB
// WorkerID is the state DB worker ID.
WorkerID string
// ExtraFlags for Claude CLI.
ExtraFlags []string
// Providers is the ordered list of AI providers to try.
Providers []provider.Provider
// Comments is the list of review comments to address.
Comments []vcs.ReviewComment
// VCS is the VCS provider for thread resolution.
VCS vcs.Provider
// TemperConfig is the per-anvil temper configuration. Nil means auto-detect.
TemperConfig *temper.Config
// DetectOptions controls temper auto-detection behavior (e.g. golangci-lint).
DetectOptions *temper.DetectOptions
// GoRaceDetection enables Go race detection in temper steps.
GoRaceDetection bool
// Hooks is the per-anvil hook configuration for temper hooks.
Hooks *config.HooksConfig
}
BatchFixParams holds the inputs for a batched review fix attempt.
type FixParams ¶
type FixParams struct {
// WorktreePath is the git worktree for this PR's branch.
WorktreePath string
// BeadID for tracking.
BeadID string
// AnvilName for tracking.
AnvilName string
// AnvilPath is the repo root.
AnvilPath string
// PRNumber being fixed.
PRNumber int
// Branch name for the PR.
Branch string
// DB for state tracking.
DB *state.DB
// WorkerID is the state DB worker ID, used to update the log path
// so the Hearth TUI can display live activity.
WorkerID string
// MaxAttempts is the maximum fix attempts for review comments.
MaxAttempts int
// ExtraFlags for Claude CLI.
ExtraFlags []string
// Providers is the ordered list of AI providers to try.
// If empty, provider.Defaults() is used (Claude → Gemini).
Providers []provider.Provider
// VCS is the VCS provider for repository operations. When set,
// it is used for GetRepoOwnerAndName instead of creating a throwaway instance.
VCS vcs.Provider
// TemperConfig is the per-anvil temper configuration. Nil means auto-detect.
TemperConfig *temper.Config
// DetectOptions controls temper auto-detection behavior (e.g. golangci-lint).
DetectOptions *temper.DetectOptions
// GoRaceDetection enables Go race detection in temper steps.
GoRaceDetection bool
// Hooks is the per-anvil hook configuration. When set, before_temper and
// after_temper hooks fire around every temper invocation.
Hooks *config.HooksConfig
}
FixParams holds the inputs for a review fix attempt.
type FixResult ¶
type FixResult struct {
// Addressed is true if Smith successfully pushed review fixes.
Addressed bool
// Attempts is how many fix cycles were tried.
Attempts int
// CommentsFound is how many review comments were fetched.
CommentsFound int
// Duration is the total time spent.
Duration time.Duration
// Error if the fix process itself failed.
Error error
}
FixResult captures the outcome of addressing review comments.
Click to show internal directories.
Click to hide internal directories.