Skip to content
OnticBeta
RFC-0012

Drift Detection

canonical

RFC-0012: Drift Detection

Purpose

Prevent silent degradation of safety over time.

Requirements • Ontology objects are versioned • Changes to required state invalidate cached authorizations • Drift detection tests must attempt to break minimal state definitions

Versioning Requirements (Amendment)

Semantic Versioning: Ontology versions follow MAJOR.MINOR.PATCH:

Change TypeVersion BumpCached Authorization
Breaking: required_state.always addedMAJORInvalidated
Breaking: state_axis removedMAJORInvalidated
Non-breaking: conditional rule addedMINORValid
Documentation/description onlyPATCHValid

Lifecycle Fields:

interface OntologyLifecycle {
  version: string; // "1.2.0"
  deprecated_at?: string; // ISO 8601 timestamp when deprecated
  sunset_at?: string; // ISO 8601 timestamp when will be removed
  migration_path?: string; // canonical_id of replacement ontology
  changelog_url?: string; // URL to version history
}

Deprecation Policy:

  1. deprecated_at set → Ontology still functions but emits warning in audit log
  2. sunset_at passed → Ontology returns BLOCKED with migration guidance
  3. migration_path MUST be provided when deprecated_at is set

Backward Compatibility:

  • MINOR/PATCH versions MUST be backward compatible
  • Clients using older versions receive the response they expect
  • Breaking changes require MAJOR version bump and explicit opt-in