Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetVersion ¶
func SetVersion(v string)
Types ¶
type RunOptions ¶
type RunOptions struct {
DryRun bool
Watch bool
// NoTUI disables the live table and prints plain-text results to
// stdout once processing finishes.
NoTUI bool
// Quiet suppresses every human-readable line: the live table and the
// plain-text results on stdout as well as the progress and summary
// lines on stderr. The caller reads the outcome from the returned
// PRStatus instead. `marge serve` sets it because stdout is the MCP
// stdio transport there and must carry nothing but JSON-RPC. Quiet
// implies NoTUI.
Quiet bool
Author string
TrustedAuthors string
MergeAuto bool
RefreshStale bool
RetryCancelled bool
Org string
ReposFile string // repositories to scan instead of searching GitHub; see repoList
Grouping string
SecurityPatterns string
Cols []pr.TableColumn
}
RunOptions holds the configuration shared between the run and sweep commands.
type SweepPREntry ¶
type SweepPREntry struct {
Owner string `json:"owner"`
Repo string `json:"repo"`
Number int `json:"number"`
Title string `json:"title"`
URL string `json:"url"`
Status string `json:"status"`
Detail string `json:"detail,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
AgeDays int `json:"age_days,omitempty"`
// Rescue describes the most recent prior automated rescue attempt
// found on the PR (an ai-rescue marker comment), if any. Consumers
// dispatching rescue agents should skip entries with a non-stale
// failed rescue and escalate them to a human instead.
Rescue *SweepRescueInfo `json:"rescue,omitempty"`
}
SweepPREntry represents a single PR in the sweep results.
type SweepRescueInfo ¶
type SweepRescueInfo struct {
Tool string `json:"tool,omitempty"`
Outcome string `json:"outcome"`
Reason string `json:"reason,omitempty"`
At string `json:"at,omitempty"`
// Stale is true when the PR content changed since the rescue attempt
// -- the attempt no longer describes the current code and the PR is
// fair game for another rescue.
Stale bool `json:"stale"`
// Rebased is true when the PR head moved since the rescue attempt but
// the change did not (a Renovate rebase onto a newer base): the marker
// still describes the current code and Stale is false.
Rebased bool `json:"rebased"`
}
SweepRescueInfo is the JSON projection of a pr.RescueMarker.
type SweepResult ¶
type SweepResult struct {
Summary SweepSummary `json:"summary"`
Merged []SweepPREntry `json:"merged,omitempty"`
SecurityFailures []SweepPREntry `json:"security_failures,omitempty"`
ActionRequired []SweepPREntry `json:"action_required,omitempty"`
// Stale lists failing PRs whose head is behind the base branch and whose
// every failing check is green on the base branch head: the failure was
// fixed on the base branch after the PR's last build. The remedy is a
// branch refresh (refresh_stale), not a rescue, so they are excluded from
// action_required.
Stale []SweepPREntry `json:"stale,omitempty"`
// Refreshed lists stale PRs whose branch was updated from its base in
// this run. CI is running again; the next sweep decides what they are.
Refreshed []SweepPREntry `json:"refreshed,omitempty"`
// Cancelled lists failing PRs whose every failing check is a CircleCI
// build that CircleCI itself auto-cancelled: there is no verdict on the
// code yet. The remedy is a retry (retry_cancelled), not a rescue, so
// they are excluded from action_required. A build cancelled behind a
// newer head is listed too but never retried: the new head's own build
// is the verdict.
Cancelled []SweepPREntry `json:"cancelled,omitempty"`
// Retried lists cancelled PRs whose builds were retried on the same
// commit in this run. CI is running again; the next sweep decides.
Retried []SweepPREntry `json:"retried,omitempty"`
// CIUnavailable lists PRs whose CI could not run because a GitHub Actions
// budget / spending-limit block prevented every job from starting. These
// are NOT failures: the remedy is to raise or await the Actions budget,
// so they are reported separately and excluded from action_required.
Skipped []SweepPREntry `json:"skipped,omitempty"`
}
SweepResult is the structured JSON output returned by the sweep MCP tool.
type SweepSummary ¶
type SweepSummary struct {
Total int `json:"total"`
Merged int `json:"merged"`
Failed int `json:"failed"`
SecurityFailures int `json:"security_failures"`
// Actions budget block. It is disjoint from Failed and SecurityFailures.
CIUnavailable int `json:"ci_unavailable"`
// Stale counts failing PRs whose failure is already fixed on the base
// branch (see SweepResult.Stale); Refreshed counts the stale PRs whose
// branch was updated in this run. Both are disjoint from Failed.
Stale int `json:"stale"`
Refreshed int `json:"refreshed"`
// Cancelled counts failing PRs whose failing builds CircleCI itself
// cancelled (see SweepResult.Cancelled); Retried counts the cancelled
// PRs whose builds were retried in this run. Both are disjoint from
// Failed.
Cancelled int `json:"cancelled"`
Retried int `json:"retried"`
Skipped int `json:"skipped"`
}
SweepSummary contains aggregate counts from the sweep.
Failed and SecurityFailures are disjoint: Failed counts only the non-security failure entries, so consumers can use Failed + SecurityFailures to get the total number of action-required PRs without double-counting.
Click to show internal directories.
Click to hide internal directories.