# ROUTINE — Veille CGP hebdomadaire (Perplexity)

> Orchestrateur exécuté chaque vendredi par Claude Code, déclenché par une tâche planifiée dédiée (indépendante de `ROUTINE-VEILLE-MATIN.md`).
> Rôle : lire la file d'items collectés par n8n (workflow `veille-cgp-perplexity.json`) sur les 12 sources web CGP, faire tourner l'Agent Veille (50) pour les tagger, écrire le livrable, marquer la file traitée.
>
> **Principe non-négociable :** aucun tri généraliste. On donne le lot complet à l'Agent 50, qui filtre avec sa propre expertise (`Agent-Veille.md`, `SOURCES.md`, `UKP-VEILLE.md`, `UKP-PERPLEXITY-VEILLE.md`).

---

## CONFIGURATION

Réutilise les mêmes secrets que `ROUTINE-VEILLE-MATIN.md`, lus depuis `~/.config/fidulia/veille.env` :

| Variable | Source | Valeur |
|---|---|---|
| `N8N_HOST` | env | même instance que la veille LinkedIn — `https://n8n.srv1258257.hstgr.cloud` |
| `FIDULIA_TOKEN` | env | même jeton `X-Fidulia-Token` |

Endpoints n8n consommés (workflow `veille-cgp-queue-api.json`) :
- `GET  {N8N_HOST}/webhook/veille-cgp-queue` → renvoie les items en statut `PENDING`
- `POST {N8N_HOST}/webhook/veille-cgp-queue/done` → marque les items traités `DONE`

Ces items sont produits en amont par le workflow `veille-cgp-perplexity.json` (Schedule vendredi 8h → appel API Perplexity Sonar sur les 12 sources CGP → écriture dans l'onglet Google Sheet `CGP-Perplexity`). Cette routine doit donc être planifiée **après** 8h le vendredi (ex : 8h30) pour laisser le temps au run Perplexity de se terminer (jusqu'à 5 min).

---

## ÉTAPE 1 — Récupérer la file

```bash
python3 /Volumes/Samsung_T5/entreprise/Linked-Connexion/Agents/70-Agent-Automatisation/scripts/veille_cgp_queue_client.py fetch
```

Le JSON est aussi écrit dans `Agents/70-Agent-Automatisation/routine/.cache/veille-cgp-queue-latest.json`.

Réponse attendue : tableau JSON d'items. Schéma d'un item :
```json
{
  "itemId": "2026-07-17T08:00:00.000Z-0",
  "runDate": "2026-07-17",
  "runId": "2026-07-17T08:00:00.000Z",
  "title": "...",
  "url": "https://...",
  "source": "amf-france.org",
  "date": "2026-07-15",
  "summary": "..."
}
```

**Si la file est vide** (`[]`) → écrire une ligne de log dans `JOURNAL-ROUTINE.md`, ne pas invoquer l'Agent 50, ne rien écrire dans `Captures/`.

---

## ÉTAPE 2 — Agent Veille (50) sur le lot complet

Invoquer le skill **/50** en mode batch sur l'intégralité des items récupérés.

L'Agent 50 applique ses propres critères (cf. `Agent-Veille.md`, `SOURCES.md`, `UKP-VEILLE.md`, `UKP-PERPLEXITY-VEILLE.md`) pour chaque item :
- vérifier que le fait est daté et sourcé (règle anti-dérive : jamais d'opinion, toujours citer URL + date)
- tagger `[POST]` (matière contenu, si l'angle est exploitable en public sans franchir la limite patrimoniale) / `[NEWSLETTER]` (réservé client) / `[SKIP]`
- ⚠️ Rappel : le réglementaire/métier CGP est un périmètre **réservé aux clients** (`Agent-Veille.md` § Règle critique) — ne jamais faire remonter ces items vers le digest **public** de Fabien, uniquement vers `VEILLE-CLIENT.md` ou les Captures internes.

**Livrable :** append dans `Agents/50-Agent-Veille/Captures/[YYYY-MM-DD].md` (date du vendredi), section dédiée :

```markdown
## Réglementaire / métier CGP (Perplexity — semaine du [date])
- [Titre] — [Source] — [URL] — *[1 ligne de contexte]* — publié le [date]
```

Les items tagués `[NEWSLETTER]` s'ajoutent aussi à `Agents/50-Agent-Veille/Newsletter/VEILLE-NEWSLETTER-[YYYY-WW].md`.

---

## ÉTAPE 3 — Clôturer la file

```bash
python3 /Volumes/Samsung_T5/entreprise/Linked-Connexion/Agents/70-Agent-Automatisation/scripts/veille_cgp_queue_client.py done \
  --item-ids "id1,id2,..." --traite-par "50"
```

Envoyer **tous** les itemId du lot (même ceux qu'aucun tag `[POST]`/`[NEWSLETTER]` n'a retenus — ils sont traités, donc on ne les repropose pas la semaine suivante).

---

## ÉTAPE 4 — Journal

Append dans `Agents/70-Agent-Automatisation/routine/JOURNAL-ROUTINE.md` :
```markdown
| Date | Items CGP traités | Tags [POST]/[NEWSLETTER] | Statut |
|---|---|---|---|
| 2026-07-17 | 6 | 2 | ✅ OK |
```

En cas d'erreur (file injoignable, agent en échec) : logguer `⚠️ ÉCHEC` + la cause, et **ne pas** marquer la file `DONE` (pour rejouer manuellement).

---

## RÈGLES NON-NÉGOCIABLES DE LA ROUTINE

- ❌ **Jamais de classification généraliste** en amont de l'Agent 50 — l'agent filtre lui-même avec ses UKP.
- ❌ **Jamais marquer la file `DONE`** si l'Agent 50 a échoué.
- ❌ **Jamais faire remonter le réglementaire/métier CGP vers le digest public de Fabien** — périmètre client uniquement.
- ✅ **Toujours vérifier les citations critiques** avant tout usage (risque d'hallucination de citation Perplexity documenté à ~5-10 %, cf. `UKP-PERPLEXITY-VEILLE.md` § 6) — ne jamais copier un chiffre réglementaire sans cliquer sur l'URL source.
- ✅ **Toujours envoyer tous les itemId** à `veille-cgp-queue/done`, retenus ou non.

---

*Créé le 2026-07-10 · Agent 70 · Routine consommée par une tâche planifiée dédiée (vendredi ~8h30), indépendante de `ROUTINE-VEILLE-MATIN.md`.*
