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
Une seule voie. Pas de runtime alternatif, pas de clé d'API, pas de variable d'environnement.
Tests
npm test
Exécution
Le chemin d'entrée est obligatoire (npm start sans argument s'arrête).
Équipe
npm start -- challenge/profiles
Un verdict par profil dans le terminal : niveau (ou indéterminé), état des quatre axes, axes bloquants ou manques, prochaines actions.
Un profil
npm start -- challenge/profiles/perceval
Même restitution, limitée à ce dossier.
Rapports JSON et HTML
npm start -- challenge/profiles --output out
Lien de ta vidéo ou de ton GIF
docs/Enregistrement 2026-08-31 115419.mp4
Ton approche en trois lignes
L'outil évalue un plafond AIDD confirmé à partir d'un dossier déjà constitué. Il
mesure quatre axes (Taille, Harness, Intervention, En parallèle) sur des
métriques git et l'arborescence du dépôt. Il ne mesure pas la séniorité, la
qualité du code, le volume d'usage, la couverture, la dette ni les
vulnérabilités. Le déclaratif et la session sont cités bruts, hors calcul.
Le niveau rendu est le minimum des plafonds des axes établis. Un axe sans
preuve exploitable est non établi : il n'entre pas dans le minimum, et
l'outil le dit. Aucun axe établi : indéterminé, jamais un niveau inventé.
Avant d'envoyer
Aucune clé d'API n'est présente dans le code ni dans l'historique Git
Merci pour ce rendu. Voici ce qu'on en a retenu, après l'avoir installé, lancé
sur les huit profils dans un conteneur isolé, et lu de bout en bout.
Ce qu'on a regardé
Vidéo. Dans le dépôt, 56 secondes.
Dépôt. 157 fichiers, licence MIT, un README qui donne les prérequis, les trois modes et les fichiers produits. Le kit organisateur est repris tel quel, avec son attribution.
Documentation. Une note de méthode qui dit ce qui est mesuré, ce qui ne l'est pas, les seuils que tu as posés et les défauts que tu connais. Plus un brainstorm et une chaîne produit complète.
Harnais. Pas de .claude/ ni de CLAUDE.md. À la place, ta chaîne produit. Install, brief, PRD, une spec marquée verrouillée, un plan et six fichiers de phase.
Intégration continue. Aucune.
Tests. 91, tous verts, suivis du typage. Dont un qui relance ton binaire avec toutes les clés d'API vidées et compare la sortie caractère par caractère à un fichier de référence.
Interfaces. Tes deux vues HTML dans le navigateur. Le tableau d'équipe, puis la fiche d'un profil complet et celle d'un profil vide.
Le calcul. Lu ligne par ligne.
Un dossier abîmé exprès, pour voir comment il réagit.
Comment ton outil marche
Un axe ne rend pas une note, il rend un plafond. Le niveau maximum que la mesure autorise, ou « je ne limite rien » quand elle ne plafonne pas.
Le verdict est le plus bas des plafonds, mais seulement sur les axes établis. Un axe sans preuve sort du calcul au lieu de valoir zéro. Aucun axe établi donne « indéterminé ».
Tu poses un plafond produit un cran sous le sommet, et tu l'expliques. La dernière case de la grille demande un cadrage compris, que des mesures git ne voient pas.
Ton escalier du harnais ne s'inverse pas. Des hooks ne rattrapent pas l'absence de mémoire projet.
Le déclaratif ne touche pas au verdict. Tes types séparent une source d'observation d'une source de mesure, et un test le vérifie.
Ce qui marche bien
Le refus de faire des moyennes, écrit en tête de ton tableau d'équipe. « Une ligne par développeur, pas de moyenne ni d'agrégat de niveaux. » Sur une grille où le niveau est le plus bas des axes, la moyenne d'une équipe ne veut effectivement rien dire.
La séparation pour le développeur et pour le CTO. La prochaine case à atteindre d'un côté, les axes près de céder de l'autre. Deux lecteurs, deux questions.
Tu dis noir sur blanc ce que tu ne mesures pas. Ni séniorité, ni qualité de code, ni dette. Ça évite les trois quarts des malentendus.
Les deux seuils que tu as posés faute de chiffre dans la grille sont annoncés comme tels, avec les cas que tu n'as pas pu tester.
Chaque plafond arrive avec ses mesures brutes, le champ et la valeur. On sait d'où vient le chiffre.
Le déclaratif et la session sont recopiés en entier, sous la mention « hors calcul, non vérifié ». Tu les montres et tu refuses d'en tirer un niveau.
Zéro dépendance en production, et un test qui échoue si un framework entre dans le projet.
Ce qu'on a préféré
Le raisonnement par plafond plutôt que par note. Un axe répond « je ne limite rien » au lieu d'avancer une valeur qu'il ne peut pas prouver. C'est le piège central du sujet, et tu ne tombes pas dedans.
Et le fait que le déclaratif reste vraiment dehors. On a réécrit le déclaratif d'un profil en autoproclamation Gold, ton résultat n'a pas bougé d'un octet. On a mis la session d'un autre développeur à la place de celle du profil le plus pauvre, ton verdict est resté indéterminé. Beaucoup d'outils promettent ça. Le tien le tient quand on essaie de le tromper.
Ce qu'on améliorerait
La preuve écrase la conclusion. Ta fiche aligne une ligne par mesure trouvée. C'est parfait pour contester un verdict, mais difficile à comprendre. La vidéo suit la même logique, elle déroule des fichiers au lieu de montrer le résultat. Même remède dans les deux cas. La conclusion et les quatre plafonds d'abord, les preuves repliées en dessous.
Un fichier coupé se lit exactement comme un fichier absent. Tu calcules déjà l'inventaire de lecture en interne, il suffit de l'afficher.
Ta règle a un revers : retirer des preuves peut faire monter le verdict. On a enlevé cinq champs à un profil, et son niveau est passé de copper au plafond produit, avec « axes bloquants : aucun ». Dans l'autre sens, à l'intérieur d'un axe, un compteur absent est bien lu comme zéro : retirer la mémoire projet d'un profil le fait tomber de green à red. Afficher l'inventaire de lecture à côté du verdict règle les deux cas, parce que le lecteur voit sur quoi le niveau repose.
Le refus s'arrête juste avant la réponse. Sur un profil réduit à deux pièces, tu écris « indéterminé » alors que la session dit beaucoup. Ajoute « ce que la seule pièce disponible suggère », avec une confiance basse, à côté du verdict.
Deux axes ne trient pas, et ça mérite d'être dit. L'un plafonne au même cran sur toute une plage, l'autre ne pose aucun plafond au-delà d'un seuil. Les deux choix sont fidèles à la grille, mais le lecteur peut croire à une mesure fine là où elle ne tranche pas.
Pas d'intégration continue, et peu de tests au regard du moteur que tu as construit. Le typage et les tests passent en une commande, il ne manque qu'un fichier de workflow.
--help n'est pas encore branché, alors que ton message d'usage existe déjà dans le code. Un chemin inconnu gagnerait à sortir ce même message plutôt qu'une trace.
En résumé
Une ligne de commande à cinq ports, sans une seule dépendance en production, deux vues HTML, et une chaîne produit complète du brief jusqu'à la dernière phase.
Tes verdicts tombent juste ou à un cran sur les profils renseignés, et sur celui qui ne l'est pas tu réponds « indéterminé » en nommant les champs qui débloqueraient chaque axe.
Ton raisonnement par plafond répond exactement au piège du sujet. Un axe sans preuve sort du calcul, et le déclaratif reste dehors même quand on le réécrit pour te piéger. Tu annonces aussi ce que tu ne mesures pas.
Ce qu'on garde
Le raisonnement par plafond, et la règle qui va avec. Un axe non établi ne compte pas dans le calcul. Ça vaut pour tout outil qui doit juger sur des données incomplètes.
Activity
blafourcade commentedon Sep 4, 2026
Merci pour ce rendu. Voici ce qu'on en a retenu, après l'avoir installé, lancé
sur les huit profils dans un conteneur isolé, et lu de bout en bout.
Ce qu'on a regardé
.claude/ni deCLAUDE.md. À la place, ta chaîne produit. Install, brief, PRD, une spec marquée verrouillée, un plan et six fichiers de phase.Comment ton outil marche
Ce qui marche bien
Ce qu'on a préféré
Le raisonnement par plafond plutôt que par note. Un axe répond « je ne limite rien » au lieu d'avancer une valeur qu'il ne peut pas prouver. C'est le piège central du sujet, et tu ne tombes pas dedans.
Et le fait que le déclaratif reste vraiment dehors. On a réécrit le déclaratif d'un profil en autoproclamation Gold, ton résultat n'a pas bougé d'un octet. On a mis la session d'un autre développeur à la place de celle du profil le plus pauvre, ton verdict est resté indéterminé. Beaucoup d'outils promettent ça. Le tien le tient quand on essaie de le tromper.
Ce qu'on améliorerait
--helpn'est pas encore branché, alors que ton message d'usage existe déjà dans le code. Un chemin inconnu gagnerait à sortir ce même message plutôt qu'une trace.En résumé
Une ligne de commande à cinq ports, sans une seule dépendance en production, deux vues HTML, et une chaîne produit complète du brief jusqu'à la dernière phase.
Tes verdicts tombent juste ou à un cran sur les profils renseignés, et sur celui qui ne l'est pas tu réponds « indéterminé » en nommant les champs qui débloqueraient chaque axe.
Ton raisonnement par plafond répond exactement au piège du sujet. Un axe sans preuve sort du calcul, et le déclaratif reste dehors même quand on le réécrit pour te piéger. Tu annonces aussi ce que tu ne mesures pas.
Ce qu'on garde
Le raisonnement par plafond, et la règle qui va avec. Un axe non établi ne compte pas dans le calcul. Ça vaut pour tout outil qui doit juger sur des données incomplètes.