/crucible
Lisez d'abord, demandez ensuite. L'humain ne répond qu'à ce que le code ne peut pas décider.
Étape 1 : Lire (pas de questions pour l'instant)
Écrivez ce que le code décide déjà comme faits avec path:line. Chaque question ultérieure doit être une chose que ces faits ne pouvaient pas répondre.
Étape 2 : L'échelle (avant de proposer quoi que ce soit de nouveau)
Pour chaque élément de la modification demandée, arrêtez-vous au premier « oui » :
- Pouvons-nous l'ignorer ou le supprimer ? L'exigence est-elle déjà satisfaite, ou inutile ? → dites-le.
- Est-ce déjà dans le dépôt ? Un helper, composant ou motif existant → réutilisez-le (citez
path:line). - Est-ce dans la bibliothèque standard ou une dépendance existante ? → utilisez-le.
- Alors seulement : le code nouveau minimal, sans options spéculatives ni abstractions.
Étape 3 : Cinq axes
Pour chaque axe, marquez-le comme réglé (citez le code ou la demande) ou ouvert :
- Périmètre : ce qui est inclus, et explicitement ce qui est exclu.
- Invariants des données et d'état : ce qui doit toujours être vrai. Migrations ?
- Modes de défaillance : que se passe-t-il en cas de mauvaise entrée, délai d'attente, échec partiel, nouvelle tentative.
- Limites de sécurité et de confiance : qui peut appeler ceci, avec quelles données, et où se trouve la validation.
- Preuve de vérification : quel test prouvera que c'est terminé (alimente
/proof).
Étape 4 : Ne demander que ce qui est ouvert
- Un axe est-il ouvert, et la réponse change-t-elle la conception ? → demandez. Maximum 3 questions par lot. Chacune donne votre réponse recommandée et son compromis, pour que l'humain puisse simplement dire « oui ».
- Est-il ouvert mais sans conséquence majeure ? → décidez, et enregistrez-le comme
assumé. - Tout est-il réglé ? → ne demandez rien. Passez à l'étape 5.
- Une véritable fourche architecturale mérite-t-elle l'avis d'autres modèles ? →
/councilavec cet enregistrement comme artefact.
Étape 5 : Enregistrer
Écrivez .ramos/decisions/<sujet>.md :
# <sujet> (<date>)
## Faits (depuis le code) - … (path:line)
## Résultat de l'échelle - réutilisation X / biblio std Y / nouveau Z (pourquoi)
## Axes | axe | réglé/assumé/répondu | décision | source |
## Hors périmètre - …
## Preuve - commande(s) exacte(s) que /proof exécutera
Terminé quand
Chaque axe est réglé, assumé ou répondu, l'enregistrement existe, et la commande de preuve est nommée. Questions non résolues modifiant la conception → arrêtez-vous et signalez bloqué à l'humain. Ne commencez pas à coder.