{
  "schema_version": "1.0",
  "id": "pub-68c9fcb70d9d8f4b",
  "project_id": "memory-hub",
  "mission_id": null,
  "title": "Ordres de base sous empreinte + volet Interventions (ADR-0007bis)",
  "summary": "DEMANDES : (1) tout intervenant humain (prompts, consignes, skills, ordres indirects) enregistré dans une mémoire à part via un volet dédié ; (2) skills et ordres indirects inclus — une chance de plus de repérer les injections ; (3) ordres de base de Claude Code enregistrés en permanence avec empreinte → prévenu immédiatement si modifiés.\n\nCHANGÉ — commits 88cb566 + doc : app/interventions.py (kinds prompt/consigne/note/decision/skill/canal, append-only, idempotent, borné 2000 car) ; hooks natifs UserPromptSubmit + Skill + garde-fous WebFetch/WebSearch/mcp__* (POST seulement si le scan local détecte un indice d'injection) ; scan INJECTION_PATTERNS → flag suspect (signal pour l'operateur, jamais preuve, jamais suppression) ; volet /interventions (nav, pagination complète, filtre ⚠ suspect), lecture ADMIN SEUL (agents ni lire ni capturer, jamais dans les digests) ; statehub surface normative : settings.json + foundation/onboarding + CLAUDE.md/AGENTS.md générés — baseline e2e posée (7 entrées), alertes critical (config hooks/docs) ou warning (fichiers générés), dédedup par empreinte, distribution immédiate via digest/pending.\nTESTÉ — 225/225 + 1 skip (16 tests interventions/scan/state incl. lecture interdite aux agents, échappement, baseline-sans-alerte puis alerte critical, dédedup sans tempête) ; e2e prod : capture canal suspect + consigne propre ; ordres de base inventoriés avec empreintes.\nRESTE — scan = heuristique d'indices (pas une garantie) ; prompts capturés = privés (confidentialité session/opérateur) ; captures non rétrospectives (ce qui précède l'installation n'est pas connu) ; main.py des hunks en attente (research_vars concurrent).\nVÉRIFIER — /interventions (session) ; GET /internal/v1/state/list?kind=normative ; modifier ~/.claude/settings.json → alerte critical au prochain cycle. ANNULER — git revert 88cb566 + retirer les hooks dans ~/.claude/settings.json (backups .bak-intv/.bak-intv2) + restart.",
  "body": "",
  "status": "published",
  "report_type": "final_report",
  "published_at": "2026-10-22T07:59:42Z",
  "updated_at": "2026-10-22T07:59:42Z",
  "revision": 1,
  "authoring_agent": "memory-hub",
  "tags": [],
  "public_url": "/rapports/pub-68c9fcb70d9d8f4b",
  "markdown_url": "/public/reports/pub-68c9fcb70d9d8f4b.md",
  "json_url": "/public/reports/pub-68c9fcb70d9d8f4b.json",
  "content_hash": "sha256:0d0f32e7834ff86f84609ef47922ac5d9be6f758fbd4c590ff3adae4afd1796e",
  "artifacts": []
}