BASIS/Failure Modes

Failure Modes

Layer-by-layer failure handling

Core Principles

Fail Secure

On failure, default to DENY, not ALLOW. No action proceeds when governance cannot be evaluated.

Fail Auditable

All failures MUST be logged. No silent failures allowed in governance systems.

Fail Gracefully

Provide meaningful errors to clients with actionable information.

Fail Recoverable

Design for eventual recovery. Queue operations for retry when appropriate.

Default Behavior

When any governance component fails, the default behavior is:

Decision: DENY
Reason: "governance_unavailable"
Code: E1310
Retryable: true

Critical: Implementations MUST NOT allow actions to proceed when governance cannot be evaluated.

Layer Failure Modes

INTENT Layer

IDFailureBehaviorRetry
F-INTENT-001Parse FailureDENYNo
F-INTENT-002Risk Assessment FailureESCALATEYes
F-INTENT-003Service TimeoutDENYYes

ENFORCE Layer

IDFailureBehaviorRetry
F-ENFORCE-001Trust Score UnavailableDENYYes
F-ENFORCE-002Policy Evaluation FailureDENYYes
F-ENFORCE-003Escalation Target UnavailableDENYYes

PROOF Layer

IDFailureBehaviorRetry
F-PROOF-001Proof Generation FailureWARN (action proceeds)Yes
F-PROOF-002Proof Storage FailureWARN (buffered)Yes
F-PROOF-003Chain Integrity FailureHALT + ALERTNo

CHAIN Layer

IDFailureBehaviorRetry
F-CHAIN-001Blockchain UnavailableWARN (queued)Yes
F-CHAIN-002Anchor Transaction FailedWARN (retry)Yes

Recovery Configuration

retry_config:
  default:
    max_attempts: 3
    initial_delay_ms: 100
    max_delay_ms: 5000
    backoff_multiplier: 2.0
    jitter: 0.1

  database:
    max_attempts: 5
    initial_delay_ms: 50
    max_delay_ms: 2000

  blockchain:
    max_attempts: 10
    initial_delay_ms: 1000
    max_delay_ms: 60000

Required Monitoring

MetricAlert Threshold
intent_parse_failure_rate> 5%
enforce_decision_latency_p99> 500ms
proof_generation_failure_rate> 1%
trust_score_unavailable_rate> 0.1%
circuit_breaker_open_count> 0

For complete failure handling including circuit breaker patterns, chaos testing requirements, and game day scenarios, see the full document on GitHub.

View Full Failure Modes on GitHub