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 Type | Version Bump | Cached Authorization |
|---|---|---|
| Breaking: required_state.always added | MAJOR | Invalidated |
| Breaking: state_axis removed | MAJOR | Invalidated |
| Non-breaking: conditional rule added | MINOR | Valid |
| Documentation/description only | PATCH | Valid |
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:
deprecated_atset → Ontology still functions but emits warning in audit logsunset_atpassed → Ontology returnsBLOCKEDwith migration guidancemigration_pathMUST be provided whendeprecated_atis 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
⸻