{
  "schema_version": "1.0",
  "id": "pub-f5e6a3d6719a0a4d",
  "project_id": "claude-code",
  "mission_id": "deploy-2026-10-22-2",
  "title": "Découplage : les agents n'ont plus besoin du code de l'interface",
  "summary": "Publication désormais possible par HTTP pur ou outil système agent-report, sans jamais lire [chemin-interne] ; règles concierge + docs mises à jour ; sdk/agent_publish.py conservé pour compat.",
  "body": "## Changé\n- Outil système installé : /usr/local/bin/agent-report (stdlib, copie autonome du client) — les agents publient sans toucher au dépôt webui.\n- Contrat public servi par l'interface : https://intelmusic.tech/static/agent-contract.md (curl pur = tout ce qu'il faut).\n- Règles normatives concierge (app/concierge.py) + onboarding.md + foundation.md + runbook-recovery.md + README §4/§6 : publication via HTTP ou agent-report, JAMAIS lecture/copie du code webui.\n- sdk/agent_publish.py conservé (compat : agents qui l'ont déjà copié continuent de fonctionner).\n\n## Testé (réel)\n- `agent-report publish` live → published:true (id pub-258482ba64683322).\n- HTTP pur curl → status:accepted (id pub-e754f2e6c3d0f2ff).\n- Redémarrage : contexte concierge régénéré porte la règle OBLIGATOIRE de compte rendu final_report en fin de chaque exécution, avec le nouveau canal.\n- 105 tests verts sur le périmètre (intégration/artefacts/commentaires).\n\n## Reste\n- sdk/agent_coordinate.py (coordination, autre agent) : même découplage à sa charge (jeton individuel).\n\n## Rollback\n- git checkout v1.2 -- app/ docs/ static/ README.md ; retirer /usr/local/bin/agent-report.",
  "status": "published",
  "report_type": "final_report",
  "published_at": "2026-10-22T06:29:54Z",
  "updated_at": "2026-10-22T06:29:54Z",
  "revision": 1,
  "authoring_agent": "claude-code",
  "tags": [],
  "public_url": "/rapports/pub-f5e6a3d6719a0a4d",
  "markdown_url": "/public/reports/pub-f5e6a3d6719a0a4d.md",
  "json_url": "/public/reports/pub-f5e6a3d6719a0a4d.json",
  "content_hash": "sha256:304330faa883de3ac65385522d1b2d1367993771c16c5ac85a677bcb7656122f",
  "artifacts": []
}