État vérifié
Les codes de sortie sont devenus une interface machine, et ils sont
dispersés :
| Code |
Où il est défini |
7 |
locking.py:77 — EXIT_LOCKED |
8 |
infra/inventory.py:373 — EXIT_HOTES_INJOIGNABLES |
9 |
services/doctor.py — EXIT_DOCTOR_REQUIS_KO |
10 |
services/doctor.py — EXIT_DOCTOR_INDETERMINE |
127 |
cli/_socle.py:96 — littéral nu, aucune constante |
130 |
interrupt.py:61 — EXIT_INTERRUPTED |
docs/exit-codes.md n'existe pas. La documentation machine les décrit
commande par commande, ce qui oblige un intégrateur à parcourir toute la page
pour reconstituer la table.
Pourquoi c'est un problème maintenant
Un code de sortie est le contrat le plus dur qui soit : il n'a ni schéma, ni
version, ni message. Quatre codes ont été ajoutés en une journée (8, 9, 10, plus
le 127 existant), chacun dans le module qui l'utilise. Rien n'empêche
aujourd'hui d'en attribuer deux fois le même — aucun test ne compare les valeurs
entre modules.
Critères d'acceptation
Relevé en confrontant au code une analyse externe du dépôt, le 2026-08-24.
État vérifié
Les codes de sortie sont devenus une interface machine, et ils sont
dispersés :
7locking.py:77—EXIT_LOCKED8infra/inventory.py:373—EXIT_HOTES_INJOIGNABLES9services/doctor.py—EXIT_DOCTOR_REQUIS_KO10services/doctor.py—EXIT_DOCTOR_INDETERMINE127cli/_socle.py:96— littéral nu, aucune constante130interrupt.py:61—EXIT_INTERRUPTEDdocs/exit-codes.mdn'existe pas. La documentation machine les décritcommande par commande, ce qui oblige un intégrateur à parcourir toute la page
pour reconstituer la table.
Pourquoi c'est un problème maintenant
Un code de sortie est le contrat le plus dur qui soit : il n'a ni schéma, ni
version, ni message. Quatre codes ont été ajoutés en une journée (8, 9, 10, plus
le 127 existant), chacun dans le module qui l'utilise. Rien n'empêche
aujourd'hui d'en attribuer deux fois le même — aucun test ne compare les valeurs
entre modules.
Critères d'acceptation
ExitCode(IntEnum)central porte toutes les valeurs, y compris le127aujourd'hui littéral.remplacées : aucune valeur en double, et un test le vérifie.
docs/exit-codes.md(EN + FR) donne la table complète, avec pour chaquecode ce qu'il signifie et le geste qu'il appelle —
9se répare,10se remesure,
7s'attend.docs/machine-output.*.Relevé en confrontant au code une analyse externe du dépôt, le 2026-08-24.