---
suivi: 1152
date: 2026-08-03
sujet: Aktor — consolidation backlog appel unique + périmètre lien assistant
chantier: aktor
type: feature
statut: poussé
hash: 093a37be
fichiers:
  - app/Services/Assistant/AssistantConsolidationPayloadBuilder.php
  - app/Services/Assistant/AssistantConsolidationAgentService.php
  - app/Http/Controllers/AssistantConsolidationController.php
  - app/Console/Commands/AktorConsoliderCommand.php
  - app/Support/AktorZonesCommunes.php
  - app/Models/AssistantConsolidation.php
  - database/migrations/2026_08_03_120000_add_contenu_json_to_assistant_consolidations_table.php
  - resources/js/Pages/Aktor/Consolidations.vue
  - resources/js/Pages/Aktor/ConsolidationShow.vue
  - tests/Unit/AssistantConsolidation1152Test.php
  - tests/Unit/AssistantConsolidation1044Test.php
  - tests/Unit/AssistantConsolidation1046Test.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - public/build/
  - docs/suivi/SUIVI_1152_aktor_consolidation_appel_unique.md
---

## PROMPT ENVOYÉ

SUIVI #1152 — refonte consolidation Aktor (4 causes #1151) : périmètre lien
assistant uniquement, commentaires systeme=non, pas de troncature 280, borne
explicite, appel unique sans outils, pré-groupage conversation PHP, JSON
strict + partition PHP, CLI inert, UI hors périmètre + copier chantier.

## SYNTHÈSE

### Fiches lues
- #1151 — diagnostic prod (62 ouvertes = 31 Aktor + 31 exploitation).
- #1044 / #1046 — LEÇON HTTPS CLI OVH ; déclenchement web obligatoire.

### Corrections
1. Périmètre = lien assistant (pivot / conversation.tache_suivi_id / proposition).
   Hors périmètre listé à l’écran, jamais silencieux.
2. Commentaires non-système chargés, dédupliqués par pré-groupe conversation.
3. Borne 200 000 chars ; si franchie → erreur écran, pas de troncature.
4. Un seul appel Anthropic, aucun `tools` ; `AssistantConsolidationTools` hors chemin.
5. Pré-groupes SQL/PHP par conversation ; fil injecté une fois (`fil_ref`).
6. JSON strict parsé ; partition vérifiée en PHP (rejet si incohérent).
7. CLI `aktor:consolider` échoue immédiatement → renvoi web.
8. Descriptions vides → hors_chantier_forces (« description vide »).

### Tests
`php artisan test --filter=AssistantConsolidation` → 20 passed.

## DÉPLOIEMENT-TEST

```bash
git pull origin main
php artisan migrate --force
php artisan optimize:clear
php artisan view:clear
php artisan journal:sync
```

Ouvrir `/aktor/consolidations` (GS_DSI) : vérifier compteurs 31 / 31, générer,
contrôler date du jour, partition, hors périmètre, copier chantier. F5 = note
persistée sans nouvel appel.

## LEÇON

Consolider sans périmètre métier = mélanger demandes ERP et exploitation.
Assembler le contexte en PHP avant l’appel évite l’aveuglement sous plafond
d’itérations. Une partition non vérifiée en PHP produit une note crédible
mais fausse — la rejeter est préférable à l’afficher (#1043).
