# SLO: Consistency & Integrity # Targets: # - Rebuild parity: 100% (zero drift) # - Audit chain: 100% (zero broken chains) # - Durability: 0 data loss events apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: memory-consistency namespace: monitoring spec: groups: - name: consistency interval: 5m rules: # Rebuild parity check - alert: RebuildParityFailed expr: | memory_rebuild_parity_check{status="failed"} > 0 for: 0m labels: severity: critical slo: consistency annotations: summary: "Deterministic rebuild failed parity check" description: "Rebuild {{$labels.rebuild_id}} checksum mismatch" runbook: "/docs/operations/rebuild-parity-failure" # Audit chain integrity - alert: AuditChainBroken expr: | memory_audit_chain_verification{valid="false"} > 0 for: 0m labels: severity: critical slo: consistency annotations: summary: "Audit hash chain integrity violation detected" description: "Entity {{$labels.entity_id}} v{{$labels.version}}" runbook: "/docs/operations/audit-chain-broken" # Data loss detection (event log lag) - alert: EventLogBehind expr: | ( memory_entity_version_count{service="memory"} - on() group_left memory_event_log_count{service="memory"} ) > 100 for: 1m labels: severity: critical slo: consistency annotations: summary: "Event log lag detected (potential data loss)" description: "Version count ahead of log by {{$value}} records" # Recording rule: rebuild success rate - record: memory:rebuild:success_rate expr: | ( sum(rate(memory_rebuild_total{status="success"}[1h])) / sum(rate(memory_rebuild_total[1h])) ) * 100 # Recording rule: audit chain validity - record: memory:audit:chain_valid_rate expr: | ( sum(rate(memory_audit_chain_verification{valid="true"}[1h])) / sum(rate(memory_audit_chain_verification[1h])) ) * 100 # SLO: Consistency gate - alert: ConsistencySLOBreach expr: | (memory:rebuild:success_rate < 100) or (memory:audit:chain_valid_rate < 100) for: 1m labels: severity: critical slo: consistency annotations: summary: "Consistency SLO breach (100% required)" description: "Rebuild: {{$value | humanizePercentage}}"