# Reformuler — fragment d'article (`reformulate/fragment-article`)

**Statut : branché.** Un agent fait ce travail aujourd'hui (correcteur de reformulation ; agents de surveillance du texte).

Reformuler un passage sélectionné dans un article (bouton « Reformuler » de la fiche), ou une phrase signalée par les agents de surveillance (terme interdit, fait corrigé).

## Ce que reçoit l'agent

### Venant du référentiel

- le **nom et l'identité de la marque** (lignes `FAIT / marque` : nom, site, baseline)
- le **lexique** (termes INTERDIT, EXCEPTION, ALLEGATION) — appliqué comme garde avant toute écriture

Le référentiel est la seule source de vérité de l'agent : ce qui n'y figure pas n'est pas affirmé. Voir [Le référentiel](/modules/guide-espace/#le-referentiel) et [Ce que le modèle lit](/modules/guide-espace/#ce-que-le-modele-lit).

### Venant du contexte

- le **passage** à reformuler
- environ **200 mots** de chaque côté
- l'**en-tête** approuvée et la **requête cible** de la page (obligatoire)
- la **consigne** de l'équipe (ou une consigne par défaut)

### Ce qu'il doit rendre

JSON `{fragment_reformule}` — texte brut, longueur à ±50 %.

## Interface (dans votre espace)

L'agent lit le **prompt actif de votre espace** (relu toutes les 5 minutes au plus). Votre prompt remplace sa consigne **éditoriale** — le ton, l'angle, ce qu'il faut mettre en avant.

Kortex garde **toujours**, à la suite de votre prompt : le fragment à reformuler, la consigne de l'équipe, les règles (longueur, aucun chiffre ajouté, texte brut) et le format de sortie. Un prompt ne peut ni casser le format attendu, ni lever une garde.

Sans version active, ou si un placeholder n'a pas de valeur, l'agent suit sa consigne interne et le note dans son journal.

1. Connaissance › **Prompts des agents** (administrateurs), ligne `reformulate / fragment-article`.
2. Écrivez une version : **préfixe** (rôle, règles), **gabarit** (la demande, avec ses `{{placeholders}}`), **suffixe**, et la liste des placeholders exigés.
3. Une version enregistrée est **inactive** : relisez-la, puis **activez-la**. Une seule version est active à la fois ; les précédentes restent dans l'historique.
4. Le format de sortie ci-dessus est un **contrat** : quand l'agent lit votre prompt, Kortex ajoute toujours ce format à la suite. Vous n'avez pas à le réécrire, et un prompt ne peut pas le casser.

## API (pour les agents et les scripts)

Sur l'espace du site, `https://<site>.kortex.center` :

| Geste | Route | Accès |
|---|---|---|
| Lire le prompt actif | `GET /api/seo/prompts/reformulate/fragment-article` | agents (jeton de service) ou administrateur ; `404 prompt_absent` si aucune version active |
| Lister les versions | `GET /api/seo/prompts/reformulate/fragment-article/versions` | administrateur ; clé API `lecture` |
| Enregistrer une version (inactive) | `PUT /api/seo/prompts/reformulate/fragment-article` | administrateur ; clé API `pilotage` |
| Activer une version | `POST /api/seo/prompts/reformulate/fragment-article/versions/:v/activer` | administrateur ; clé API `pilotage` |

Corps d'une version : `{titre, description?, prefix, user_template, postfix, placeholders_requis[], modele?, effort?, commentaire_version?}`. Chaque placeholder déclaré doit apparaître dans le texte (`400 placeholder_absent` sinon).

### Placeholders disponibles

| Placeholder | Ce qu'il contient |
|---|---|
| `{{fragment}}` | le passage à reformuler |
| `{{directives}}` | la consigne de l'équipe pour ce passage |
| `{{passage_autour}}` | environ 200 mots de contexte de chaque côté |
| `{{requete_cible}}` | la requête unique que la page doit gagner |
| `{{entete_titre_h1}}`, `{{entete_title_seo}}`, `{{entete_meta_description}}`, `{{entete_image_alt}}` | l'en-tête approuvée de la page |
| `{{marque}}` | le nom de la marque (lignes FAIT / marque) |

Voir aussi : [tous les prompts](/modules/prompts/) · [l'API des espaces](/modules/dashboard-api/) · [le guide de l'espace](/modules/guide-espace/).
