pub const KNOWN_ACTION_NAMES: &[&str];Expand description
Canonical names of every action in the SysKnife catalogue.
This is the single source of truth for “is this string a valid action
name?” — kept in sysknife-types (not sysknife-brain) so every crate
that validates an action name (the daemon’s policy::min_role_for_action,
the CLI’s approval flow, the proto bridge) sees the same list without
depending on the brain.
Note: RequestEnvelope::action_name itself is a plain String — it is
not validated against this list at deserialization time; that would
require a custom Deserialize impl this type does not have. Validation
happens downstream, via ActionName::parse against the value once it
has been pulled out of the envelope (the daemon does this before acting
on a request).
Cross-module invariant: sysknife_brain::propose_plan::KNOWN_ACTIONS
(which pairs each name with an LLM-facing description) MUST list every
name that appears here, in either order. The brain has a unit test
(every_known_action_name_is_in_types) that pins this — adding an
action requires a coordinated update to both lists.