{
  "type": "object",
  "additionalProperties": false,
  "required": ["outcome", "application", "retrospective", "reason", "requirements"],
  "properties": {
    "outcome": {"type": "string", "enum": ["implemented", "blocked"]},
    "reason": {"type": ["string", "null"]},
    "requirements": {"type": ["array", "null"], "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["requirement", "satisfied", "evidence", "run", "result", "id", "evidenceType", "environment"], "properties": {"requirement": {"type": "string"}, "satisfied": {"type": "boolean"}, "evidence": {"type": "string"}, "run": {"type": ["string", "null"], "enum": ["red", "baseline", null]}, "result": {"type": ["string", "null"], "enum": ["passed", "failed", null]}, "id": {"type": ["string", "null"]}, "evidenceType": {"type": ["string", "null"]}, "environment": {"type": ["string", "null"]}}}},
    "application": {
      "type": "object", "additionalProperties": false,
      "required": ["status", "note"],
      "properties": {
        "status": {"type": "string", "enum": ["applied", "no_relevant_lesson"]},
        "note": {"type": ["string", "null"]}
      }
    },
    "retrospective": {
      "type": "object", "additionalProperties": false,
      "required": ["status", "candidates", "reason"],
      "properties": {
        "status": {"type": "string", "enum": ["no_new_lesson", "lesson_candidate", "writeback_pending"]},
        "reason": {"type": ["string", "null"]},
        "candidates": {
          "type": "array", "maxItems": 3,
          "items": {
            "type": "object", "additionalProperties": false,
            "required": ["classification", "trigger", "action", "evidence"],
            "properties": {
              "classification": {"type": "string", "enum": ["structured", "memory_only"]},
              "trigger": {"type": "string"},
              "action": {"type": "string"},
              "evidence": {"type": "array", "minItems": 1, "maxItems": 8, "items": {"type": "string"}}
            }
          }
        }
      }
    }
  }
}
