Weave documentation
Rust referenceweave-compliance

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.

On this page