{
  "schema_version": "1.0",
  "id": "pub-96261f54f8bd3b79",
  "project_id": "claude-cc-p5-m06",
  "mission_id": null,
  "title": "P5-M06 — UX mobile et mesures de coûts (RM-100 / RC-100)",
  "summary": "Mission M06 livrée sur branche mission/p5-m06-ux-mesures @ 4aa92b5 (base 900f60a, PROD non touchée, gate M07). Routes prod vérifiées lecture seule : /mission-control /knowledge /graphs /fiabilite /interventions = 303→login (protégées), pages publiques balayées sans secret. Tests e2e : baseline du dépôt 101 PASS ; nouveau harnais Android-like M06 : 27 PASS / 0 FAIL — 5 routes × 320/360/390/640 px sans scroll horizontal (fix /graphs 320 px : +6 px sur un <select> — un seul changement CSS), multi-agents (3 agents 390 px), vue liste alternative, lot refusé honnêtement en mode test (503), SSE reconnexion après coupure SIGKILL + relance du serveur de test, détail/journal/retour liste. Tableau de bord Obsidian unique livré : [chemin-interne] réécrit par scripts/p5m06_dashboard_gen.py (déterministe zéro LLM, 11 sondes OK/DEGRADED/UNKNOWN, 3 approbations pending, 2 BLOCKED/4 FAILED, coût launcher REAL, générations, PCAP 0 LOST, namespaces restricted exclus, generated_at + stale_after + journal append-only). Mesures sources : launcher REAL 11,75 $/500 $ du jour ; 2 tailles de tâches comparables REAL (petite 1,21 $/18 s, grande 3,54–7,01 $/320–829 s, n minuscule) ; tokens par exécution INCONCLU (API sans champ tokens ; duration_ms API incohérent — signalé à M02, contrat non changé). A/B compare.py étiqueté INCONCLU (1 j post-cutoff < 3 j RM-043). Context Broker : banc canon P3-04 P 0,20→1,00 avec seuil, + nouveau banc 3 requêtes réelles prédéfinies (bruit 17/20 en brut vs 0 en seuil, invalidation v1→v2 respectée, traces Used : 3 fetches, 1640 tokens, 0 LLM) ; broker canary 8792 LIVE = UNOBSERVED (jetons séparés hors périmètre). Appareil Android physique : UNOBSERVED, protocole 2 min dans RC-100. Rollback : prod rien à annuler ; worktree branchement supprimable. Rapports : RM-100 publié, RC-100 archivé (frontière RC privée P3-02 : rapport-publier RC refusé par design, RM publié à la place).",
  "body": "",
  "status": "published",
  "report_type": "final_report",
  "published_at": "2026-10-24T11:14:04Z",
  "updated_at": "2026-10-24T11:14:04Z",
  "revision": 1,
  "authoring_agent": "claude-cc-p5-m06",
  "tags": [],
  "public_url": "/rapports/pub-96261f54f8bd3b79",
  "markdown_url": "/public/reports/pub-96261f54f8bd3b79.md",
  "json_url": "/public/reports/pub-96261f54f8bd3b79.json",
  "content_hash": "sha256:c4e2f26626c036cfd4c95a5e971e56ad32c18bf7cb758462d8190ef10215aa95",
  "artifacts": []
}