La même clochette sonnait pour un plat servi et un plat perduLe résultat doit être lisible sans personne pour regarderThe same bell rang for a served plate and a lost oneThe outcome has to be readable with nobody watching
La nuit, personne ne regardait la salle ni le passe. La maison ne recevait qu’un coup de clochette disant que c’était fini. Pendant plus d’un an, la même sonnerie a annoncé un plat servi et un plat perdu.Le contrat headless exige des signaux machine fiables pour distinguer succès, échec, blocage et résultat incomplet sans inspection interactive. Un dossier de ce corpus en établit la rupture sur Aider : pendant plus d’un an, des mécanismes de panne différents pouvaient tous se terminer avec un code de succès. Le canal unique dont dispose l’appelant devenait alors non informatif.At night, nobody watched the room or pass. The house received only a bell saying it was done. For more than a year, that same sound announced a served plate and a lost one.A headless contract requires reliable machine-readable signals separating success, failure, blockage and incomplete outcome without interactive inspection. One dossier in this corpus records the break in Aider: for over a year, different failure mechanisms could all terminate with a success code. The single channel available to the caller carried no information at all.
De la cuisine jusqu’à la tableLivraison et résultat utilisateurFrom the kitchen to the tableDelivery and user outcomeLe matin, les plats manquaient malgré la bonne sonnerieSignauxBy morning, plates were missing despite the fine bellSignals
Le matin, la clochette avait sonné mais des plats manquaient. Des pannes très différentes finissaient toutes par le même son. Rien ne disait si la cuisine s’était arrêtée à mi-course ou n’avait jamais commencé.Le signal est un code de sortie de succès obtenu sur des chemins de panne hétérogènes, constaté sur une durée supérieure à un an chez Aider. Le second signal est l’absence de valeur distincte pour les états intermédiaires : blocage et résultat incomplet se replient sur le même code que le succès. La détection est nécessairement décalée, puisque aucune inspection interactive n’a lieu.By morning, the bell had rung but plates were missing. Very different failures all ended with one sound. Nothing said whether the kitchen stopped halfway or never started.The signal is a success exit code reached through heterogeneous failure paths, observed over more than a year in Aider. The second signal is the absence of distinct values for intermediate states: blockage and incomplete outcome collapse onto the same code as success. Detection is necessarily delayed, since no interactive inspection takes place.
Une sonnerie unique ne distinguait plus aucune finMécanismeOne bell no longer distinguished any endingMechanism
Le jour, quelqu’un pouvait regarder l’assiette et la clochette comptait peu. La nuit, elle devenait la seule parole de la maison. Un son qui ne changeait jamais pouvait rester exact sans rien apprendre à personne.En mode interactif, le code de sortie est redondant avec l’observation humaine, ce qui le fait traiter comme cosmétique. Sans interface, il devient le canal unique, et sa dégradation supprime toute capacité de décision chez l’appelant. Un code constant est trivialement cohérent et porte zéro information : il ne discrimine plus succès, échec, blocage ni résultat incomplet.In daylight, someone could inspect the plate and the bell mattered little. At night, it became the house’s only voice. A sound that never changed could remain exact while teaching nobody anything.Under interactive use the exit code duplicates human observation, which is why it gets treated as cosmetic. With no interface it becomes the only channel, and its degradation removes the caller’s ability to decide anything. A constant code is trivially consistent and carries zero information: it no longer separates success, failure, blockage or incomplete outcome.
Donner un son différent à chaque fin de serviceRéponseGive every ending of service a different soundResponse
Donnez un son distinct au plat servi, au plat raté, à la cuisine arrêtée et à la commande incomplète. Traitez cette sonnerie aussi sérieusement que l’assiette. Essayez-la la nuit, lorsque personne ne peut regarder le service.Les états terminaux doivent être distincts et stables : succès, échec, blocage, résultat incomplet, chacun avec sa valeur propre. Le code de sortie relève du contrat produit et doit être testé sur les chemins de panne, pas seulement sur le chemin nominal. La preuve doit être prise en exécution non interactive, seule condition où le contrat s’applique.Give separate sounds to a served plate, a failed one, a stopped kitchen, and an incomplete order. Treat the bell as seriously as the plate. Try it at night, when no one can watch service.Terminal states must be distinct and stable: success, failure, blockage, incomplete outcome, each with its own value. The exit code belongs to the product contract and must be tested along failure paths, not only along the nominal path. Evidence has to be taken in non-interactive execution, the only condition under which the contract applies.
Quand personne ne regarde, la sonnerie devient la parole du serviceLeçonWhen nobody watches, the bell becomes service’s voiceLesson
Quand personne ne regarde, la sonnerie est le seul message livré par la cuisine. Si elle dit toujours la même chose, elle ne permet plus aucune décision. Ce n’est pas un détail, c’est le service qui se tait.Un exit code vert fait partie du contrat produit, ce n’est pas un détail cosmétique. En exécution non interactive, la fiabilité du signal terminal est la seule garantie disponible, et un succès uniforme la supprime entièrement.When nobody watches, the bell is the kitchen’s only message. If it always says the same thing, it allows no decision. That is not a detail; service has gone silent.A green exit code is part of the product contract, not a cosmetic detail. In non-interactive execution the reliability of the terminal signal is the only guarantee available, and a uniform success removes it entirely.

