pub enum VerbCategory {
Assertive,
Directive,
Commissive,
Declaration,
}Expand description
Illocutionary force classification for a verb handler.
Follows Searle’s five speech-act categories (1976). Every Visibility::Verb
handler in the MCP surface MUST carry a category. Subhandler entries may
use the category of their parent verb or Assertive as a sensible default.
The category is a documentation / introspection tag. It is NOT used for
permission checking. It is one input — never the sole proof — to two
narrow, sanctioned runtime decisions, both in khive-runtime’s
VerbRegistry:
admission_degrade_safetreatsAssertiveas a necessary condition for letting a dispatch’s own audit row degrade under transient admission pressure, combined with an explicit per-verb allowlist.is_retry_safe_after_frame_omissiontreatsAssertiveas a necessary condition for telling a caller that a response lost to the MCP daemon’s frame budget is safe to re-issue, combined with an explicit exclusion list.
Both combine the category with an audited list rather than trusting it
alone, because several Assertive handlers schedule their own persisted
or accounting-bearing side effect on every dispatch (memory.recall’s
serve ledger, search’s SearchExecuted telemetry) that the speech-act
classification cannot see.
Variants§
Assertive
Speaker represents a state of affairs — retrieves and presents facts.
Examples: get, list, search, recall.
Directive
Speaker attempts to get the hearer to do something.
Examples: assign, transition.
Commissive
Speaker commits to a persistent change.
Examples: create, remember, link, send.
Declaration
Speaker changes institutional status by fiat.
Examples: update, delete, merge, complete.
Trait Implementations§
Source§impl Clone for VerbCategory
impl Clone for VerbCategory
Source§fn clone(&self) -> VerbCategory
fn clone(&self) -> VerbCategory
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for VerbCategory
Source§impl Debug for VerbCategory
impl Debug for VerbCategory
impl Eq for VerbCategory
Source§impl PartialEq for VerbCategory
impl PartialEq for VerbCategory
impl StructuralPartialEq for VerbCategory
Auto Trait Implementations§
impl Freeze for VerbCategory
impl RefUnwindSafe for VerbCategory
impl Send for VerbCategory
impl Sync for VerbCategory
impl Unpin for VerbCategory
impl UnsafeUnpin for VerbCategory
impl UnwindSafe for VerbCategory
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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