feat(doctor): rendre visibles les échecs qui coûtaient des soirées - #287
Merged
Merged
Conversation
Trois premiers pas de la revue du 10/09/2026.
1. LE DOCTOR DIT SI L'INSTALLATION A ATTEINT LE CABINET
doctor.d/85-installation.sh, quatre contrôles, un par soirée perdue :
- un drapeau de rejeu qui traîne après plusieurs démarrages (le mappage
des boutons, le DMD matériel) ;
- un DMD déclaré que VPinFE ne trouve pas — Flo avait « No displays
found by libdmdutil » toutes les dix secondes depuis son premier
démarrage, et rien ne le lui disait ;
- une rotation de playfield choisie à l'installation que xrandr n'a pas
appliquée ;
- un contrôleur DOF déclaré sans directoutputconfig<N>.ini — ses sorties
resteront noires en table, ce qui est le symptôme de Patrick.
Chaque message dit où aller la corriger. Le module n'avale aucune erreur :
un seul « || true », pour le sourcing des chemins, et un test l'impose.
2. L'IMAGE N'EMPORTE PLUS NOS BROUILLONS
root/pincab-* (11 039 lignes de scripts de travail : v31, v32, v32b, v33,
v35b, v35c, v35d…) et DEV/ partaient sur CHAQUE cabinet. Exclus. On ne
touche pas à root/ en bloc : .bashrc, .profile et .ssh y sont légitimes,
et un test le vérifie.
3. TROIS CLIQUETS
Un cliquet fige l'existant et refuse que ça empire :
doublons-connus.txt 54 groupes, 26 902 lignes strictement identiques
rm-rf-connus.txt 36 fichiers avec « rm -rf "$VAR" » non gardé
unites-sans-lien.txt 11 unités déclarant WantedBy sans lien
Les trois listes ne peuvent que rétrécir : un ajout fait échouer le test,
et une correction aussi — pour qu'on pense à retirer la ligne.
Le troisième cliquet a trouvé onze fois le défaut exact de
pincabos-screen-hotplug, celui qui laissait le playfield à l'envers.
Certaines sont démarrées autrement (udev pour dudescab-hotplug-recovery,
un .path pour splash-sync, un appel direct de l'installateur pour les
trois firstboot-*). Trois ne le sont par personne : safe-batch-full,
scoreview-x11-hq-preview et table-test. Elles demandent un arbitrage, pas
une correction automatique — d'où le cliquet plutôt que la règle stricte.
797 tests.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
sha256sum SUIT les liens. Mon détecteur comptait donc comme « copies » des liens que le projet avait déjà posés — et annonçait 54 groupes / 26 902 lignes dupliquées là où il y en a 3 / 1 523. Sur les 54 groupes relevés : 51 déjà entièrement en liens symboliques 0 vraies copies 3 mixtes — une copie réelle à côté de liens Les six « copies » d iso.sh sont un fichier réel et cinq liens qui pointent dessus : exactement ce que je proposais de faire. Ce qui reste vraiment dupliqué tient en trois fichiers, entre opt/pincabos/install/modules/ et opt/pincabos/modules/ : mod-dhcp4.sh, mod-ssid.sh, mod-splash.sh. git ls-files -s donne le mode 120000 pour un lien : c est la seule façon fiable de le distinguer d une copie. Le test le lit désormais, et la base rm-rf passe de 36 à 23 fichiers pour la même raison. 797 tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Les trois premiers pas de la revue du 10/09.
1. Le doctor dit si l'installation a atteint le cabinet
doctor.d/85-installation.sh— quatre contrôles, un par soirée perdue :No displays found by libdmdutiltoutes les dix secondes depuis son premier démarrage, et rien ne le lui disaitxrandrn'a pas appliquéedirectoutputconfig<N>.iniChaque message dit où aller corriger : Map Commander, la page DMD, la page DOF.
Et le module n'avale aucune erreur — un seul
|| true, pour le sourcing des chemins, et un test l'impose. C'est le constat 01 de la revue : on ne peut pas ajouter du silence à un module dont le rôle est d'en retirer.2. L'image n'emporte plus nos brouillons
Ils partaient sur chaque cabinet. Ce n'est pas une question de place — 1 Mo sur 2,8 Go — mais le cabinet d'un utilisateur n'a pas à porter notre historique de travail.
On ne touche pas à
root/en bloc :.bashrc,.profileet.sshy sont légitimes. Un test le vérifie, parce que c'est le genre de raccourci qu'on prend à deux heures du matin.3. Trois cliquets
Un cliquet ne répare rien aujourd'hui : il fige l'existant et refuse que ça empire.
Les trois listes ne peuvent que rétrécir : un ajout fait échouer le test, et une correction aussi — pour qu'on pense à retirer la ligne.
Ce que le troisième cliquet a trouvé
Onze fois le défaut exact de
pincabos-screen-hotplug, celui qui laissait le playfield à l'envers : une unité qui déclareWantedBy=sans lien, donc jamais démarrée par cette cible.J'ai vérifié chacune avant de crier au bug :
dudescab-hotplug-recoverysplash-sync.pathdu même nom — légitimefirstboot-initramfs-refresh,-network-webapp-fix,-vpinfe-packaged-runtime-fixdashboard-live-capturedashboard-liveest liée et lance le même binairesafe-batch-full,scoreview-x11-hq-preview,table-testLes trois dernières demandent de savoir ce qu'elles doivent faire — c'est un arbitrage, pas une correction automatique. D'où le cliquet plutôt que la règle stricte.
Tests
test_doctor_installation.py(10) ettest_hygiene.py(9). 797 tests.Suite
Le pas 4 de la revue — dédupliquer — se réduit à trois fichiers, entre
opt/pincabos/install/modules/etopt/pincabos/modules/:À traiter séparément, en vérifiant d'abord lequel des deux emplacements est réellement appelé.
🤖 Generated with Claude Code