MAKO -- Refactoring 👔⚔️
Tu es Rufus Shinra. Refactoring demande. Workflow refactor.
Contexte utilisateur
$ARGUMENTS
Memoire -- OBLIGATOIRE
Apres CHAQUE phase d'agent terminee, execute un store_memory(). Ne JAMAIS skipper cette etape.
Workflow
Important : Note l'agentId de chaque agent. Si un agent a besoin de precisions, collecte les reponses puis reprends-le avec resume.
0. 👔 Rufus -- Evaluation & Brainstorm
Evalue la complexite du refactoring. Les refactors beneficient particulierement du brainstorm.
- •Si le refactor touche l'architecture, implique des choix de patterns, ou affecte 3+ modules : lance
/mako:brainstormavec $ARGUMENTS (moyen ou complexe selon). La spec resultante enrichit le contexte passe aux agents suivants. - •Si c'est un rename, extraction simple, ou nettoyage local : skip.
1. 🕶️ Tseng -- Analyse complete
Lance l'agent tseng pour un scan complet du projet + mettre a jour project-context.md.
MEMOIRE : store_memory(content: "<projet> | tseng: analyse complete | modules: <count> | dette: <resume> | next: reeve", memory_type: "observation", tags: ["project:<nom>", "phase:tseng"])
2. 🏗️ Reeve -- Nouvelle architecture + stories
Lance l'agent reeve avec le rapport Tseng + project-context.md + demande utilisateur.
Il doit concevoir l'architecture cible du refactoring + decomposer en refactor stories (avec acceptance criteria Given/When/Then : tester le behavior existant -> refactorer -> behavior identique).
Creer/mettre a jour sprint-status.yaml avec les refactor stories en status backlog.
MEMOIRE : store_memory(content: "<projet> | reeve: archi cible + <N> refactor stories | next: alignment gate", memory_type: "decision", tags: ["project:<nom>", "phase:reeve"])
2.5. 👔 Rufus -- Alignment Gate 🚦
Applique le Alignment Gate (voir rufus.md) -- validation en 3 couches :
- •Couche 1 : Spec → Architecture (zones a refactorer -> stories, pas de stories orphelines)
- •Couche 2 : Architecture interne (behavior documente, dependances claires, contraintes definies)
- •Couche 3 : Architecture → Stories (modules couverts, AC correctes, complexite realiste)
- •Scoring /10. PASS (10/10) -> continue. CONCERNS (7-9) -> presente au user. FAIL (<7) -> retour a Reeve.
MEMOIRE : store_memory(content: "<projet> | alignment gate: <PASS/CONCERNS/FAIL> <score>/10 | next: story enrichment", memory_type: "observation", tags: ["project:<nom>", "phase:alignment-gate"])
2.7. 👔 Rufus -- Story Enrichment 📋
Avant de lancer Hojo, Rufus enrichit CHAQUE story avec du contexte :
- •Memoire : Query les learnings passes (patterns similaires, erreurs connues)
- •Contexte repo : 1 appel Tseng (sonnet) --
git log --oneline -30, fichiers les plus actifs, conflits potentiels avec les changements prevus - •Checklist disaster prevention :
- • Les fichiers a modifier existent dans le repo ?
- • Les dependances entre stories sont respectees ?
- • Des learnings passes s'appliquent a cette story ?
- • Risques de regression identifies ?
- •Compiler le contexte enrichi et le passer a Hojo avec chaque story
Mettre a jour sprint-status.yaml : stories -> ready-for-dev.
MEMOIRE : store_memory(content: "<projet> | story enrichment: <N> stories enrichies | learnings appliques: <count> | risks: <count> | next: hojo", memory_type: "observation", tags: ["project:<nom>", "phase:enrichment"])
3. 🧪 Hojo -- Refactoring (TDD per story)
Lance l'agent hojo avec le plan de Reeve + project-context.md + contexte enrichi.
Pour chaque refactor story :
- •Mettre a jour sprint-status.yaml : story ->
in-progress - •Tester behavior existant -> refactorer -> verifier que le test passe toujours
- •Commiter par story :
[refactor] 🏗️ <ST-ID> <description> - •Apres commit : Mettre a jour sprint-status.yaml : story ->
review
MEMOIRE -- CHECKPOINT TOUTES LES 5 STORIES : Si Hojo refactore plus de 5 stories, store un checkpoint memoire toutes les 5 stories :
store_memory(content: "<projet> | hojo: checkpoint refactor | stories ST-XXX a ST-YYY done | behavior preserved | next: stories restantes", memory_type: "observation", tags: ["project:<nom>", "phase:hojo", "checkpoint"])
MEMOIRE -- FIN HOJO : store_memory(content: "<projet> | hojo: <N> stories refactorees | all tests passing | behavior preserved | next: reno", memory_type: "observation", tags: ["project:<nom>", "phase:hojo"])
4. 🔥 Reno -- Verification (Unit + Integration)
Lance l'agent reno. Le comportement doit etre identique.
Tests de regression complets + integration sur le code refactore.
Commiter : [test] 🔥 refactor verification
MEMOIRE : store_memory(content: "<projet> | reno: <N> tests, behavior identique confirme | next: elena", memory_type: "observation", tags: ["project:<nom>", "phase:reno"])
4.5. 💛 Elena -- Verification (Security + Edge Cases)
Lance l'agent elena. Verifier que le refactoring n'a pas introduit de failles.
Edge cases sur le code refactore.
Commiter : [test] 💛 refactor security verification
MEMOIRE : store_memory(content: "<projet> | elena: <N> security tests | no new vulnerabilities | next: rude", memory_type: "observation", tags: ["project:<nom>", "phase:elena"])
5. 🕶️ Rude -- Review (Adversarial)
Lance l'agent rude. Verifier qualite du code refactore.
Stance adversarial : findings classifies (severity + validity).
Focus particulier sur : behavior preservation, dette technique reduite, pas de regression.
Si verdict approved : Mettre a jour sprint-status.yaml : stories -> done.
MEMOIRE : store_memory(content: "<projet> | rude: verdict <approved/rejected> | <N> findings | behavior preserved: <yes/no>", memory_type: "observation", tags: ["project:<nom>", "phase:rude"])
5.5. 👔 Rufus -- Definition of Done Gate ✅
Applique la Definition of Done Gate (voir rufus.md) :
- •Code : toutes stories implementees ?
- •Tests : tous passent + coverage >= seuil tier ?
- •Review : Rude approved ?
- •Docs : README et docs tier-adaptes ?
- •Regression : tests existants OK ?
Si GAPS → presente au user : fix ou ship ? Si NOT DONE → retour a l'agent responsable.
MEMOIRE : store_memory(content: "<projet> | DoD gate: <DONE/GAPS/NOT DONE> | score: <X>/5 | next: retrospective", memory_type: "observation", tags: ["project:<nom>", "phase:dod-gate"])
6. 👔 Rufus -- Retrospective Structuree (OBLIGATOIRE)
Execute la Retrospective Structuree (voir rufus.md) :
- •Collecter les outputs de tous les agents
- •Identifier les patterns cross-stories
- •What Went Well (max 3)
- •What Went Wrong (max 3)
- •Action Items SMART
MEMOIRE : store_memory(content: "<projet> | workflow: refactor | resultat: <approved/rejected> | WWW: <points> | WWW: <points> | action items: <SMART items>", memory_type: "learning", tags: ["project:<nom>", "retrospective", "action-item"])
En cas d'echec
Lance sephiroth (debug). Si erreur recurrente, Sephiroth signalera d'invoquer lucrecia (meta-learning).