pub struct Config {
pub agents: Vec<AgentSpec>,
pub loop_cfg: LoopCfg,
pub style: Style,
pub first_implementor: String,
pub alternate_first: bool,
pub source: Option<PathBuf>,
}Fields§
§agents: Vec<AgentSpec>In declaration order, which is what first_implementor defaults to.
loop_cfg: LoopCfg§style: Style§first_implementor: StringResolved: never empty, always one of the configured agents. Under the alternating policy this is who goes first on the first issue.
alternate_first: boolWhether the first implementor swaps from issue to issue.
source: Option<PathBuf>Where this config was read from, for error messages.
Implementations§
Source§impl Config
impl Config
pub fn agent_names(&self) -> Vec<String>
pub fn has_agent(&self, name: &str) -> bool
pub fn spec(&self, name: &str) -> Result<&AgentSpec>
Sourcepub fn other(&self, name: &str) -> String
pub fn other(&self, name: &str) -> String
The other agent. With exactly two configured, custody alternates by definition.
Sourcepub fn effort_for(&self, spec: &AgentSpec, call: Call) -> Option<String>
pub fn effort_for(&self, spec: &AgentSpec, call: Call) -> Option<String>
What effort one agent is asked for on one call.
Four places, most specific first: this agent’s own schedule, the shared
schedule, the old round_1/rest pair, and the agent’s plain effort.
The per agent layer is what makes a schedule expressible at all when the
two CLIs do not share a vocabulary: ultra is not a value the claude
preset accepts, and max means different things to each.
Sourcepub fn effort_for_round(&self, spec: &AgentSpec, round: u32) -> Option<String>
pub fn effort_for_round(&self, spec: &AgentSpec, round: u32) -> Option<String>
Round 1 gets the deep pass; later rounds only see a small delta, and a full ultra review of a three line delta is money on fire.
Sourcepub fn first_implementor_for(&self, nth: usize) -> String
pub fn first_implementor_for(&self, nth: usize) -> String
Who writes the first draft of the nth issue this run works.
Fixed unless the policy is to alternate, in which case it swaps every issue, so both models author and both models review first over a queue.
Sourcepub fn first_implementor_policy(&self) -> String
pub fn first_implementor_policy(&self) -> String
What to print when somebody asks who goes first.