pub struct LoopCfg {Show 17 fields
pub max_rounds: u32,
pub auto_merge: bool,
pub first_implementor: Option<String>,
pub base_branch: String,
pub worktrees: bool,
pub keep_worktrees: bool,
pub state_store: StateStore,
pub branch_prefix: String,
pub followups: Followups,
pub file_non_blocking: bool,
pub max_followups: usize,
pub file_nits: bool,
pub close_skipped: bool,
pub parallel_triage: bool,
pub min_number: i64,
pub absorb_new_issues: u32,
pub effort_schedule: EffortSchedule,
}Fields§
§max_rounds: u32§auto_merge: bool§first_implementor: Option<String>§base_branch: String§worktrees: bool§keep_worktrees: bool§state_store: StateStore§branch_prefix: String§followups: Followups§file_non_blocking: boolFile a non-blocking finding as a follow-up.
Off by default, and this is the setting that stops a run breeding. A thorough reviewer always finds improvements, and turning each one into a tracker item made a single issue spawn ten, which spawned more: mean offspring above one never terminates. Not gating a merge is not the same as being worth somebody’s triage queue.
max_followups: usizeMost follow-ups one run may record before it stops and says what it dropped. A backstop, not a target.
file_nits: boolNits stay in the PR thread by default. A filed nit is somebody else’s notification: a run on a production codebase once opened an issue titled “Log wording”.
close_skipped: boolClose an issue that both agents independently declined, after posting the shared reasoning. One agent’s opinion is never enough.
parallel_triage: boolAsk both agents to triage at the same time. They only read during triage, so there is nothing to serialise.
min_number: i64Ignore issues and pull requests numbered below this when spar is picking for itself. 0 is no floor.
A repository that has been going a while carries a tail of old issues nobody is going to reach, and since spar takes the lowest numbered open items it walks straight into them. A number you name explicitly is still honoured: naming it is the point.
absorb_new_issues: u32Waves of newly filed follow-ups to fold back into the same run, rather than leaving them for the next one.
Off by default because it multiplies what a run costs, and because each wave can file follow-ups of its own. Every wave is triaged like any other issue, so both agents still have to agree it is worth doing.
effort_schedule: EffortSchedule