pub struct Facts {Show 14 fields
pub has_mail_binary: bool,
pub has_docs_binary: bool,
pub has_graph_binary: bool,
pub mail_accounts: Option<usize>,
pub docs_accounts: Option<usize>,
pub slack_linked: Option<bool>,
pub props: Option<Props>,
pub provider_credential: bool,
pub config_file: bool,
pub local_probe: LocalProbe,
pub scheduler_installed: bool,
pub trigger_count: usize,
pub charter: CharterState,
pub declined: BTreeSet<String>,
}Expand description
Everything the impure half gathered, so plan can stay a function.
A struct rather than a pile of arguments because it is going to grow, and because a caller that has to remember the order of six booleans will eventually get one wrong in a way that reads as a working install.
Fields§
§has_mail_binary: boolWhich helper binaries are on PATH. A crates.io install gets each
from its own cargo install, so “is it in the workspace” is the
wrong question — presence on PATH is the one that matters.
has_docs_binary: bool§has_graph_binary: bool§mail_accounts: Option<usize>Whether any account/credential store has something in it. None
where the directory could not be read — see Status::Unknown.
docs_accounts: Option<usize>§slack_linked: Option<bool>§props: Option<Props>What the default provider’s server said about itself, when it is local and answered.
provider_credential: boolWhether the configured provider has a usable credential.
config_file: boolWhether a global config file exists at all.
Config::load_global tolerates its absence and returns defaults,
which is right — mecha must work before anybody has written one — but
it meant a new install was never told the file exists or where it
lives, and the first thing anyone needs to change lives in it.
local_probe: LocalProbeWhat the loopback probe found — including whether it ran at all.
See LocalProbe. The point of the probe is to turn “anthropic has
no usable credential” into “there is a server running right here,
shall I write it down”, which is the difference between a remedy and
a diagnosis.
scheduler_installed: boolWhether a trigger scheduler is running or installed.
trigger_count: usize§charter: CharterStateWhat the owner’s charter is doing, read through the ordinary loader.
declined: BTreeSet<String>Step ids the owner has said they do not want, from
read_declined.
An unreadable store yields an empty set rather than a failure, and
the direction is deliberate: showing a step somebody declined is a
nuisance, hiding one they never declined is a silently incomplete
install. This is the one place in this module where unknown resolves
towards more noise, because here noise is the safe side. setup
says out loud that the store could not be read — on stderr, and
before the --json return, so the scriptable surface carries it
too and stdout stays a parseable array.