Versions in this module Expand all Collapse all v1 v1.1.0 Dec 26, 2025 v1.0.0 Dec 26, 2025 Changes in this version + const DefaultLintCommand + const DefaultTestCommand + func DefaultReviewRouter(state State) string + func ReviewRouter(state State, maxAttempts int) string + type FileChange struct + Content string + Operation string + Path string + type GitState struct + BaseBranch string + Branch string + Worktree string + type ImplementState struct + Files []FileChange + ImplementTokensIn int + ImplementTokensOut int + Implementation string + type LintState struct + LintOutput *artifact.LintOutput + LintPassed bool + LintRunAt time.Time + type MetricsState struct + StartTime time.Time + TotalCost float64 + TotalDuration time.Duration + TotalTokensIn int + TotalTokensOut int + type NodeConfig struct + BaseBranch string + LintCommand string + MaxReviewAttempts int + TestCommand string + func DefaultNodeConfig() NodeConfig + type NodeFunc func(ctx flowgraph.Context, state State) (State, error) + func WithRetry(node NodeFunc, maxRetries int) NodeFunc + func WithTiming(node NodeFunc) NodeFunc + func WithTranscript(node NodeFunc, nodeName string) NodeFunc + type PullRequestState struct + PR *pr.PullRequest + PRCreated time.Time + type ReviewState struct + Review *artifact.ReviewResult + ReviewAttempts int + ReviewTokensIn int + ReviewTokensOut int + type SpecState struct + Spec string + SpecGeneratedAt time.Time + SpecTokensIn int + SpecTokensOut int + type State struct + Error string + FlowID string + RunID string + Ticket *Ticket + TicketID string + func CheckLintNode(ctx flowgraph.Context, state State) (State, error) + func CleanupNode(ctx flowgraph.Context, state State) (State, error) + func CreatePRNode(ctx flowgraph.Context, state State) (State, error) + func CreateWorktreeNode(ctx flowgraph.Context, state State) (State, error) + func FixFindingsNode(ctx flowgraph.Context, state State) (State, error) + func GenerateSpecNode(ctx flowgraph.Context, state State) (State, error) + func ImplementNode(ctx flowgraph.Context, state State) (State, error) + func NewState(flowID string) State + func NotifyNode(ctx flowgraph.Context, state State) (State, error) + func ReviewNode(ctx flowgraph.Context, state State) (State, error) + func RunTestsNode(ctx flowgraph.Context, state State) (State, error) + func (s *State) AddTokens(in, out int) + func (s *State) AddTokensWithCost(in, out int, cost float64) + func (s *State) FinalizeDuration() + func (s *State) SetError(err error) + func (s State) CanRetryReview(maxAttempts int) bool + func (s State) HasError() bool + func (s State) NeedsReviewFix() bool + func (s State) ShouldCreateDraftPR(maxAttempts int) bool + func (s State) Summary() string + func (s State) Validate(requirements ...StateRequirement) error + func (s State) ValidateStrings(requirements ...string) error + func (s State) WithBaseBranch(branch string) State + func (s State) WithRunID(runID string) State + func (s State) WithTicket(ticket *Ticket) State + func (s State) WithTicketID(ticketID string) State + type StateRequirement string + const RequireBranch + const RequireFiles + const RequireImplementation + const RequireReview + const RequireSpec + const RequireTicket + const RequireWorktree + type TestState struct + TestOutput *artifact.TestOutput + TestPassed bool + TestRunAt time.Time + type Ticket struct + Assignee string + Description string + ID string + Labels []string + Metadata map[string]string + Priority string + Reporter string + Title string + Type string + URL string