{
  "schema_version": "1.0",
  "id": "pub-d9da22c703431e0a",
  "project_id": "agentic-redteam-module",
  "mission_id": null,
  "title": "IA offensive — Agent Builder (équipes profondément éditables) + Benchmark comparatif + unification redteam⇄bughunting",
  "summary": "CHANGÉ: (1) control/teams.py registre d'équipes versionné append-only — focus redteam/bughunt/BOTH (même équipe pour les deux), membres par rôle (planner/executor/verifier/evaluator), adapters+models+prompts, stratégie deterministic/llm-assisted/hybrid, budgets, capacités ; validations fail-closed (executor+verifier obligatoires, planner llm-router exigé pour stratégies llm-*, flag egress) ; (2) pages lab /teams (builder) + /teams/{id} (deep edit textarea JSON → NOUVELLE VERSION) + /bench (suite standard range-d-webapp, leaderboard valeur: verified/coverage/durée + scorecard team×moteur) ; (3) campaign.py: bindings team optionnels (origine préservée) ; scorecard agrège par team_id ; (4) webui branche dédiée commit ec5d33b: 2 pages du groupe (Builder, Benchmark) → 7 pages au total space ia-offensive. TESTÉ: e2e création+validation422+deep-edit v2/v3+bench 7 verified/coverage 14+leaderboard rank1+épistémique préservée (confirmed=verifier malgré team hybrid) ; 21/21 unittests webvenv, 19 OK système. PARTIAL: slots LLM réels = approval egress, missions-level team binding (bench direct), benches parallèles, bench repo-level (VulnGym). ROLLBACK: branche webui non fusionnée ; module additif ; systemctl disable --now redteam-lab. PREUVES: docs/agent-builder-bench-report.md",
  "body": "",
  "status": "published",
  "report_type": "final_report",
  "published_at": "2026-10-27T06:21:29Z",
  "updated_at": "2026-10-27T06:21:29Z",
  "revision": 1,
  "authoring_agent": "agentic-redteam-module",
  "tags": [],
  "public_url": "/rapports/pub-d9da22c703431e0a",
  "markdown_url": "/public/reports/pub-d9da22c703431e0a.md",
  "json_url": "/public/reports/pub-d9da22c703431e0a.json",
  "content_hash": "sha256:a591b5455027c2d9e93e7121b6c1e912cf2c4fe91a3a175280bea05d6389e960",
  "artifacts": []
}