mod adapter;
mod bridge;
mod coherence_validator;
mod confidence;
mod config;
mod error;
mod gate;
mod memory_layer;
pub mod pattern_bridge;
mod traits;
mod witness;
mod witness_log;
pub mod adr_references {
pub const COHERENCE_VALIDATOR: &str = "ADR-CE-016";
pub const UNIFIED_WITNESS: &str = "ADR-CE-017";
pub const PATTERN_BRIDGE: &str = "ADR-CE-018";
pub const MEMORY_AS_NODES: &str = "ADR-CE-019";
pub const CONFIDENCE_FROM_ENERGY: &str = "ADR-CE-020";
}
pub use adapter::{
RuvLlmAdapter, AdapterConfig as LlmAdapterConfig, AdapterStats,
};
pub use bridge::{
PolicyBridge, PolicyBridgeConfig, PolicySyncResult,
SonaBridge, SonaBridgeConfig, LearningFeedback,
};
pub use config::{
LlmCoherenceConfig, GatingMode, ResponsePolicy,
CoherenceThresholds, HallucinationPolicy,
};
pub use error::{
RuvLlmIntegrationError, Result,
};
pub use gate::{
LlmCoherenceGate, LlmGateDecision, LlmGateReason,
ResponseCoherence, CoherenceAnalysis,
};
pub use witness::{
WitnessAdapter, WitnessAdapterConfig, UnifiedWitnessEntry,
WitnessCorrelation, CorrelationId,
};
pub use witness_log::{
UnifiedWitnessLog, GenerationWitness, GenerationWitnessId,
InferenceWitnessSummary, CoherenceWitnessSummary,
WitnessQuery, UnifiedWitnessStats,
UnifiedWitnessError,
};
pub use confidence::{
CoherenceConfidence, ConfidenceLevel, ConfidenceScore, EnergyContributor,
};
pub use coherence_validator::{
SheafCoherenceValidator, ValidatorConfig,
ValidationContext, EdgeWeights,
ValidationResult, ValidationError,
ValidationWitness, WitnessDecision,
};
pub use memory_layer::{
MemoryCoherenceLayer, MemoryCoherenceConfig, MemoryCoherenceError,
Result as MemoryResult,
MemoryType, MemoryEdgeType, MemoryEntry, MemoryId, CoherenceResult,
AgenticMemory, WorkingMemory, EpisodicMemory,
};
pub use pattern_bridge::{
PatternToRestrictionBridge, BridgeConfig, BridgeStats, ExportResult,
BridgeError, BridgeResult,
PatternData, VerdictData,
PatternProvider,
};
pub use traits::{
CoherenceValidatable, Claim, ClaimType, ContextSource, Fact, SemanticRelation, RelationType,
UnifiedWitnessProvider, GenerationWitnessRef,
PatternBridge, RestrictionMapRef,
MemoryType as TraitMemoryType, MemoryEntry as TraitMemoryEntry,
MemoryCoherenceProvider, MemoryAddResult,
ConfidenceSource, ConfidenceResult as TraitConfidenceResult, UncertaintySource,
};
use std::sync::Arc;
use crate::coherence::CoherenceEngine;
use crate::governance::PolicyBundle;
pub fn create_llm_gate(
coherence_engine: Arc<CoherenceEngine>,
policy: &PolicyBundle,
) -> Result<LlmCoherenceGate> {
let config = LlmCoherenceConfig::default();
LlmCoherenceGate::new(coherence_engine, policy.clone(), config)
}
pub fn create_witness_adapter() -> Result<WitnessAdapter> {
let config = WitnessAdapterConfig::default();
WitnessAdapter::new(config)
}
pub fn create_policy_bridge() -> Result<PolicyBridge> {
let config = PolicyBridgeConfig::default();
PolicyBridge::new(config)
}
pub const DEFAULT_COHERENCE_THRESHOLD: f64 = 0.8;
pub const DEFAULT_HALLUCINATION_SENSITIVITY: f64 = 0.7;
pub const DEFAULT_MAX_RESPONSE_LENGTH: usize = 4096;
pub const DEFAULT_CORRELATION_WINDOW_SECS: u64 = 60;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_default_config() {
let config = LlmCoherenceConfig::default();
assert_eq!(config.coherence_threshold, DEFAULT_COHERENCE_THRESHOLD);
}
#[test]
fn test_feature_gate() {
assert!(true, "RuvLLM integration module loaded successfully");
}
}