AIInterpretationAcceptedevent type
Human accepted an AI interpretation, optionally with edits. Q11: human_edit_distance and accepted_unchanged are recorded to prevent AI-by-laundering; audit views surface 'accepted unchanged from AI' prominently.
Full spec
{
"name": "AIInterpretationAccepted",
"description": "Human accepted an AI interpretation, optionally with edits. Q11: human_edit_distance and accepted_unchanged are recorded to prevent AI-by-laundering; audit views surface 'accepted unchanged from AI' prominently.",
"current_version": 1,
"actor_type_allowed": [
"human"
],
"object_type": "AIInterpretation",
"payload_versions": {
"v1": {
"type": "object",
"additionalProperties": false,
"required": [
"interpretation_id",
"accepted_by",
"human_edit_distance",
"accepted_unchanged"
],
"properties": {
"interpretation_id": {
"type": "string",
"format": "uuid"
},
"accepted_by": {
"type": "string",
"format": "uuid"
},
"human_edit_distance": {
"type": "integer",
"minimum": 0,
"description": "Q11: character-level edit distance between AI draft and accepted text. Zero when accepted_unchanged is true."
},
"accepted_unchanged": {
"type": "boolean",
"description": "Q11: convenience boolean equivalent to human_edit_distance === 0; the two MUST agree."
},
"resulting_node_id": {
"type": [
"string",
"null"
],
"format": "uuid",
"description": "If acceptance created an operational-truth node (e.g., an Answer), reference it. Null if the interpretation remains read-only context."
}
}
}
},
"projections_consuming": [
"ai_interpretations_view",
"ai_acceptance_audit_view",
"audit_log"
],
"canonicalizer_module": "event-canonicalizers/ai_interpretation_accepted.ts"
}