{
    "status": "done",
    "apply": true,
    "plan_version": 1243,
    "programme_id": 4,
    "libelle": "test facture sage",
    "drive_id": "b!Lb5Nj_7no0-TvERMwiGROelZ0oYm3lRPoBPnvB8oMpw8fXTxRouYSq6MDPP7Jwz3",
    "root_id": "01T6OSQJN2L73JGBHZFNAICN66JHIQDFI4",
    "queue": [],
    "journal": [
        {
            "programme": 4,
            "source": "05_SUIVI_CHANTIER/_old_2_ENTREPRISES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "destination": "05_SUIVI_CHANTIER/4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "dossier": "_old_2_ENTREPRISES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "action": "move",
            "resultat": "planifié",
            "detail": "CONSTRUCTION_-_VRD_PRO_CARRELAGE"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/00_PIECES_ADMINISTRATIVES",
            "destination": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/1_ADMINISTRATIF",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/00_PIECES_ADMINISTRATIVES",
            "action": "rename",
            "resultat": "planifié",
            "detail": "1_ADMINISTRATIF"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/01_CONTRAT_AVENANTS",
            "destination": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/2_CONTRATS_ET_AVENANTS",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/01_CONTRAT_AVENANTS",
            "action": "rename",
            "resultat": "planifié",
            "detail": "2_CONTRATS_ET_AVENANTS"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "destination": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/4_DOC_LIBRES",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/4_DOC_LIBRES",
            "action": "ensure",
            "resultat": "planifié",
            "detail": "4_DOC_LIBRES"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/03_DOCUMENTS",
            "destination": "(suppression si vide)",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/03_DOCUMENTS",
            "action": "delete_only_if_empty",
            "resultat": "planifié",
            "detail": null
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/04_JURIDIQUE",
            "destination": "(suppression si vide)",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/04_JURIDIQUE",
            "action": "delete_only_if_empty",
            "resultat": "planifié",
            "detail": null
        },
        {
            "programme": 4,
            "source": "05_SUIVI_CHANTIER/_old_1_PRESTATAIRES",
            "destination": "(suppression si vide)",
            "dossier": "05_SUIVI_CHANTIER/_old_1_PRESTATAIRES",
            "action": "delete_only_if_empty",
            "resultat": "planifié",
            "detail": null
        },
        {
            "programme": 4,
            "source": "05_SUIVI_CHANTIER/_old_2_ENTREPRISES",
            "destination": "(suppression si vide)",
            "dossier": "05_SUIVI_CHANTIER/_old_2_ENTREPRISES",
            "action": "delete_only_if_empty",
            "resultat": "planifié",
            "detail": null
        },
        {
            "programme": 4,
            "source": "05_SUIVI_CHANTIER/_old_2_ENTREPRISES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "destination": "05_SUIVI_CHANTIER/4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "dossier": "_old_2_ENTREPRISES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "action": "move",
            "resultat": "déplacé (move Graph PATCH parentReference)",
            "detail": {
                "id": "01T6OSQJOJSIKVZ6JFPRDZAVRKELRVZGSI",
                "webUrl": "https://hectaresa.sharepoint.com/sites/envol2026/PROGRAMMES/01/TEST/ENV01-001--TEST_FACTURE_SAGE/05_SUIVI_CHANTIER/4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
                "name": "CONSTRUCTION_-_VRD_PRO_CARRELAGE"
            },
            "at": "2026-08-07T13:43:01+00:00"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/00_PIECES_ADMINISTRATIVES",
            "destination": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/1_ADMINISTRATIF",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/00_PIECES_ADMINISTRATIVES",
            "action": "rename",
            "resultat": "renommé",
            "detail": {
                "id": "01T6OSQJJA22A2A4VSKNHKGMWEIG22MAAA",
                "webUrl": "https://hectaresa.sharepoint.com/sites/envol2026/PROGRAMMES/01/TEST/ENV01-001--TEST_FACTURE_SAGE/05_SUIVI_CHANTIER/4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/1_ADMINISTRATIF",
                "name": "1_ADMINISTRATIF"
            },
            "at": "2026-08-07T13:43:01+00:00"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/01_CONTRAT_AVENANTS",
            "destination": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/2_CONTRATS_ET_AVENANTS",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/01_CONTRAT_AVENANTS",
            "action": "rename",
            "resultat": "renommé",
            "detail": {
                "id": "01T6OSQJLK2IO4Y5DKOVALV2HKRBB4MLMX",
                "webUrl": "https://hectaresa.sharepoint.com/sites/envol2026/PROGRAMMES/01/TEST/ENV01-001--TEST_FACTURE_SAGE/05_SUIVI_CHANTIER/4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/2_CONTRATS_ET_AVENANTS",
                "name": "2_CONTRATS_ET_AVENANTS"
            },
            "at": "2026-08-07T13:43:02+00:00"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE",
            "destination": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/4_DOC_LIBRES",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/4_DOC_LIBRES",
            "action": "ensure",
            "resultat": "créé",
            "detail": "01T6OSQJLORAYZ7UFCENEIRGYJHBV7BHQ7",
            "at": "2026-08-07T13:43:02+00:00"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/03_DOCUMENTS",
            "destination": "(suppression si vide)",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/03_DOCUMENTS",
            "action": "delete_only_if_empty",
            "resultat": "supprimé (vide vérifié)",
            "detail": null,
            "at": "2026-08-07T13:43:03+00:00"
        },
        {
            "programme": 4,
            "source": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/04_JURIDIQUE",
            "destination": "(suppression si vide)",
            "dossier": "4_PRESTATAIRES/CONSTRUCTION_-_VRD_PRO_CARRELAGE/04_JURIDIQUE",
            "action": "delete_only_if_empty",
            "resultat": "supprimé (vide vérifié)",
            "detail": null,
            "at": "2026-08-07T13:43:04+00:00"
        },
        {
            "programme": 4,
            "source": "05_SUIVI_CHANTIER/_old_1_PRESTATAIRES",
            "destination": "(suppression si vide)",
            "dossier": "05_SUIVI_CHANTIER/_old_1_PRESTATAIRES",
            "action": "delete_only_if_empty",
            "resultat": "supprimé (vide vérifié)",
            "detail": null,
            "at": "2026-08-07T13:43:04+00:00"
        },
        {
            "programme": 4,
            "source": "05_SUIVI_CHANTIER/_old_2_ENTREPRISES",
            "destination": "(suppression si vide)",
            "dossier": "05_SUIVI_CHANTIER/_old_2_ENTREPRISES",
            "action": "delete_only_if_empty",
            "resultat": "supprimé (vide vérifié)",
            "detail": null,
            "at": "2026-08-07T13:43:05+00:00"
        }
    ],
    "errors": [],
    "notes": [
        "1_PRESTATAIRES déjà renommé en _old_1_PRESTATAIRES — skip rename",
        "2_ENTREPRISES déjà renommé en _old_2_ENTREPRISES — skip rename",
        "#1243 : marchés déplacés automatiquement _old_/3_CONCESSIONNAIRES → 4_PRESTATAIRES (item_id).",
        "#1241 n'avait PAS renommé les sous-dossiers marché (00_PIECES…) — normalisés ici.",
        "moveDriveItem = PATCH parentReference (métadonnée, item_id conservé). Ne pas réécrire sharepoint_url.",
        "Réversibilité : move inverse 4_PRESTATAIRES/{marché} → _old_1_PRESTATAIRES (recréer le parent si besoin)."
    ],
    "collisions": [],
    "message": "Migration terminée (idempotente). Relancer → 0 opération si déjà conforme.",
    "error": null,
    "batch_done": 0,
    "updated_at": "2026-08-07T13:44:35+00:00"
}