pub struct GrindConfig {
pub prompts_dir: Option<PathBuf>,
pub default_rotation: Option<String>,
pub max_parallel: u32,
pub consecutive_failure_limit: u32,
pub hook_timeout_secs: u64,
pub hook_env_passthrough: Vec<String>,
pub transcript_retention: TranscriptRetention,
pub budgets: PlanBudgets,
pub hooks: Hooks,
}Expand description
[grind] section — defaults that cover a pitboss grind run when no
rotation file overrides them.
prompts_dir corresponds to the --prompts-dir CLI flag’s persistent
counterpart and defaults to None (the standard project + global
discovery rule lands in Phase 02). default_rotation is the rotation
name to load when the user runs pitboss grind with no --rotation. The
remaining fields are the run-wide caps and inherited hook / budget tables
that fall through to a rotation that doesn’t override them.
Fields§
§prompts_dir: Option<PathBuf>Optional override for where to discover grind prompts. None keeps
the precedence chain (project, then global) from Phase 02.
default_rotation: Option<String>Rotation name to load when pitboss grind is invoked without
--rotation. None means “synthesize the default rotation from
discovered prompts”.
max_parallel: u32Cap on concurrently-running sessions. Must be >= 1. Defaults to 1
(sequential).
consecutive_failure_limit: u32Number of consecutive failing sessions that trip the
consecutive-failure escape valve (Phase 08 exit code 5). Defaults to
3.
hook_timeout_secs: u64Wall-clock cap applied to each plan-level shell hook (Phase 10).
Defaults to 60.
hook_env_passthrough: Vec<String>Extra environment variables to forward into each plan-level hook on
top of the built-in allowlist (HOME, USER, LANG, SHELL,
SSH_AUTH_SOCK). Names listed here are looked up in the parent
process’s environment at hook-fire time and, when present, copied
into the child. Useful for credential vars hooks need to talk to
GitHub / Slack / oncall systems (GITHUB_TOKEN, SLACK_TOKEN, …)
without inheriting the entire parent environment.
transcript_retention: TranscriptRetentionWhat to do with per-session transcripts on the disk. Defaults to
TranscriptRetention::KeepAll.
budgets: PlanBudgetsRun-wide budgets. Mirrors the plan-level budgets so an unconfigured plan still inherits these.
hooks: HooksRun-wide shell hooks. Mirrors the plan-level hooks so an unconfigured plan still inherits these.
Trait Implementations§
Source§impl Clone for GrindConfig
impl Clone for GrindConfig
Source§fn clone(&self) -> GrindConfig
fn clone(&self) -> GrindConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GrindConfig
impl Debug for GrindConfig
Source§impl Default for GrindConfig
impl Default for GrindConfig
Source§impl<'de> Deserialize<'de> for GrindConfigwhere
GrindConfig: Default,
impl<'de> Deserialize<'de> for GrindConfigwhere
GrindConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for GrindConfig
impl PartialEq for GrindConfig
Source§fn eq(&self, other: &GrindConfig) -> bool
fn eq(&self, other: &GrindConfig) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for GrindConfig
impl Serialize for GrindConfig
impl StructuralPartialEq for GrindConfig
Auto Trait Implementations§
impl Freeze for GrindConfig
impl RefUnwindSafe for GrindConfig
impl Send for GrindConfig
impl Sync for GrindConfig
impl Unpin for GrindConfig
impl UnsafeUnpin for GrindConfig
impl UnwindSafe for GrindConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more