Files
bachirandClaude Opus 5.5 cf10526cdb tour 0002 (user, decider) : licence Apache-2.0, depot public (B-13), B-14 controle de secrets avant push
Disput-Turn: 0002
Disput-Participant: user
Disput-Role: decider

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:36:31 +02:00

2.8 KiB

Backlog — disput

Une tâche par ligne : - [ ] B-<n> : …. On coche à la fin du tour qui la termine, en citant ce tour. [USER] = décision humaine, jamais prise par un implémenteur. Numéros uniques, jamais réutilisés.

v0 — amorçage (le relais remplace la navette manuelle)

  • B-1 : squelette du paquet Python (pyproject.toml, src/disput/, point d'entrée disput, argparse + tomllib, aucune dépendance externe en v0), tests/ en unittest
  • B-2 : parseur de fichiers de tour (en-tête +++ TOML, sections Réponses/Items, identifiants, destinataires) + disput lint
  • B-3 : déduction de l'état des items à partir des tours (§5) + disput status
  • B-4 : ordonnanceur (§7) en fonction pure : (config, tours, diff du dernier tour) → (participant, rôle) | USER | DONE. Tests exhaustifs, y compris l'anti ping-pong
  • B-5 : vérification des invariants après un tour (§8), git uniquement
  • B-6 : adaptateurs claude et vibe (lancement non interactif, env forcé, budget/max-turns, log local) + adaptateur stub pour les tests
  • B-7 : disput run (verrou, boucle, arrêt, .disput/last-run.md, notification) + scénarios stub « tricheurs » : pas de commit, réécriture, modification d'un tour existant, réviseur qui touche au code, status=USER
  • B-8 : disput decide "…" (écrit et commite le tour user)
  • B-9 : garde-fous appliqués par adaptateur, à partir de [guards] (deny et hook Claude, agent et hook pre_tool Vibe), avec preuve qu'un git push est refusé dans chaque adaptateur
  • B-10 : disput init (crée .disput/ dans un projet existant)
  • B-11 : premier disput run --max-turns 2 sur disput lui-même, sous surveillance de l'humain
  • B-12 : adoption par qbt-manager (disput init, disput.toml avec les checks preflight/tests et les garde-fous dry-run, rôle security sur ses chemins sensibles)

Décisions humaines

  • B-13 [USER] : licence Apache-2.0, dépôt public sur le remote gitea (tour 0002)

Sécurité du dépôt public (ajouté tour 0002)

  • B-14 : contrôle de secrets avant tout push (sur le modèle du preflight de qbt-manager : scan de tout l'historique, motifs génériques + motifs locaux dans un fichier gitignoré, fichiers interdits), déclaré comme [[checks]] must_pass dans disput.toml. À faire avant le premier push

Plus tard (seulement sur besoin observé)

  • ACP comme transport unifié des adaptateurs, avec des garde-fous centralisés
  • reviewers en parallèle (worktrees)
  • interface en terminal (affichage des tours en direct, décisions à l'écran)
  • adaptateurs supplémentaires (codex, gemini, opencode…)