pub struct BugDocument {
pub id: String,
pub title: String,
pub description: String,
pub fix_commit: String,
pub fix_diff: String,
pub affected_files: Vec<String>,
pub category: DefectCategory,
pub severity: u8,
pub symptoms: Vec<String>,
pub root_cause: String,
pub fix_pattern: String,
}Expand description
Bug document for RAG indexing
Fields§
§id: StringUnique bug identifier (e.g., commit hash or issue number)
title: StringBug title/summary
description: StringFull bug description
fix_commit: StringCommit that fixed the bug
fix_diff: StringThe actual code change (diff)
affected_files: Vec<String>Files affected by the bug
category: DefectCategoryDefect category
severity: u8Severity level (1-5, 5 being most severe)
symptoms: Vec<String>Symptoms that indicate this bug
root_cause: StringRoot cause description
fix_pattern: StringFix pattern description
Implementations§
Source§impl BugDocument
impl BugDocument
Sourcepub fn new(
id: impl Into<String>,
title: impl Into<String>,
category: DefectCategory,
) -> Self
pub fn new( id: impl Into<String>, title: impl Into<String>, category: DefectCategory, ) -> Self
Create a new bug document
Sourcepub fn with_description(self, desc: impl Into<String>) -> Self
pub fn with_description(self, desc: impl Into<String>) -> Self
Set description
Sourcepub fn with_fix_commit(self, commit: impl Into<String>) -> Self
pub fn with_fix_commit(self, commit: impl Into<String>) -> Self
Set fix commit
Sourcepub fn with_fix_diff(self, diff: impl Into<String>) -> Self
pub fn with_fix_diff(self, diff: impl Into<String>) -> Self
Set fix diff
Sourcepub fn with_affected_file(self, file: impl Into<String>) -> Self
pub fn with_affected_file(self, file: impl Into<String>) -> Self
Add affected file
Sourcepub fn with_severity(self, severity: u8) -> Self
pub fn with_severity(self, severity: u8) -> Self
Set severity
Sourcepub fn with_symptom(self, symptom: impl Into<String>) -> Self
pub fn with_symptom(self, symptom: impl Into<String>) -> Self
Add symptom
Sourcepub fn with_root_cause(self, cause: impl Into<String>) -> Self
pub fn with_root_cause(self, cause: impl Into<String>) -> Self
Set root cause
Sourcepub fn with_fix_pattern(self, pattern: impl Into<String>) -> Self
pub fn with_fix_pattern(self, pattern: impl Into<String>) -> Self
Set fix pattern
Sourcepub fn to_rag_chunk(&self) -> Chunk
pub fn to_rag_chunk(&self) -> Chunk
Convert to trueno-rag Chunk for indexing
Trait Implementations§
Source§impl Clone for BugDocument
impl Clone for BugDocument
Source§fn clone(&self) -> BugDocument
fn clone(&self) -> BugDocument
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BugDocument
impl Debug for BugDocument
Source§impl<'de> Deserialize<'de> for BugDocument
impl<'de> Deserialize<'de> for BugDocument
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for BugDocument
impl RefUnwindSafe for BugDocument
impl Send for BugDocument
impl Sync for BugDocument
impl Unpin for BugDocument
impl UnwindSafe for BugDocument
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromResponse for Twhere
T: DeserializeOwned,
impl<T> FromResponse for Twhere
T: DeserializeOwned,
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.