Skip to main content

ReasonStep

Struct ReasonStep 

Source
pub struct ReasonStep {
    pub strategy: String,
    pub target: String,
    pub given: String,
    pub ask: String,
    pub depth: Option<u32>,
    pub loc: Loc,
}
Expand description

v2.83.0 — reason { given: … ask: "…" depth: N }, the README’s most-published cognitive block (16 occurrences) and, until this cycle, the most expensive silent drop in the language.

What was wrong. The block form had NO home in this struct: strategy and target were its only fields. Written at flow level, reason { … } did not parse at all (the parser wanted reason <target>); written inside a step { } body — the only place the README ever writes it — it hit skip_flow_step_structural, which threw the whole block away. Measured on 2.85.0: a step whose ENTIRE cognition was a reason { given ask depth } block passed axon check with exit 0 and lowered to "ask": "", "given": "". advertised.rs attested reason as Real { proof: "pure_shape::run_reason" } — and the attestation was true of an engine no published program could reach. v2.67.0’s own words: motor real, cable muerto.

The field set is CLOSED (v2.83.0’s rule: when a block skips what it does not recognise, ask which direction the silence fails in — a typo’d ask: yields a promptless deliberation, which is weaker, not louder).

Fields§

§strategy: String

chain_of_thought: enabled and strategy: <name> both land here.

§target: String

The pre-v2.83.0 positional form reason <target>. Empty for the block form, which names its evidence in given instead.

§given: String

given: — the evidence this deliberation reasons OVER. One reference, a comma list (given: Initialize.output, sessions) or a bracketed list (given: [baseline.topology, current.topology]); all three forms occur in the published README. Resolved against the flow bindings at dispatch.

§ask: String

ask: — the question. This is the deliberation’s actual prompt; before v2.83.0 it reached the model in exactly zero published programs.

§depth: Option<u32>

depth: — the declared deliberation depth. Consumed by the dispatch FRAMING (like strategy, the other declared-posture field), not by a runtime iteration bound. Stated plainly so the field is not read as a loop count it has never been.

§loc: Loc

Trait Implementations§

Source§

impl Debug for ReasonStep

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more