CAIN-42 CAIN Studio

Developer documentation

CAIN Drift

Last reviewed 31 August 2026

All docs

Status: PARTIAL - Baselines, observations, comparisons, findings, evidence, and lifecycle management are operational. CLI and MCP integration pending.

Overview#

CAIN Drift detects meaningful changes in autonomous AI systems before drift becomes an incident. It is part of CAIN Trust Fabric and integrates with existing CAIN infrastructure.

Architecture#

BASELINE → OBSERVE → COMPARE → DETECT → CLASSIFY → CORRELATE → EVIDENCE → IMPACT → GOVERN → REMEDIATE → VERIFY

Key Principle: Drift detects. Governance decides. Enforcement enforces. Evidence records.

Drift Classes#

ClassDescriptionDetects
data_driftStatistical changes in data distributionsPSI, JS divergence, KS test, mean/variance shift
model_driftChanges in AI model configurationProvider, version, temperature, system prompt, tools
tool_driftChanges in tool/MCP configurationsSchema, permissions, endpoint, version, capabilities
policy_driftChanges in authorization policiesRules, risk thresholds, approval requirements
agent_behavior_driftChanges in agent behavior patternsAction frequency, tool selection, denial rate
security_driftChanges in security postureAttack surface, credentials, suspicious activity
compliance_driftChanges in compliance postureCompliance score, open findings
configuration_driftChanges in system configurationConfig changes
trajectory_driftChanges in execution trajectoriesTrajectory patterns
evidence_driftChanges in evidence patternsEvidence volume, types, integrity

API Endpoints#

Health & Status#

GET /fabric/drift/health     - Service health check
GET /fabric/drift/status     - Service status
GET /fabric/drift/stats      - Drift statistics

Baselines#

POST /fabric/drift/baselines           - Create baseline
GET  /fabric/drift/baselines           - List baselines
GET  /fabric/drift/baselines/{id}    - Get baseline
POST /fabric/drift/baselines/{id}/activate   - Activate baseline
POST /fabric/drift/baselines/{id}/archive    - Archive baseline

Detection#

POST /fabric/drift/observe   - Observe current state and detect drift
POST /fabric/drift/compare    - Compare current state against baseline

Findings#

GET  /fabric/drift/findings                    - List findings
GET  /fabric/drift/findings/{id}               - Get finding
GET  /fabric/drift/findings/{id}/history       - Get status history
GET  /fabric/drift/findings/{id}/impact        - Get impact assessment
POST /fabric/drift/findings/{id}/acknowledge   - Acknowledge finding
POST /fabric/drift/findings/{id}/investigate   - Mark investigating
POST /fabric/drift/findings/{id}/mitigate      - Mark mitigated
POST /fabric/drift/findings/{id}/resolve       - Mark resolved
POST /fabric/drift/findings/{id}/accept        - Accept risk
POST /fabric/drift/findings/{id}/false_positive - Mark as false positive

Authentication#

All endpoints require tenant query parameter. Additional authentication may be required for production use.

Finding Lifecycle#

detected → acknowledged → investigating → mitigated → resolved
                                                      ↘ accepted
                                                      ↘ false_positive

Evidence Chain#

Every drift detection produces evidence in the CAIN Evidence Fabric:

{
  "drift_id": "...",
  "tenant": "...",
  "baseline": {...},
  "observation": {...},
  "comparison": {...},
  "finding": {...},
  "classification": "...",
  "severity": "...",
  "metrics": {
    "baseline_value": ...,
    "current_value": ...,
    "delta": ...,
    "delta_percent": ...,
    "threshold": ...,
    "confidence": ...
  },
  "evidence_chain": ["baseline", "observation", "comparison", "finding"]
}

Compliance Integration#

Drift triggers reassessment but does NOT automatically fail controls. The compliance engine determines actual control status.

Severity Levels#

SeverityDescription
criticalCredentials, permissions, or safety config changed
highModel, version, schema, or endpoint changed
mediumDescription, configuration, or state changed
lowMinor changes detected

CLI Commands#

cain drift status --tenant <tenant>
cain drift baselines --tenant <tenant>
cain drift observe --tenant <tenant> --entity-id <id> --current-state <json>
cain drift compare --tenant <tenant> --entity-id <id> --current-state <json>
cain drift findings --tenant <tenant> [--severity <sev>] [--status <status>]
cain drift inspect --tenant <tenant> --finding-id <id>

Limitations#

  • CLI: Commands implemented but require testing
  • MCP: Tools not yet implemented
  • Agent Behavior Drift: Partial - requires trajectory data
  • Security Drift: Partial - requires live security events
  • Real-time SSE: Events emit to observability, Redis pub/sub not implemented

Production Status#

ComponentStatus
BaselinesOPERATIONAL
ObservationsOPERATIONAL
ComparisonsOPERATIONAL
FindingsOPERATIONAL
EvidenceOPERATIONAL
LifecycleOPERATIONAL
CLIIMPLEMENTED (pending test)
MCPNOT IMPLEMENTED
Portal DocsTHIS DOCUMENT

Contact#

For issues or questions, see CAIN Studio Platform documentation.