AFK
Piloter le site portfolio Gracie jusqu'à son achèvement en une seule session : trouver
à plusieurs reprises chaque ticket prêt à être implémenté sans intervention humaine,
livrer chacun d'eux jusqu'à Done, et intégrer les résultats — round après round —
jusqu'à ce qu'il n'en reste aucun. Les tests manuels ont lieu une fois, à la fin,
contre un seul guide couvrant l'ensemble du projet — jamais par ticket.
La frontière
Un ticket est frontière lorsqu'il porte la balise ready-for-agent et que chaque
dépendance blocked_by aboutit à un fichier désormais dans .../Done/. Calculez-la à partir de
.gracie-vault/Projects/gracie-portfolio/issues/Ready/ ; seulement si Ready/
ne contient aucun ticket éligible à la frontière, calculez-la à partir de Backlog/ à la place.
Les tickets frontière n'ont besoin de rien d'un humain — ils sont exactement ce qu'il est sûr de
confier en parallèle à des sous-agents, car aucun ne bloque un autre.
Étapes
- Lire un résumé de connaissances :
scan-knowledge.sh .gracie-vault/Knowledge(de la compétenceknowledge) ; remonter les points les plus pertinents. - Calculer la frontière (voir ci-dessus) :
Ready/d'abord,Backlog/siReady/est vide de tickets éligibles à la frontière. - Frontière vide ?
Backlog/contient des tickets non balisésready-for-agent: ils nécessitent/triageavant d'être exploitables. Signaler le nombre et s'arrêter.Backlog/est également vide (ou chaque ticket restant y est bloqué) : le projet est terminé — passer à l'étape 8.
- Distribuer toute la frontière en un seul message — un sous-agent par ticket,
chacun avec
isolation: worktree. La distribution parallèle est sûre précisément parce que les tickets frontière ne se bloquent pas mutuellement. Demander à chaque sous-agent, dans sa copie isolée :- Exécuter
/slice <ticket>de bout en bout — cela fait passer le ticket parReviewet coche les critères d'acceptation qui tiennent désormais. - Là où
/slices'arrêterait pour un humain, boucler plutôt : relire les critères d'acceptation du ticket par rapport au diff. Chaque case cochée etmake build/make lint, puismake testverts remplacent ici la revue humaine — déplacer le ticketReview→Doneet valider ce déplacement. - Renvoyer le nom du ticket, son état final (
Doneou, si une case ne se coche pas, laissé dansReviewavec la raison), et les étapes de test manuel produites par/slice.
- Exécuter
- Intégrer, un ticket à la fois, dans l'ordre de distribution à mesure que chaque sous-agent
rend compte : fusionner sa branche de worktree — commits et tout, y compris le
déplacement vers
Done— puis relancermake build/make lint, puismake testsur la branche d'intégration pour détecter ce qui n'apparaît qu'une fois combiné. Un conflit est résolu avec la compétenceresolving-merge-conflicts, jamais avec--abort. Supprimer le worktree une fois fusionné. Ajouter les étapes de test manuel rapportées à une liste globale en cours, indexée par ticket. - Retardataires. Un ticket laissé dans
Review— critères d'acceptation qui ne se cochent pas, une vérification échouée que le sous-agent n'a pas pu corriger, ou un blocage HITL rencontré en cours de slice — est un retardataire, pas une cible de nouvelle tentative ce round. Le laisser là, l'ajouter à une liste de retardataires en cours avec la raison, et continuer ; il est tout de même fusionné (étape 5) pour ne pas perdre son diff. - Recalculer la frontière — les tickets fusionnés dans
Done/peuvent en débloquer d'autres — et aller à l'étape 4. - Rédiger le guide de test manuel. Un fichier,
.gracie-vault/Projects/gracie-portfolio/MANUAL-TESTING.md: une section par ticketDone(nom, lien, ses étapes collectées), plus un court parcours de bout en bout sur l'ensemble du projet si les tickets touchent des surfaces connexes. C'est le seul point d'entrée de test manuel pour l'humain — rien par ticket. Le valider, puis signaler : tout livré dansDone, la liste des retardataires, et un pointeur vers le guide.