{
  "name": "Veille — Filet de sécurité 8h",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 8 * * 1-5"
            }
          ]
        }
      },
      "id": "d1111111-0000-0000-0000-000000000001",
      "name": "Déclencheur 8h00 (lun-ven)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        448,
        80
      ],
      "notes": "À 8h, la routine Claude Code (7h) doit avoir tourné. Si des posts du jour sont encore PENDING, c'est qu'elle n'a pas tourné (Mac éteint ?). On alerte Fabien."
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1NvgtiwfgwKRjsm025O3qlXnUcw6QffZpVLI1_4IAHLc",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "File-à-traiter",
          "mode": "name"
        },
        "options": {}
      },
      "id": "d1111111-0000-0000-0000-000000000002",
      "name": "Lire File-à-traiter",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        672,
        80
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "EvORDqxqhAIKRlIW",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// Compte les posts du JOUR encore PENDING (= routine non exécutée).\nconst today = new Date().toISOString().slice(0,10);\nlet pendingAujourdhui = 0;\nfor (const item of $input.all()) {\n  const r = item.json;\n  if (String(r.statut||'').toUpperCase() === 'PENDING' && String(r.runDate||'').slice(0,10) === today) {\n    pendingAujourdhui++;\n  }\n}\nreturn [{ json: { pendingAujourdhui, today } }];"
      },
      "id": "d1111111-0000-0000-0000-000000000003",
      "name": "Compter PENDING du jour",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        896,
        80
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "cond-pending",
              "leftValue": "={{ $json.pendingAujourdhui }}",
              "rightValue": 0,
              "operator": {
                "type": "number",
                "operation": "gt"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "d1111111-0000-0000-0000-000000000004",
      "name": "Si routine non exécutée",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        1120,
        80
      ]
    },
    {
      "parameters": {
        "sendTo": "fabien@fabien-massavie.com",
        "subject": "=⚠️ Routine veille non exécutée — {{ $json.pendingAujourdhui }} posts en attente",
        "emailType": "html",
        "message": "=<div style=\"font-family:Arial,sans-serif;color:#0C132A;max-width:560px;\"><h2 style=\"color:#D70459;\">Routine veille non exécutée ce matin</h2><p>Le scrape de 6h a bien rempli la file (<strong>{{ $json.pendingAujourdhui }}</strong> posts du jour en statut PENDING), mais la routine Claude Code de 7h n'a pas tourné — Mac éteint ou endormi ?</p><p><strong>Action :</strong> lance la routine manuellement quand tu ouvres ton Mac :</p><pre style=\"background:#f5f6fa;padding:10px;border-radius:8px;font-size:13px;\">zsh Agents/70-Agent-Automatisation/routine/veille-matin.sh</pre><p style=\"font-size:12px;color:#aaa;\">Filet de sécurité · Linked Connexion</p></div>",
        "options": {}
      },
      "id": "d1111111-0000-0000-0000-000000000005",
      "name": "Alerte Fabien (Gmail)",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        1344,
        0
      ],
      "webhookId": "aa11bb22-cc33-dd44-ee55-ff6677889900"
    }
  ],
  "connections": {
    "Déclencheur 8h00 (lun-ven)": {
      "main": [
        [
          {
            "node": "Lire File-à-traiter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lire File-à-traiter": {
      "main": [
        [
          {
            "node": "Compter PENDING du jour",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compter PENDING du jour": {
      "main": [
        [
          {
            "node": "Si routine non exécutée",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Si routine non exécutée": {
      "main": [
        [
          {
            "node": "Alerte Fabien (Gmail)",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "active": false,
  "pinData": {},
  "meta": {
    "instanceId": "4f1b23afe1c1f425a998bc69ab78d2ebd64d2175c452226921ae034356fabed4"
  }
}
