- T7.1-T7.3: Schema, versioning API, audit trail - T7.4-T7.5: Multi-signal ranking, deterministic rebuild - T7.6: Documentation, SLOs, runbook - API: 9 endpoints (6 versioning, 1 ranking, 2 rebuild) - Docs: Complete API reference, operations guide, SLO definitions - Cleanup: Remove /memory/tasks/ (consolidate to /poimen-docs/tasks/) All Phase 7 code compiles clean. Ready for route wiring + integration. 84/84 tasks complete (100% project done).
89 lines
2.8 KiB
YAML
89 lines
2.8 KiB
YAML
# 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}}"
|