Weave documentation
Rust referenceweave-compliance

weave-compliance · governance

Source declarations, signatures and documentation for governance.

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/governance.rs. SHA-256: de6cfd98e4de987034bd13de713513d8626060a4faf28ab2925063516c842504.

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.

governance::DataAsset

Data asset descriptor

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DataAsset {
/// id of the data asset

pub id: String,
/// classification label (computed or provided)

pub classification: Option<String>
}

Source line: 7.

governance::DataGovernanceResult

Governance result

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DataGovernanceResult {
/// data id

pub data_id: String,
/// classification label

pub classification: String,
/// applied privacy controls label

pub privacy_controls: String
}

Source line: 16.

governance::DataOperationRecord

Data operation used for lineage

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DataOperationRecord {
/// op id

pub operation_id: String,
/// source

pub source_data: String,
/// target

pub target_data: String,
/// type

pub transformation_type: String,
/// actor

pub actor: String,
/// timestamp

pub timestamp: chrono::DateTime<Utc>
}

Source line: 27.

governance::DataGovernanceManager

Data governance manager

#[async_trait::async_trait]
pub trait DataGovernanceManager: Send + Sync {
    /// Classify and protect a data asset
    async fn classify_and_protect_data(&self, data: &DataAsset) -> Result<DataGovernanceResult>;
    /// Track lineage of a data operation
    async fn track_data_lineage(&self, record: &DataOperationRecord)
        -> Result<DataOperationRecord>;
}

Source line: 44.

governance::ProductionDataGovernanceManager

Production implementation (in-memory policies)

pub struct ProductionDataGovernanceManager;

Source line: 53.

governance::ProductionDataGovernanceManager::new

Create a new instance

pub fn new() -> Self;

Source line: 57.

On this page