pub(super) struct GraphIdentityAdmission {Show 14 fields
source_admitted: bool,
rejections: Vec<GraphIdentityRejection>,
rejection_keys: BTreeSet<IdentityRejectionKey>,
rejected_facts_by_path: BTreeMap<String, u64>,
observed_facts: BTreeMap<String, BTreeSet<IdentityFactKey>>,
observed_fact_bytes: u64,
reused_rejection_facts: BTreeMap<String, BTreeSet<IdentityFactKey>>,
relation_fact_indices: BTreeMap<String, Vec<usize>>,
resolution_projections: BTreeMap<String, ResolutionKeyProjection>,
reused_rejection_counts: BTreeMap<String, u64>,
reused_parser_rejection_counts: BTreeMap<String, u64>,
reused_rejection_detail_counts: BTreeMap<String, u64>,
reused_rejection_details_incomplete: BTreeSet<String>,
rejection_details_dropped_by_path: BTreeSet<String>,
}Expand description
Bounded admission report shared by entity, relation, and key projection.
Fields§
§source_admitted: boolWhether the parser-output graphs have passed the shared source boundary.
rejections: Vec<GraphIdentityRejection>Retained typed details, capped independently from the count.
rejection_keys: BTreeSet<IdentityRejectionKey>Exact membership for the retained typed detail vector.
rejected_facts_by_path: BTreeMap<String, u64>Number of parser facts rejected per source path.
observed_facts: BTreeMap<String, BTreeSet<IdentityFactKey>>Every observed rejected parser fact, retained independently of detail rows so the global detail ceiling cannot make replays overcount.
observed_fact_bytes: u64Exact bytes retained by every identity map, detail key, and reconciliation entry, charged to the graph-work budget incrementally.
reused_rejection_facts: BTreeMap<String, BTreeSet<IdentityFactKey>>Persisted typed fact identities retained separately from current observations so removed outcomes can be subtracted exactly.
relation_fact_indices: BTreeMap<String, Vec<usize>>Original parser relation ordinal for each admitted relation after source-identity filtering. This remains private because it is only needed to keep derived rejection facts tied to parser observations.
resolution_projections: BTreeMap<String, ResolutionKeyProjection>Resolution keys derived once at admission and carried into projection.
reused_rejection_counts: BTreeMap<String, u64>Omission counts retained from the current generation for safely reused graphs and reconciled with the current pass after it regenerates any key, Markdown, or derived details it owns.
reused_parser_rejection_counts: BTreeMap<String, u64>Parser-baseline omission retained for reused structural/fallback graphs. This stays separate from identity omissions because parser coverage counts only relations when no identity fact was rejected.
reused_rejection_detail_counts: BTreeMap<String, u64>Number of persisted typed facts retained for each reused path. This is the baseline for exact post-rederivation count reconciliation.
reused_rejection_details_incomplete: BTreeSet<String>Reused paths whose persisted detail ceiling leaves old identities unknowable. These paths require a complete source reparse before a replacement publication can be exact.
rejection_details_dropped_by_path: BTreeSet<String>Paths where a distinct typed rejection detail was evicted by the publication-wide detail ceiling.
Implementations§
Source§impl GraphIdentityAdmission
impl GraphIdentityAdmission
Sourcefn record(
&mut self,
path: &str,
span: IdentitySpan,
parser: ParserKind,
fact_index: u64,
fields: &[(GraphIdentityField, GraphIdentityRejectionReason)],
control: &IndexWorkControl,
) -> Result<(), CliError>
fn record( &mut self, path: &str, span: IdentitySpan, parser: ParserKind, fact_index: u64, fields: &[(GraphIdentityField, GraphIdentityRejectionReason)], control: &IndexWorkControl, ) -> Result<(), CliError>
Record one parser fact and every failed identity field without retaining raw input.
Sourcefn reserve_identity_bytes(
&mut self,
additional_bytes: u64,
control: &IndexWorkControl,
limit: u64,
) -> Result<(), CliError>
fn reserve_identity_bytes( &mut self, additional_bytes: u64, control: &IndexWorkControl, limit: u64, ) -> Result<(), CliError>
Reserve one newly owned identity-state entry before retaining it.
Sourcefn adjust_identity_bytes(
&mut self,
before: u64,
after: u64,
) -> Result<(), CliError>
fn adjust_identity_bytes( &mut self, before: u64, after: u64, ) -> Result<(), CliError>
Adjust the cached identity-state total when a merge replaces entries.
Sourcefn merge_observed_identity_path(
&mut self,
path: &str,
incoming_facts: Option<&BTreeSet<IdentityFactKey>>,
incoming_total: u64,
control: &IndexWorkControl,
) -> Result<(), CliError>
fn merge_observed_identity_path( &mut self, path: &str, incoming_facts: Option<&BTreeSet<IdentityFactKey>>, incoming_total: u64, control: &IndexWorkControl, ) -> Result<(), CliError>
Merge one incoming observed-fact/count path without recounting the existing report.
Sourcefn reserve_reused_path_bytes(
&mut self,
path: &str,
already_retained: bool,
control: &IndexWorkControl,
limit: u64,
) -> Result<(), CliError>
fn reserve_reused_path_bytes( &mut self, path: &str, already_retained: bool, control: &IndexWorkControl, limit: u64, ) -> Result<(), CliError>
Reserve a per-path reconciliation entry before retaining its path key.
Sourcefn record_rejected_fact_count(
&mut self,
path: &str,
count: usize,
control: &IndexWorkControl,
) -> Result<(), CliError>
fn record_rejected_fact_count( &mut self, path: &str, count: usize, control: &IndexWorkControl, ) -> Result<(), CliError>
Add rejected-fact count that exceeded the bounded typed-detail rows.
Sourcefn merge(
&mut self,
other: Self,
control: &IndexWorkControl,
) -> Result<(), CliError>
fn merge( &mut self, other: Self, control: &IndexWorkControl, ) -> Result<(), CliError>
Merge one report while retaining the global detail bound.
Sourcefn rejected_facts_for(&self, path: &str) -> u64
fn rejected_facts_for(&self, path: &str) -> u64
Return the number of rejected parser facts for one path.
Sourcefn for_paths(&self, paths: &BTreeSet<String>) -> Result<Self, CliError>
fn for_paths(&self, paths: &BTreeSet<String>) -> Result<Self, CliError>
Return the source-admission details owned by one publication path set.
Sourcefn has_rejections(&self) -> bool
fn has_rejections(&self) -> bool
Return whether this report contains any rejected source facts.
Sourcefn incomplete_reused_rejection_paths(&self) -> &BTreeSet<String>
fn incomplete_reused_rejection_paths(&self) -> &BTreeSet<String>
Return reused paths that cannot be reconciled without reparsing source.
Sourcefn rejection_details_dropped_for(&self, path: &str) -> bool
fn rejection_details_dropped_for(&self, path: &str) -> bool
Return whether a path lost a distinct typed rejection detail at the publication-wide ceiling.
Sourcefn rejected_facts_for_graph(
&self,
path: &str,
derived: &Self,
) -> Result<u64, CliError>
fn rejected_facts_for_graph( &self, path: &str, derived: &Self, ) -> Result<u64, CliError>
Reconcile a reused path’s persisted total with current re-derived facts.
Sourcefn parser_rejection_for_graph(&self, path: &str) -> u64
fn parser_rejection_for_graph(&self, path: &str) -> u64
Return the parser-baseline omission retained for one reused path.
Sourcepub(super) fn source_admitted(&self) -> bool
pub(super) fn source_admitted(&self) -> bool
Return whether parser-output graphs have passed the shared source boundary.
Sourcefn paths(&self) -> impl Iterator<Item = &str>
fn paths(&self) -> impl Iterator<Item = &str>
Return paths that need a graph publication because admission changed them.
Sourcefn resolution_projection(&self, path: &str) -> Option<&ResolutionKeyProjection>
fn resolution_projection(&self, path: &str) -> Option<&ResolutionKeyProjection>
Return the already-admitted resolution projection for one graph path.
Sourcefn relation_parser_index(&self, path: &str, admitted_index: usize) -> usize
fn relation_parser_index(&self, path: &str, admitted_index: usize) -> usize
Translate an admitted relation index back to its parser ordinal.
Trait Implementations§
Source§impl Clone for GraphIdentityAdmission
impl Clone for GraphIdentityAdmission
Source§fn clone(&self) -> GraphIdentityAdmission
fn clone(&self) -> GraphIdentityAdmission
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GraphIdentityAdmission
impl Debug for GraphIdentityAdmission
Source§impl Default for GraphIdentityAdmission
impl Default for GraphIdentityAdmission
Source§fn default() -> GraphIdentityAdmission
fn default() -> GraphIdentityAdmission
Auto Trait Implementations§
impl Freeze for GraphIdentityAdmission
impl RefUnwindSafe for GraphIdentityAdmission
impl Send for GraphIdentityAdmission
impl Sync for GraphIdentityAdmission
impl Unpin for GraphIdentityAdmission
impl UnsafeUnpin for GraphIdentityAdmission
impl UnwindSafe for GraphIdentityAdmission
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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