{
    "at": "2026-08-19T15:01:48-03:00",
    "ready": false,
    "cutover_executed": false,
    "ivms_disabled": false,
    "host": "evo",
    "app_env": "local",
    "cameras_total": 60,
    "cameras_real": 0,
    "cameras_lab": 60,
    "recording_enabled": 0,
    "disks": 2,
    "gates": [
        {
            "id": "ffmpeg",
            "label": "FFmpeg disponível",
            "ok": true,
            "blocking": true,
            "detail": "Necessário para gravar."
        },
        {
            "id": "storage_root",
            "label": "IPCAM_STORAGE_ROOT fora do webroot",
            "ok": false,
            "blocking": true,
            "detail": "\/var\/www\/html\/ipcam\/storage"
        },
        {
            "id": "disks_uuid",
            "label": "Discos online com UUID",
            "ok": false,
            "blocking": true,
            "detail": "2 disco(s) cadastrado(s)"
        },
        {
            "id": "disks_independent",
            "label": "Discos em filesystem independente do SO",
            "ok": false,
            "blocking": true,
            "detail": "Sem RAID\/LVM spanning; cada HDD no próprio mount."
        },
        {
            "id": "real_cameras",
            "label": "Pelo menos 3 câmera(s) RTSP reais (não lavfi)",
            "ok": false,
            "blocking": true,
            "detail": "reais=0 lavfi\/lab=60"
        },
        {
            "id": "carga_off",
            "label": "Câmeras de carga simulada sem gravação",
            "ok": true,
            "blocking": true,
            "detail": "Carga * com recording_enabled: 0"
        },
        {
            "id": "ivms_export",
            "label": "Export\/config iVMS presente (rollback)",
            "ok": false,
            "blocking": true,
            "detail": "\/var\/www\/html\/ipcam\/apps\/panel\/storage\/app\/cutover\/ivms-export"
        },
        {
            "id": "nvr_reserve",
            "label": "NVR reserva confirmado pelo operador",
            "ok": false,
            "blocking": true,
            "detail": "Defina IPCAM_NVR_RESERVE=true só depois de confirmar o equipamento."
        },
        {
            "id": "rollback_media",
            "label": "Mídia de rollback (ISO\/instalador iVMS) acessível",
            "ok": false,
            "blocking": true,
            "detail": "\/var\/www\/html\/ipcam\/apps\/panel\/storage\/app\/cutover\/rollback-media"
        },
        {
            "id": "retention",
            "label": "Política de retenção por idade > 0 (sem reencode automático)",
            "ok": false,
            "blocking": false,
            "detail": "IPCAM_RETENTION_DAYS=0 (lab usa 0)"
        },
        {
            "id": "debug_off",
            "label": "APP_DEBUG desligado em produção",
            "ok": true,
            "blocking": false,
            "detail": "APP_ENV=local APP_DEBUG=true"
        },
        {
            "id": "teto_ffmpeg",
            "label": "Teto FFmpeg cobre a frota real (ou corte em lotes)",
            "ok": true,
            "blocking": false,
            "detail": "reais=0 teto=8"
        },
        {
            "id": "no_side_effect",
            "label": "Checker não alterou recording_enabled",
            "ok": true,
            "blocking": true,
            "detail": "antes=0 depois=0"
        }
    ],
    "manifest": [
        {
            "id": 2,
            "name": "Simulador (lavfi)",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 4,
            "name": "Carga 02",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 5,
            "name": "Carga 03",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 6,
            "name": "Carga 04",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 7,
            "name": "Carga 05",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 8,
            "name": "Carga 06",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 9,
            "name": "Carga 07",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 10,
            "name": "Carga 08",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 11,
            "name": "Carga 09",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 12,
            "name": "Carga 10",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 13,
            "name": "Carga 11",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 14,
            "name": "Carga 12",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 15,
            "name": "Carga 13",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 16,
            "name": "Carga 14",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 17,
            "name": "Carga 15",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 18,
            "name": "Carga 16",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 19,
            "name": "Carga 17",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 20,
            "name": "Carga 18",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 21,
            "name": "Carga 19",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 22,
            "name": "Carga 20",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 23,
            "name": "Carga 21",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 24,
            "name": "Carga 22",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 25,
            "name": "Carga 23",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 26,
            "name": "Carga 24",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 27,
            "name": "Carga 25",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 28,
            "name": "Carga 26",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 29,
            "name": "Carga 27",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 30,
            "name": "Carga 28",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 31,
            "name": "Carga 29",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 32,
            "name": "Carga 30",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 33,
            "name": "Carga 31",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 34,
            "name": "Carga 32",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 35,
            "name": "Carga 33",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 36,
            "name": "Carga 34",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 37,
            "name": "Carga 35",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 38,
            "name": "Carga 36",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 39,
            "name": "Carga 37",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 40,
            "name": "Carga 38",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 41,
            "name": "Carga 39",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 42,
            "name": "Carga 40",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 43,
            "name": "Carga 41",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 44,
            "name": "Carga 42",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 45,
            "name": "Carga 43",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 46,
            "name": "Carga 44",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 47,
            "name": "Carga 45",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 48,
            "name": "Carga 46",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 49,
            "name": "Carga 47",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 50,
            "name": "Carga 48",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 51,
            "name": "Carga 49",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 52,
            "name": "Carga 50",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 53,
            "name": "Carga 51",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 54,
            "name": "Carga 52",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 55,
            "name": "Carga 53",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 56,
            "name": "Carga 54",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 57,
            "name": "Carga 55",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 58,
            "name": "Carga 56",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 59,
            "name": "Carga 57",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 60,
            "name": "Carga 58",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 61,
            "name": "Carga 59",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        },
        {
            "id": 62,
            "name": "Carga 60",
            "host": "127.0.0.1",
            "lab": true,
            "recording_enabled": false,
            "record_url_kind": "lavfi"
        }
    ],
    "reason": "NO-GO: storage_root, disks_uuid, disks_independent, real_cameras, ivms_export, nvr_reserve, rollback_media. Runbook em docs\/CUTOVER.md. Não execute cutover neste estado."
}
