pub enum ConfigCommand {
Show {
global: bool,
project: bool,
show_secrets: bool,
},
Set {
path: String,
value: String,
global: bool,
},
Unset {
path: String,
global: bool,
},
Role {
role: String,
model: String,
effort: Option<String>,
},
}Expand description
Subcommands under kranz config — the configuration surface.
Variants§
Show
Print the effective merged config (defaults <- global <- project).
The merged layer files (and whether each exists) are listed on stderr, so stdout stays clean JSON for piping. –global / –project print just that one layer file instead (“{}” plus a stderr note when missing).
Single-layer output is REDACTED: the raw layer file carries keys
MissionConfig never sees (slack.botToken, slack.appToken,
hooks.secret), and stdout ends up in CI logs, screen shares and
shell transcripts. --show-secrets prints them verbatim.
Fields
Set
Set one key in a config layer file (validated before writing).
PATH is a dotted path into the config (worker.model,
orchestrator.reasoningEffort, maxParallelWorkers, skipScrutiny, …).
VALUE parses as JSON first (2, true, [“x”]) and falls back to a plain
string, so kranz config set worker.model opus works unquoted. Only
that key changes — every other key in the file (known or not) is
preserved. The merged result of all layers is validated first; on
failure nothing is written.
Fields
Unset
Remove one key from a config layer file.
Parent objects left empty by the removal are pruned; removing the last key leaves an empty “{}” file (the file itself is never deleted).
Fields
Role
Change a role’s model/effort on a RUNNING mission (mid-mission path).
Enqueues a config-change control command on the target mission’s
control inbox — the CLI twin of Slack’s /kranz config. The target is
the global –mission id (which must be active), or, without one, the
repo’s single active mission; with several active this refuses and
lists them. The change applies at the next spawn of that role; the
layer files are not touched.
Trait Implementations§
Source§impl Debug for ConfigCommand
impl Debug for ConfigCommand
Source§impl FromArgMatches for ConfigCommand
impl FromArgMatches for ConfigCommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for ConfigCommand
impl Subcommand for ConfigCommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for ConfigCommand
impl RefUnwindSafe for ConfigCommand
impl Send for ConfigCommand
impl Sync for ConfigCommand
impl Unpin for ConfigCommand
impl UnsafeUnpin for ConfigCommand
impl UnwindSafe for ConfigCommand
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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