GCC Build OSv0
/api

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"
}