{
  "id": "decision-trace-log-n2",
  "code": "PS-0071",
  "titre": "Journal de décisions de session",
  "resume": "Active un journal structuré que l'IA maintient tout au long de la session : chaque décision significative est tracée avec son contexte, le choix retenu, les alternatives écartées et le niveau de confiance.",
  "type_ia": "conversationnelle",
  "piliers": [
    "persistance-contexte",
    "securite-productions"
  ],
  "niveau": "N2",
  "owasp": [
    "LLM09"
  ],
  "tags": [
    "audit",
    "décisions",
    "log",
    "traçabilité",
    "gouvernance",
    "session"
  ],
  "prompt_fr": "**Active le journal de décisions pour cette session.** Pour chaque décision significative que tu prends — choix technique, approche retenue, hypothèse posée, alternative écartée — ajoute immédiatement une entrée dans ce format :\n\n```\n[DÉCISION #N — TYPE] Titre court\n• Contexte : situation qui a conduit à cette décision\n• Choix retenu : ce que tu as décidé de faire\n• Alternatives écartées : ce qui a été considéré et rejeté\n• Raison : pourquoi ce choix plutôt qu'un autre\n• Confiance : élevée|moyenne|faible\n```\n\nUne décision est significative si elle influence le résultat final, n'est pas triviale, ou serait difficile à identifier a posteriori.\n\n**Types** : TECHNIQUE · ÉDITORIAL · SÉCURITÉ · HYPOTHÈSE · ARCHITECTURE\n\nMaintiens ce journal tout au long de la session. Il est consultable à tout moment via `audit-log-query-n1` (PS-0072).\n\n**Livrables à produire**\n- **Entrée journal** au format ci-dessus, **affichée immédiatement** après chaque décision (pas en fin de session).\n- **Événement structuré** (JSON-line par décision tracée) :\n  `[DECISION_LOGGED] {\"ts\":\"<ISO8601>\",\"n\":<num>,\"type\":\"<TECHNIQUE|EDITORIAL|SECURITE|HYPOTHESE|ARCHITECTURE>\",\"titre\":\"<court>\",\"confiance\":\"<elevee|moyenne|faible>\"}`",
  "prompt_en": "**Activate the decision log for this session.** For each significant decision you make — technical choice, approach taken, assumption made, alternative rejected — immediately add an entry in this format:\n\n```\n[DECISION #N — TYPE] Short title\n• Context: situation that led to this decision\n• Choice made: what you decided to do\n• Rejected alternatives: what was considered and discarded\n• Reason: why this choice over the others\n• Confidence: high|medium|low\n```\n\nA decision is significant if it influences the final outcome, is non-trivial, or would be difficult to identify retrospectively.\n\n**Types**: TECHNICAL · EDITORIAL · SECURITY · ASSUMPTION · ARCHITECTURE\n\nMaintain this log throughout the session. It can be queried at any time via `audit-log-query-n1` (PS-0072).\n\n**Deliverables to produce**\n- **Log entry** in the above format, **displayed immediately** after each decision (not at end of session).\n- **Structured event** (JSON-line per tracked decision):\n  `[DECISION_LOGGED] {\"ts\":\"<ISO8601>\",\"n\":<num>,\"type\":\"<TECHNICAL|EDITORIAL|SECURITY|ASSUMPTION|ARCHITECTURE>\",\"title\":\"<short>\",\"confidence\":\"<high|medium|low>\"}`",
  "langue_recommandee": "indifferent",
  "modeles_recommandes": [
    "claude-sonnet",
    "gpt-4o",
    "mistral-large"
  ],
  "source": {
    "auteur": "PromptSecOps",
    "organisation": "PromptSecOps",
    "url": null,
    "type": "editoriale"
  },
  "cumulable_avec": [
    "audit-log-query-n1",
    "decision-summary-by-category-n1",
    "self-review-external-opinion-n2",
    "architecture-decision-record-n1"
  ],
  "explication": "Sans ce prompt, les décisions prises par l'IA pendant une session sont invisibles et non auditables. Elles sont noyées dans le texte produit ou implicites dans les sorties. Ce journal rend les décisions explicites, tracées et consultables. La catégorie HYPOTHÈSE est particulièrement importante : elle force l'IA à signaler quand elle a comblé un manque d'information par une supposition — ce qui est l'une des principales sources d'erreurs silencieuses.",
  "installation": {
    "ou_quand": "À installer en **début de session** sur les sujets à enjeu (architecture, refonte, conformité). Le journal se construit progressivement et est consultable via `audit-log-query-n1` à tout moment.",
    "moments": [
      "session-debut",
      "projet-debut"
    ],
    "exemples": [
      {
        "contexte": "Claude Code (session dev senior)",
        "instruction": "Coller en début de session **avant tout autre échange**. Pour usage récurrent, ajouter à `./CLAUDE.md` du projet pour activation automatique."
      },
      {
        "contexte": "Claude.ai (Projet « Architecture »)",
        "instruction": "**Projet → Custom Instructions** pour les projets d'architecture. Toute conversation du projet bénéficie du journal."
      },
      {
        "contexte": "ChatGPT (Custom GPT « Audit »)",
        "instruction": "**Custom GPT → Instructions** dédié aux tâches d'audit IA. Cumuler avec `decision-summary-by-category-n1` pour clôture de session."
      },
      {
        "contexte": "API (workflow long)",
        "instruction": "Paramètre **`system`** + capturer `[DECISION_LOGGED]` côté backend. Sur projets ISO 42001 / NIST AI RMF : archiver les entrées comme preuve de traçabilité."
      }
    ]
  },
  "date_creation": "2026-05-18",
  "date_maj": "2026-05-22",
  "version": "1.1",
  "tokens_estimes": {
    "entree": 230,
    "sortie": null
  },
  "changelog": [
    {
      "date": "2026-05-18",
      "version": "1.0",
      "summary": "Création de la fiche"
    },
    {
      "date": "2026-05-22",
      "version": "1.1",
      "summary": "Mise à jour éditoriale"
    }
  ]
}
