You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(claude): add Sonnet→Opus self-escalation in code-dev
Quand code-dev tourne en Sonnet et épuise son budget de 3 retries
sur un axe (validators IA, CI, Sonar ou review comments), il
déclenche désormais une escalade interne :
1. Ajout du label complexe au ticket
2. Commit + push de l'état courant (pas de reset)
3. Auto-délégation à une nouvelle instance code-dev avec model=opus
via le tool Agent, reprenant la branche et le diagnostic
L'instance Opus dispose d'un compteur de retries reset à zéro et
reprend exactement le travail en cours. Son verdict (PASS ou REFACTO)
devient le verdict propagé à l'appelant (/epic ou /code).
Skills /epic et /code inchangés : l'escalade est transparente pour
eux, gérée entièrement à l'intérieur de code-dev.
Une seule escalade possible par ticket : Sonnet → Opus → REFACTO.
Pas de ré-escalade après Opus.
Copy file name to clipboardExpand all lines: .claude/agents/code-dev/AGENT.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,7 +80,19 @@ You execute one pre-specified ticket end-to-end : edit code, write/update tests,
80
80
- Désaccord → répondre avec argumentation, laisser le reviewer trancher (ne pas imposer)
81
81
- Tant que des threads de review sont **non résolus** (unresolved), ne pas `gh pr ready`. Marquer les threads résolus via l'API GitHub quand applicable.
82
82
83
-
**Toutes rouges persistantes (> 3 tentatives sur un même axe)** → remettre le ticket en **To Do** avec diagnostic complet (logs CI, liens Sonar, commentaires validators + bot).
83
+
**Toutes rouges persistantes (> 3 tentatives sur un même axe)** → auto-escalade ou REFACTO selon le modèle courant (logique **interne à `code-dev`**, transparente pour l'appelant `/epic` ou `/code`) :
84
+
85
+
-**Modèle courant = Sonnet** (ticket sans label `complexe`) :
86
+
- Ajouter le label `complexe` au ticket : `gh issue edit <N> --add-label complexe`
87
+
- Poster un commentaire `code-dev: ESCALATE Sonnet→Opus` avec le diagnostic complet : axe en échec, 3 dernières tentatives, logs/liens/commentaires
88
+
- Commit + `git push` l'état courant (ne pas reset — l'instance Opus reprendra ce travail)
89
+
-**Déléguer à soi-même en Opus** via le tool `Agent` : `subagent_type` pointant sur `code-dev`, `model: "opus"`, prompt = « Ticket escaladé depuis Sonnet. Branche `<name>` au commit `<sha>`. Reprendre l'axe en échec (<axe>). Diagnostic : `<détails>`. Mêmes inputs : ticket #<N>, worktree `<path>`, port `<port>`, base branch `<base>`. »
90
+
- Attendre le retour de l'instance Opus. Son verdict (PASS ou REFACTO) devient le verdict de la présente instance Sonnet, propagé à l'appelant.
91
+
-**Modèle courant = Opus** (ticket déjà `complexe` à l'entrée OU escaladé depuis Sonnet) :
92
+
- Remettre le ticket en **To Do** avec diagnostic complet → intervention `architect` probablement nécessaire (re-découpage du ticket)
93
+
- Retourner le verdict **REFACTO** à l'appelant
94
+
95
+
**Une seule escalade possible par ticket** : Sonnet → Opus → REFACTO. Pas de ré-escalade après Opus. Le label `complexe` une fois posé ne se retire pas.
84
96
85
97
10.**Fin** — quand 9a + 9b + 9c + 9d sont **tous verts / résolus** :
86
98
-`gh pr ready <PR>` (sort la PR du draft)
@@ -96,6 +108,7 @@ You execute one pre-specified ticket end-to-end : edit code, write/update tests,
96
108
-**Coverage TU = 100%** sur le code du ticket (fichiers modifiés ou créés), pas seulement les 75% globaux
-**Zéro commentaire de review non-adressé** — bot ou humain, corriger ou répondre avec justification. Jamais d'ignorance silencieuse.
111
+
-**Escalade Sonnet → Opus interne** — sur 3-retry exhaustion en Sonnet, auto-déléguer à une instance Opus du même agent. Invisible pour `/epic` et `/code`. Une seule escalade par ticket.
0 commit comments