Skip to main content

Config

Struct Config 

Source
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: String

Resolved: never empty, always one of the configured agents. Under the alternating policy this is who goes first on the first issue.

§alternate_first: bool

Whether the first implementor swaps from issue to issue.

§source: Option<PathBuf>

Where this config was read from, for error messages.

Implementations§

Source§

impl Config

Source

pub fn agent_names(&self) -> Vec<String>

Source

pub fn has_agent(&self, name: &str) -> bool

Source

pub fn spec(&self, name: &str) -> Result<&AgentSpec>

Source

pub fn other(&self, name: &str) -> String

The other agent. With exactly two configured, custody alternates by definition.

Source

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.

Source

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.

Source

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.

Source

pub fn first_implementor_policy(&self) -> String

What to print when somebody asks who goes first.

Source

pub fn base_branch(&self) -> &str

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.