weave-compliance · ethics
Source declarations, signatures and documentation for ethics.
Reviewed implementation boundary: The compliance module contains prototype/placeholder behavior. Production in a type name does not establish implemented audit integrity, verified signatures, governance encryption, regulatory submission, or a compliance certification. Read /libraries/weave-compliance/overview and the corresponding task guide for current boundaries.
Source: sigil/weave/libs/weave-compliance/src/ethics.rs. SHA-256: 533a90fb2419ce9390c743aec234c843bb9e4695d0719f48ba2727f4c3bdf68f.
This reference follows declared source modules, retains conditional attributes, and includes public declarations and implementation methods. Private-module re-exports and trait resolution require the compiler; this is a source reference, not a claim that every listed item is a root import. Function bodies and constant values are omitted.
ethics::AIDecision
A decision envelope for ethical evaluation
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AIDecision {
/// decision id
pub id: String,
/// short summary
pub summary: String
}Source line: 7.
ethics::HumanReviewRequest
Human review request
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HumanReviewRequest {
/// decision id
pub decision_id: String,
/// summary
pub decision_summary: String,
/// concerns vector
pub ethical_concerns: Vec<String>,
/// urgency metric
pub urgency_level: u8,
/// required expertise labels
pub required_expertise: Vec<String>,
/// deadline timestamp
pub deadline: chrono::DateTime<Utc>
}Source line: 16.
ethics::HITLResult
HITL result Human-in-the-loop outcome
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum HITLResult {
/// Human review is required; a review id is provided
ReviewRequired {
/// Identifier of the created review request
review_id: String,
},
/// No human review required
NoReviewRequired,
}Source line: 34.
ethics::EthicalComplianceResult
Ethical compliance outcome
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EthicalComplianceResult {
/// decision id
pub decision_id: String,
/// flags
pub principles_compliant: bool,
/// bias-free score
pub bias_free: bool,
/// fairness
pub fairness_validated: bool,
/// transparency
pub transparency_adequate: bool,
/// oversight
pub human_oversight_satisfied: bool,
/// 0..1 overall score
pub compliance_score: f64,
/// recommendations
pub recommendations: Vec<String>
}Source line: 46.
ethics::EthicsEngine
Engine interfaces
#[async_trait::async_trait]
pub trait EthicsEngine: Send + Sync {
/// Validate a decision against the system's ethical principles
async fn validate_against_principles(
&self,
_decision: &AIDecision,
) -> Result<PrinciplesValidation>;
}Source line: 67.
ethics::BiasDetector
Bias detection
#[async_trait::async_trait]
pub trait BiasDetector: Send + Sync {
/// Detect bias in a decision envelope and return analysis
async fn detect_bias(&self, _decision: &AIDecision) -> Result<BiasAnalysis>;
}Source line: 77.
ethics::FairnessValidator
Fairness validation
#[async_trait::async_trait]
pub trait FairnessValidator: Send + Sync {
/// Assess fairness properties of a decision
async fn assess_fairness(&self, _decision: &AIDecision) -> Result<FairnessAssessment>;
}Source line: 84.
ethics::TransparencyManager
Transparency validation
#[async_trait::async_trait]
pub trait TransparencyManager: Send + Sync {
/// Validate transparency requirements for a decision
async fn validate_transparency(&self, _decision: &AIDecision) -> Result<TransparencyCheck>;
}Source line: 91.
ethics::HumanOversightManager
Human oversight
#[async_trait::async_trait]
pub trait HumanOversightManager: Send + Sync {
/// Validate that oversight requirements are satisfied
async fn validate_oversight_requirements(
&self,
_decision: &AIDecision,
) -> Result<OversightValidation>;
/// Submit a review request to human reviewers
async fn submit_for_review(&self, _request: HumanReviewRequest) -> Result<HumanReviewResult>;
}Source line: 98.
ethics::PrinciplesValidation
Simple structs for engine outputs Result of principles validation
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PrinciplesValidation {
/// Whether compliant with ethics principles
pub compliant: bool,
/// Score in 0..1 range
pub score: f64
}Source line: 111.
ethics::BiasAnalysis
Bias analysis output
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BiasAnalysis {
/// Bias score (0..1)
pub bias_score: f64
}Source line: 119.
ethics::FairnessAssessment
Fairness assessment output
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FairnessAssessment {
/// Fair flag
pub fair: bool,
/// Score in 0..1
pub score: f64
}Source line: 125.
ethics::TransparencyCheck
Transparency validation output
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TransparencyCheck {
/// Adequacy flag
pub adequate: bool,
/// Score in 0..1
pub score: f64
}Source line: 133.
ethics::OversightValidation
Oversight validation output
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OversightValidation {
/// Oversight satisfied
pub satisfied: bool,
/// Score in 0..1
pub score: f64
}Source line: 141.
ethics::HumanReviewResult
Human review submission result
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HumanReviewResult {
/// Review id returned by the oversight system
pub review_id: String
}Source line: 149.
ethics::EthicalAIFramework
Ethical AI Framework API
#[async_trait::async_trait]
pub trait EthicalAIFramework: Send + Sync {
/// Validate decision ethics
async fn validate_ethical_compliance(
&self,
decision: &AIDecision,
) -> Result<EthicalComplianceResult>;
/// Implement human-in-the-loop logic
async fn implement_human_in_the_loop(&self, decision: &AIDecision) -> Result<HITLResult>;
}Source line: 156.
ethics::ProductionEthicalAIFramework
Production implementation (composed of engines; default no-op placeholders)
pub struct ProductionEthicalAIFramework<
E: EthicsEngine,
B: BiasDetector,
F: FairnessValidator,
T: TransparencyManager,
H: HumanOversightManager,
> {
}Source line: 167.
ethics::ProductionEthicalAIFramework<E, B, F, T, H>::new
Create a new instance
pub fn new(
ethics_engine: E,
bias_detector: B,
fairness_validator: F,
transparency_manager: T,
human_oversight: H,
) -> Self;Source line: 190.