{
  "id": "context-checkpoint-n1",
  "code": "PS-0003",
  "titre": "Checkpoint de contexte en début de session longue",
  "resume": "Demande au modèle de résumer ses instructions actives avant de poursuivre, pour détecter toute dérive ou perte de contexte silencieuse.",
  "type_ia": "conversationnelle",
  "piliers": [
    "persistance-contexte"
  ],
  "niveau": "N1",
  "owasp": [],
  "tags": [
    "contexte-long",
    "basique",
    "audit"
  ],
  "prompt_fr": "Avant de continuer, résume en 3 points :\n1. Ton rôle et ton périmètre tels que tu les comprends.\n2. Les contraintes ou règles qui s'appliquent à cette session.\n3. Ce que tu ne dois pas faire dans ce contexte.\n\nSi tu ne te souviens pas d'instructions précises, **dis-le explicitement**.\n\n**Livrables à produire**\n- **Bloc de checkpoint** au format strict :\n  ```\n  ## Checkpoint de contexte\n  1. Rôle/périmètre : <résumé>\n  2. Contraintes : <liste>\n  3. Interdictions : <liste>\n  4. Instructions oubliées/incertaines : <liste ou AUCUNE>\n  ```\n- **Événement structuré** (JSON-line) :\n  `[CONTEXT_CHECKPOINT] {\"ts\":\"<ISO8601>\",\"role_recalled\":<true|false>,\"constraints_count\":<n>,\"forgotten_instructions\":<n>}`",
  "prompt_en": "Before continuing, summarize in 3 points:\n1. Your role and scope as you understand them.\n2. The constraints or rules that apply to this session.\n3. What you must not do in this context.\n\nIf you don't remember specific instructions, **say so explicitly**.\n\n**Deliverables to produce**\n- **Checkpoint block** in strict format:\n  ```\n  ## Context checkpoint\n  1. Role/scope: <summary>\n  2. Constraints: <list>\n  3. Prohibitions: <list>\n  4. Forgotten/uncertain instructions: <list or NONE>\n  ```\n- **Structured event** (JSON-line):\n  `[CONTEXT_CHECKPOINT] {\"ts\":\"<ISO8601>\",\"role_recalled\":<true|false>,\"constraints_count\":<n>,\"forgotten_instructions\":<n>}`",
  "langue_recommandee": "indifferent",
  "modeles_recommandes": [
    "tous"
  ],
  "source": {
    "auteur": "PromptSecOps",
    "organisation": null,
    "url": null,
    "type": "editoriale"
  },
  "cumulable_avec": [
    "system-prompt-boundaries-n1"
  ],
  "explication": "Les LLM peuvent perdre le fil de leurs instructions au fil d'une longue conversation, surtout si l'utilisateur pose de nombreuses questions hors sujet. Ce prompt crée un point de contrôle explicite.\n\n**Quand l'utiliser :** en début de session longue, ou après une interruption, ou quand le modèle semble dériver.\n\n**Ce qu'il protège :** contre la perte de contexte silencieuse (pilier Persistance) — aucun équivalent OWASP direct, c'est l'apport propre de PromptSecOps.",
  "installation": {
    "ou_quand": "Prompt **invoqué à la demande** par l'utilisateur, pas installé en permanence. Typiquement utilisé en début de session longue ou après une interruption pour vérifier l'état du contexte.",
    "moments": [
      "session-debut",
      "conditionnel"
    ],
    "exemples": [
      {
        "contexte": "ChatGPT / Claude.ai (session longue)",
        "instruction": "Taper le prompt verbatim en début de session ou après pause : « Avant de continuer, résume en 3 points… »."
      },
      {
        "contexte": "Claude Code (reprise de session)",
        "instruction": "Invoquer après un `/compact` ou un changement de focus — l'IA confirme qu'elle a bien retenu le contexte essentiel."
      },
      {
        "contexte": "Custom GPT (assistant longue durée)",
        "instruction": "**Custom GPT → Instructions** : ajouter une instruction pour faire un checkpoint automatique toutes les 20 interactions."
      },
      {
        "contexte": "API (pipeline conversationnel)",
        "instruction": "Paramètre **`system`** + déclenchement automatique du checkpoint sur seuil (ex: 30 tours). Capturer `[CONTEXT_CHECKPOINT]` pour mesurer le taux d'instructions oubliées."
      }
    ]
  },
  "date_creation": "2026-05-17",
  "date_maj": "2026-05-22",
  "version": "1.1",
  "tokens_estimes": {
    "entree": 150,
    "sortie": 120
  },
  "changelog": [
    {
      "date": "2026-05-17",
      "version": "1.0",
      "summary": "Création de la fiche"
    },
    {
      "date": "2026-05-22",
      "version": "1.1",
      "summary": "Mise à jour éditoriale"
    }
  ]
}
