{
  "schemaVersion": "ga-controlled-transition-rehearsal-v1.0",
  "sourceSchemas": {
    "transitionPlan": "ga-controlled-transition-plan-v1.0",
    "rollbackPlaybook": "ga-abort-rollback-playbook-v1.0",
    "humanDecisionRecord": "ga-human-launch-decision-record-v1.0"
  },
  "mode": "deterministic_transition_rehearsal_template_only",
  "generatedAt": "2026-08-02T13:58:00-06:00",
  "status": "blocked_not_scheduled",
  "targetRing": "controlled_ga",
  "prerequisiteSnapshot": {
    "finalHumanDecisionRecorded": false,
    "transitionAuthorized": false,
    "rollbackTargetAvailable": false,
    "guardrailsConfigured": 0,
    "guardrailsRequired": 8
  },
  "environment": {
    "name": null,
    "type": null,
    "isolated": false,
    "production": false,
    "environmentRef": null
  },
  "session": {
    "scheduledAt": null,
    "timezone": null,
    "facilitatorId": null,
    "recorderId": null,
    "attendanceRef": null
  },
  "requiredRoleTypes": [
    "product_owner",
    "release_operator",
    "independent_security_observer",
    "operations_lead",
    "customer_success_lead",
    "decision_chair"
  ],
  "steps": [
    {
      "id": "confirm_rehearsal_scope",
      "order": 1,
      "label": "Confirmar alcance del rehearsal",
      "requiredHumanAction": "Confirmar que el rehearsal no toca producción, clientes, billing, conectores o datos externos.",
      "requiredRole": "decision_chair",
      "dependencyIds": [],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    },
    {
      "id": "inspect_candidate_identity_contract",
      "order": 2,
      "label": "Inspeccionar identidad del candidato",
      "requiredHumanAction": "Recorrer el contrato de versión, commit y digest sin asignar un candidato inexistente.",
      "requiredRole": "product_owner",
      "dependencyIds": [
        "confirm_rehearsal_scope"
      ],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    },
    {
      "id": "walk_change_window_authorization",
      "order": 3,
      "label": "Recorrer autorización de ventana",
      "requiredHumanAction": "Verificar qué aprobación humana y referencia serían obligatorias antes de calendarizar una transición.",
      "requiredRole": "decision_chair",
      "dependencyIds": [
        "inspect_candidate_identity_contract"
      ],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    },
    {
      "id": "simulate_guardrail_observation",
      "order": 4,
      "label": "Simular observación de guardrails",
      "requiredHumanAction": "Recorrer cómo se evaluarían ocho guardrails sin conectar telemetría real.",
      "requiredRole": "operations_lead",
      "dependencyIds": [
        "walk_change_window_authorization"
      ],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    },
    {
      "id": "simulate_abort_decision",
      "order": 5,
      "label": "Simular decisión de abort",
      "requiredHumanAction": "Recorrer quién podría decidir un abort y qué evidencia humana sería requerida.",
      "requiredRole": "independent_security_observer",
      "dependencyIds": [
        "simulate_guardrail_observation"
      ],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    },
    {
      "id": "walk_rollback_action_order",
      "order": 6,
      "label": "Recorrer orden de rollback",
      "requiredHumanAction": "Validar el orden lógico de las siete acciones sin ejecutar infraestructura o restauración.",
      "requiredRole": "release_operator",
      "dependencyIds": [
        "simulate_abort_decision"
      ],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    },
    {
      "id": "inspect_recovery_verification",
      "order": 7,
      "label": "Inspeccionar verificación de recuperación",
      "requiredHumanAction": "Confirmar qué evidencia sería necesaria para cinco recovery checks humanos.",
      "requiredRole": "operations_lead",
      "dependencyIds": [
        "walk_rollback_action_order"
      ],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    },
    {
      "id": "prepare_rehearsal_findings_record",
      "order": 8,
      "label": "Preparar registro de findings",
      "requiredHumanAction": "Preparar el formato de findings y recomendación sin registrar resultados sintéticos.",
      "requiredRole": "customer_success_lead",
      "dependencyIds": [
        "inspect_recovery_verification"
      ],
      "status": "blocked",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "started": false,
      "completed": false,
      "evidenceRefs": []
    }
  ],
  "scenarios": [
    {
      "id": "scenario-candidate-mismatch",
      "label": "Candidato distinto al aprobado",
      "type": "candidate_identity_mismatch",
      "requiredOwnerRole": "product_owner",
      "status": "not_started",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "outcome": null,
      "notesRef": null
    },
    {
      "id": "scenario-guardrail-breach",
      "label": "Guardrail operativo o de seguridad excedido",
      "type": "guardrail_breach",
      "requiredOwnerRole": "independent_security_observer",
      "status": "not_started",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "outcome": null,
      "notesRef": null
    },
    {
      "id": "scenario-access-failure",
      "label": "Fallo de identidad o acceso",
      "type": "access_control_failure",
      "requiredOwnerRole": "independent_security_observer",
      "status": "not_started",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "outcome": null,
      "notesRef": null
    },
    {
      "id": "scenario-rollback-verification",
      "label": "Rollback sin evidencia de recuperación",
      "type": "rollback_verification_failure",
      "requiredOwnerRole": "operations_lead",
      "status": "not_started",
      "assignedHumanId": null,
      "startedAt": null,
      "completedAt": null,
      "outcome": null,
      "notesRef": null
    }
  ],
  "findings": [],
  "result": {
    "evaluated": false,
    "value": null,
    "rationaleRef": null,
    "signedOffBy": null,
    "signedOffAt": null
  },
  "summary": {
    "steps": 8,
    "blockedSteps": 8,
    "assignedSteps": 0,
    "startedSteps": 0,
    "completedSteps": 0,
    "scenarios": 4,
    "assignedScenarios": 0,
    "startedScenarios": 0,
    "completedScenarios": 0,
    "findings": 0,
    "evidenceRefs": 0
  },
  "nextHumanAction": {
    "action": "Record a final human decision, authorize a non-production rehearsal environment and schedule the rehearsal separately.",
    "executed": false
  },
  "recommendation": {
    "value": "do_not_transition",
    "reasonCodes": [
      "human_decision_absent",
      "rehearsal_environment_absent",
      "rehearsal_not_scheduled",
      "scenarios_not_executed",
      "rehearsal_result_absent"
    ],
    "canOverrideHumanDecision": false
  },
  "authority": {
    "environmentProvisioningAllowed": false,
    "roleAssignmentAllowed": false,
    "rehearsalSchedulingAllowed": false,
    "scenarioExecutionAllowed": false,
    "stepExecutionAllowed": false,
    "findingsRecordingAllowed": false,
    "evidenceAttachmentAllowed": false,
    "resultRecordingAllowed": false,
    "signoffRecordingAllowed": false,
    "transitionStartAllowed": false,
    "rollbackExecutionAllowed": false,
    "productionMutationAllowed": false,
    "telemetryConnectionAllowed": false,
    "externalCommunicationAllowed": false,
    "customerActivationAllowed": false,
    "readyForReviewAllowed": false,
    "mergeAllowed": false,
    "deploymentAllowed": false,
    "productionReleaseAllowed": false,
    "externalEffect": false,
    "humanDecisionRequired": true,
    "separateRehearsalAuthorizationRequired": true
  }
}
