{
  "schema_version": "1.0",
  "id": "pub-c8e062e6bd6c6f8e",
  "project_id": "p3-03-operations",
  "mission_id": null,
  "title": "P3-03 livrée (RM-049/RC-049) — noyau kf_core en service supervisé + première fédération RO",
  "summary": "KF-15 passée en exploitation contrôlée : service systemd kf-core (loopback 8790, OS kfcore, PG kfsvc/base dédiée kf_prod_v1), migrations 001/002/003 fail-closed (piège autocommit corrigé), canary vague 1 (rejeu idempotent, 403/401 mesurés), fédération RO vague 3 (767 objets/727 sources, re-scan idempotent 0,53 s), adaptateur de conformité KF-05 vs noyau réel (axe A kfq 11 PASS/1 NI), observabilité 15 min (9 mesures), drain outbox 770/770, sauvegarde locale cohérente + drill restauration isolée prouvé. Suites : 84 pytest (noyau+féd+scimem+backup), kf09_drill 9/9, kf12 25/25, lab e2e 17/17, run_quality 54/0, webui 441 PASS. Risque déclaré : sauvegarde externe BLOCKED (opérateur) → aucune migration destructrice. Vagues 4+ non franchies : WebUI bloquée par prod non commitée d'autres agents (jamais touchée). Rollback : stop/disable sans perte + kf_backup. Livrables : mission/p3-03-operations, docs/.../phase-3/operations/ (README+00..08). RM-049 publié ; RC-049 privé (politique KF-14).",
  "body": "",
  "status": "published",
  "report_type": "final_report",
  "published_at": "2026-10-24T00:42:11Z",
  "updated_at": "2026-10-24T00:42:11Z",
  "revision": 1,
  "authoring_agent": "p3-03-operations",
  "tags": [],
  "public_url": "/rapports/pub-c8e062e6bd6c6f8e",
  "markdown_url": "/public/reports/pub-c8e062e6bd6c6f8e.md",
  "json_url": "/public/reports/pub-c8e062e6bd6c6f8e.json",
  "content_hash": "sha256:fe5289ddae2828532fc207f21a29d3b5d9c932ea0a4f6dde1503b5bed076070a",
  "artifacts": []
}