Skip to main content

Module verbs

Module verbs 

Source
Expand description

Canonical verb vocabulary for Brain’s capability kernel.

Every verb that flows through identity authorization, confirmation gating, and intent routing must appear here. A verb is the (namespace, action) pair Brain uses to address a capability — e.g. memory.store, shell.exec, mcp.mount. Verbs are part of the kernel’s stable contract: adding one is a code change (new crate::IntentToken consumer, new authz mapping in signal::authz::intent_to_auth, new pipeline handler), not a config edit. External plugins extend Brain by mounting MCP servers whose tools land at mcp.{tool_name} — they do not invent new verbs.

§Why constants instead of verbs.toml

The v1.0.0 RFC §158 nominally called for a verbs.toml registry + startup validation that every authz-mapped verb appears in it. We ship the same guarantee at compile time instead — VERBS is a &[VerbSpec] and signal::authz::tests::every_static_verb_is_in_registry asserts that every typed-Intent → AuthorizationRequest mapping resolves through lookup. A typo in intent_to_auth therefore fails the test suite rather than the runtime. Operators do not need to edit a verb file because verbs are kernel surface, not configuration.

Structs§

VerbSpec
A single capability verb. The tier_hint is the conservative confirmation tier the kernel applies if the typed-Intent path doesn’t override it; it matches signal::authz::tier_for_verb’s fallback for the same (ns, action) pair.

Enums§

TierHint
Documentation hint for a verb’s confirmation tier. The authoritative tier mapping lives in signal::authz::tier_for_verb; this enum mirrors the five identity::Tier variants without depending on the identity crate so this module stays dependency-light. The signal::authz::tests::tier_hints_match_authz cross-check asserts the two stay in sync.

Constants§

VERBS
The kernel’s full verb vocabulary as of v0.4.0.

Functions§

lookup
Look up a verb by namespace + action. Returns None for verbs not in the kernel vocabulary — callers should treat this as a hard invariant violation for typed Intent variants, and as expected for dynamically-discovered MCP tool verbs (mcp.{tool_name} is not in VERBS; only the bare mcp.mount / mcp.unmount host-control verbs are).
namespaces
Every distinct namespace currently in the vocabulary, deduped. Useful for telemetry and startup banners.