pub struct DecisionInputs<'a> {
pub deltas: &'a ReviewDeltas,
pub boundary_anchors: &'a [BoundaryAnchor],
pub coordination: &'a [CoordinationAnchor],
pub dependency_anchors: &'a [DependencyAnchor],
pub public_api_anchor_line: u32,
pub affected_not_shown: u64,
pub routing: &'a RoutingFacts,
pub head_source: &'a dyn Fn(&str) -> Option<String>,
pub rename_old_path: &'a dyn Fn(&str) -> Option<String>,
pub internal_consumers: &'a dyn Fn(&str) -> u64,
pub cap: usize,
}Expand description
All inputs the extractor needs, gathered from the assembled brief data.
Fields§
§deltas: &'a ReviewDeltasDiff-aware deltas (boundary + public-API). The candidate source.
boundary_anchors: &'a [BoundaryAnchor]Boundary anchors keyed by zone-pair, one representative per introduced edge.
coordination: &'a [CoordinationAnchor]Coordination gaps projected to the contract decision shape.
dependency_anchors: &'a [DependencyAnchor]Dependency candidates per changed manifest, one per kind.
public_api_anchor_line: u321-based line of the first widened public-API export’s declaration, so the
public-API-surface decision anchors to a real line. 0 when unresolved.
affected_not_shown: u64Project-wide fan-in beyond the diff (impact-closure affected_not_shown).
Used as the blast magnitude for boundary + public-API-surface decisions.
routing: &'a RoutingFactsOwnership routing (routed expert per file).
head_source: &'a dyn Fn(&str) -> Option<String>Per-anchor-file head source, for suppression checks. None for a file
whose head content could not be read (the decision is then not suppressed).
rename_old_path: &'a dyn Fn(&str) -> Option<String>Resolve a head (post-rename) root-relative path to its pre-rename path, from
the diff’s rename pairs. None when the file was not renamed. Lets each
decision carry a previous_signal_id so review memory survives a git mv.
internal_consumers: &'a dyn Fn(&str) -> u64Honest per-anchor in-repo out-of-diff consumer count, precomputed from the
retained graph’s reverse-deps before it was dropped. 0 for an anchor with
no recorded importers (a genuinely new file). The display number; distinct
from affected_not_shown (the project-wide ranking proxy).
cap: usizeThe decision cap (default 4, clamped to [3, 5] by the caller).
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for DecisionInputs<'a>
impl<'a> !Send for DecisionInputs<'a>
impl<'a> !Sync for DecisionInputs<'a>
impl<'a> !UnwindSafe for DecisionInputs<'a>
impl<'a> Freeze for DecisionInputs<'a>
impl<'a> Unpin for DecisionInputs<'a>
impl<'a> UnsafeUnpin for DecisionInputs<'a>
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
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