pub enum VerbPresentationPolicy {
Standard,
AlwaysVerbose,
StreamAppendReceipt,
StreamBatchReceipts,
}Expand description
Presentation override for a verb handler.
Most verbs use the default Standard policy which allows the caller’s
requested PresentationMode to apply. A small set declare AlwaysVerbose
because Agent-mode trimming (UUID shortening, empty-field dropping) would
corrupt their response for downstream chaining — e.g. get returns UUIDs
that callers pipe into link; shortening them here breaks the chain.
The policy is carried as a const in HandlerDef so the registry can
consult it before applying the presentation transform.
Variants§
Standard
Apply the caller’s requested PresentationMode unchanged.
AlwaysVerbose
Always use Verbose output regardless of the caller’s mode.
Declared verbs: get, link, query, traverse, neighbors,
brain.feedback, brain.auto_feedback, memory.feedback,
comm.delivered, git.digest, git.ingest_cursor.
link is included because the returned edge ID is the only handle for
follow-up neighbors/traverse calls; short-form IDs risk prefix
collision at scale (~65K edges can share an 8-char prefix).
brain.feedback is included because callers chain target_id from the
response back into subsequent feedback or profile queries; an 8-char
prefix is ambiguous and defeats the acknowledged-ID contract.
memory.feedback has the same exact-target contract and rejects prefix
resolution, so its acknowledged target_id must remain canonical.
brain.auto_feedback acknowledges the same canonical target_id and
feeds those strict paths, so it carries the same guarantee.
comm.delivered is included because its id is an exact correlation
key and the verb deliberately rejects prefix resolution (#1482).
git.digest is included because its successful response is also the
durable receipt payload. Presentation must not shorten receipt_id or
otherwise make the returned result differ from the stored result.
git.ingest_cursor preserves raw checkpoint strings, full project UUIDs,
and stored microsecond timestamps for persisted-position inspection.
StreamAppendReceipt
Preserve only the root append receipt’s created_at string in Agent mode.
StreamBatchReceipts
Preserve created_at and updated_at strings on immediate results
array members in Agent mode.
Trait Implementations§
Source§impl Clone for VerbPresentationPolicy
impl Clone for VerbPresentationPolicy
Source§fn clone(&self) -> VerbPresentationPolicy
fn clone(&self) -> VerbPresentationPolicy
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 VerbPresentationPolicy
Source§impl Debug for VerbPresentationPolicy
impl Debug for VerbPresentationPolicy
Source§impl Default for VerbPresentationPolicy
impl Default for VerbPresentationPolicy
Source§fn default() -> VerbPresentationPolicy
fn default() -> VerbPresentationPolicy
impl Eq for VerbPresentationPolicy
Source§impl PartialEq for VerbPresentationPolicy
impl PartialEq for VerbPresentationPolicy
impl StructuralPartialEq for VerbPresentationPolicy
Auto Trait Implementations§
impl Freeze for VerbPresentationPolicy
impl RefUnwindSafe for VerbPresentationPolicy
impl Send for VerbPresentationPolicy
impl Sync for VerbPresentationPolicy
impl Unpin for VerbPresentationPolicy
impl UnsafeUnpin for VerbPresentationPolicy
impl UnwindSafe for VerbPresentationPolicy
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