Skip to main content

opendev_context/
lib.rs

1//! Context engineering for OpenDev.
2//!
3//! This crate provides:
4//! - **Compaction**: Staged context optimization (70%/80%/85%/90%/99% thresholds)
5//! - **ValidatedMessageList**: Write-time enforcement of message pair invariants
6//! - **MessagePairValidator**: Structural integrity validation and repair
7//! - **ContextPicker**: Dynamic context selection for LLM calls
8
9pub mod compaction;
10pub mod context_picker;
11pub mod environment;
12pub mod pair_validator;
13pub mod retrieval;
14pub mod subdir_instructions;
15pub mod validated_list;
16pub mod worktree;
17
18pub use compaction::{
19    ArtifactIndex, CompactionPreview, ContextCompactor, OptimizationLevel, StagePreview,
20    compact_preview, count_tokens,
21};
22pub use context_picker::{AssembledContext, ContextCategory, ContextPiece, ContextReason};
23pub use environment::{
24    EnvironmentContext, InstructionFile, discover_instruction_files, resolve_instruction_paths,
25};
26pub use pair_validator::{MessagePairValidator, ValidationResult, ViolationType};
27pub use retrieval::{
28    CodebaseIndexer, ContextRetriever, ContextTokenMonitor, Entities, EntityExtractor, FileMatch,
29    RetrievalContext,
30};
31pub use subdir_instructions::{SubdirInstruction, SubdirInstructionTracker};
32pub use validated_list::ValidatedMessageList;
33pub use worktree::{WorktreeInfo, WorktreeManager};