Crate duende_policy

Crate duende_policy 

Source
Expand description

§duende-policy

Policy enforcement for the Duende daemon framework.

This crate provides:

  • Quality gates: PMAT-based code quality enforcement
  • Circuit breakers: 3-state failure protection
  • Resource limiters: cgroups/setrlimit enforcement
  • Jidoka automation: Stop-on-error with recommendations

§Iron Lotus Framework

  • Jidoka (自働化): Automatic stop on quality violations
  • Poka-Yoke (ポカヨケ): Mistake-proofing via policy enforcement
  • Standardized Work: Consistent policy application

§Example

use duende_policy::{CircuitBreaker, CircuitState};

let mut breaker = CircuitBreaker::new(5, Duration::from_secs(30));

if breaker.allow() {
    match do_work().await {
        Ok(_) => breaker.record_success(),
        Err(_) => breaker.record_failure(),
    }
}

Re-exports§

pub use circuit_breaker::CircuitBreaker;
pub use circuit_breaker::CircuitState;
pub use error::PolicyError;
pub use error::Result;
pub use gate::GateConfig;
pub use gate::GateResult;
pub use gate::QualityAnalysis;
pub use gate::QualityGate;
pub use gate::QualityViolation;
pub use jidoka::CheckItem;
pub use jidoka::Evidence;
pub use jidoka::JidokaCheck;
pub use jidoka::JidokaGate;
pub use jidoka::JidokaResult;
pub use jidoka::JidokaViolation;
pub use jidoka::ViolationKind;
pub use limiter::ResourceLimiter;
pub use limiter::ResourceLimits;

Modules§

circuit_breaker
Circuit breaker pattern implementation.
error
Policy error types.
gate
Quality gate enforcement.
jidoka
Jidoka (自働化) automation - stop-on-error with recommendations.
limiter
Resource limit enforcement via cgroups v2 (Linux) and setrlimit (others).