# Projet ARC
```mermaid
gantt
    title Section 3 - Tests et Assurance Qualité
    dateFormat  YYYY-MM-DD
    axisFormat  %d/%m
    excludes    weekends
    todayMarker off

    section Préparation entrées
    Récupérer projet Agent Dev              :a1, 2026-07-15, 0.5d

    section Sandbox Docker
    Dockerfile générique                    :b1, 2026-07-15, 1d
    Script build/run                        :b2, after b1, 1d
    Isolation environnement                 :b3, after b1, 0.5d

    section Exécution sandbox
    Lancer exécution                        :c1, after b3, 0.5d
    Capturer logs                           :c2, after b3, 0.5d

    section Ruff (qualité)
    Installer Ruff                          :d1, after c2, 0.5d
    Ruff check                              :d2, after c2, 0.5d

    section Bandit (sécurité)
    Installer Bandit                        :e1, after c2, 0.5d
    Scan projet                             :e2, after c2, 0.5d

    section Semgrep (optionnel)
    Installer Semgrep                       :f1, after c2, 0.5d
    Analyse règles                          :f2, after c2, 0.5d

    section Structuration QA
    Modèle Pydantic rapport                 :g1, after f2, 1d
    Parser résultats outils                 :g2, after g1, 0.5d

    section Agent QA
    Prompt Agent QA                         :h1, after g2, 1d
    Résumé intelligible                     :h2, after h1, 0.5d
    Traduction erreurs → dev                :h3, after h2, 1d

    section Boucle Dev ↔ QA
    Implémenter boucle LangGraph            :i1, after h3, 1.5d
    Condition stop                          :i2, after h3, 0.5d
    Limite itérations                       :i3, after h3, 1d

    section Logs pour correction
    Structurer logs                         :j1, after i3, 0.5d
    Injecter logs dans Agent Dev            :j2, after i3, 0.5d

    section Intégration LangGraph
    Ajouter noeud QA                        :k1, after j2, 0.5d
    Connecter Dev → QA → loop               :k2, after j2, 0.5d

    section Sécurisation minimale
    Limiter temps exécution                 :l1, after k2, 0.5d
    Bloquer accès disque/réseau             :l2, after k2, 0.5d
```