Skip to main content

ResolveChain

Struct ResolveChain 

Source
pub struct ResolveChain {
    pub intents: Vec<Intent>,
    pub plan: Plan,
    pub plan_step_index: usize,
    pub action: Action,
    pub attribution: Attribution,
    pub constraints: Vec<Constraint>,
}
Expand description

The full attribution chain for a file:line query.

Fields are ordered answer-first: intents carries the “why” answer; the remaining fields provide the causal chain that produced it.

Line staleness: line numbers are matched against the ranges recorded at ingest time. If lines have moved since the last vasari ingest run (e.g. after a refactor that inserts lines above the queried line), results may be stale. Re-run vasari ingest after significant refactors.

Fields§

§intents: Vec<Intent>

The intent(s) that motivated this line of code — the “why” answer. Sorted by created_at descending (most recent amendment first). Empty only for orphan plans (plans with no intent_ids).

§plan: Plan

The plan that structured the work.

§plan_step_index: usize

Index into plan.steps identifying the specific step that produced this line.

§action: Action

The agent action (tool call) that wrote the code.

§attribution: Attribution

The attribution node linking the action to this file:line range.

§constraints: Vec<Constraint>

Constraints that shaped this work: any Constraint derived from this plan or one of its intents (e.g. “must validate the token signature”, “never store the secret in source”). Sorted by text. Empty when the session carried no extractable constraints.

Implementations§

Source§

impl ResolveChain

Source

pub fn plan_step(&self) -> Option<&PlanStep>

The specific plan step that produced this line.

Source

pub fn confidence(&self) -> f32

Attribution confidence: how strongly the ingest adapter believes this action produced this target. 0.0–1.0; 1.0 = exact range match.

Source

pub fn primary_intent(&self) -> Option<&Intent>

The most recent intent (the originating or most-recently-amended one). Use this when you need a single “primary” answer for display.

Trait Implementations§

Source§

impl Clone for ResolveChain

Source§

fn clone(&self) -> ResolveChain

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResolveChain

Source§

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

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.