Surprises connues
Ce fichier suit les points de confusion spécifiques au référentiel qui ont provoqué des erreurs d'agent.
Critères d'entrée
Ajoutez une entrée uniquement si tous sont vrais :
- Il est spécifique à ce référentiel (pas de conseil générique).
- Il est probable que cela se reproduise pour les futurs agents.
- Il existe une atténuation concrète qui peut être suivie.
En cas de doute, demandez au développeur avant d'ajouter une entrée.
Modèle d'entrée
### [Short title]
- **Date:** YYYY-MM-DD
- **Observed by:** agent name or contributor
- **Context:** where/when it happened
- **What was surprising:** concrete unexpected behavior
- **Impact:** what went wrong or could go wrong
- **Mitigation:** exact step future agents should take
- **Status:** confirmed | superseded
Entrées
Portless modifie l'URL canonique de l'application locale
- Date : 2026-03-18
- Observé par : Codex
- Contexte : Vérification du navigateur et flux de fumée
- Ce qui était surprenant : L'URL locale par défaut n'est pas le port Vite habituel. Le dépôt attend
https://bitsocial.localhostvia Portless, donc vérifierlocalhost:3000oulocalhost:5173peut toucher la mauvaise application ou rien du tout. - Impact : Les vérifications du navigateur peuvent échouer ou valider la mauvaise cible même lorsque le serveur de développement est sain.
- Atténuation : Utilisez d'abord
https://bitsocial.localhost. Contournez-le uniquement avecPORTLESS=0 corepack yarn startlorsque vous avez explicitement besoin d'un port Vite direct. - Statut : confirmé
Les hooks de validation bloquent les validations non interactives
- Date : 2026-03-18
- Observé par : Codex
- Contexte : Workflows de validation pilotés par un agent
- Ce qui était surprenant :
git commitdéclenche Commitizen via Husky et attend une entrée TTY interactive, qui bloque les shells d'agent non interactifs. - Impact : Les agents peuvent bloquer indéfiniment pendant ce qui devrait être une validation normale.
- Atténuation : Utilisez
git commit --no-verify -m "message"pour les validations créées par l'agent. Les humains peuvent toujours utilisercorepack yarn commitoucorepack yarn exec cz. - Statut : confirmé
Corepack est requis pour éviter Yarn classic
- Date : 2026-03-19
- Observé par : Codex
- Contexte : Migration du gestionnaire de packages vers Yarn 4
- Ce qui était surprenant : La machine dispose toujours d'une installation classique globale de Yarn sur
PATH, donc l'exécution deyarnpeut être résolue en v1 au lieu de la version Yarn 4 épinglée. - Impact : Les développeurs peuvent accidentellement contourner l'épinglage du gestionnaire de packages du dépôt et obtenir un comportement d'installation ou une sortie de fichier de verrouillage différent.
- Atténuation : Utilisez
corepack yarn ...pour les commandes shell, ou exécutez d'abordcorepack enablepour queyarnsoit résolu en version Yarn 4 épinglée. - Statut : confirmé
Correction des noms d'applications sans port qui entrent en collision dans les arbres de travail Web Bitsocial
- Date : 2026-03-30
- Observé par : Codex
- Contexte : Démarrage de
yarn startdans une arborescence de travail Web Bitsocial alors qu'une autre arborescence de travail était déjà diffusée via Portless - Ce qui était surprenant : L'utilisation du nom littéral de l'application sans port
bitsocialdans chaque arbre de travail provoque une collision de la route elle-même, même lorsque les ports de support sont différents, de sorte que le deuxième processus échoue carbitsocial.localhostest déjà enregistré. - Impact : Les branches Web parallèles Bitsocial peuvent se bloquer même si Portless est censé les laisser coexister en toute sécurité.
- Atténuation : Conservez le démarrage sans port derrière
scripts/start-dev.mjs, qui utilise désormais une route*.bitsocial.localhostà portée de branche en dehors du cas canonique et revient à une route à portée de branche lorsque le nom nubitsocial.localhostest déjà occupé. - Statut : confirmé
Aperçu de la documentation utilisé pour coder en dur le port 3001
- Date : 2026-03-30
- Observé par : Codex
- Contexte : Exécution de
yarn startaux côtés d'autres dépôts et agents locaux - Ce qui était surprenant : La commande de développement racine exécutait l'espace de travail de documentation avec
docusaurus start --port 3001, de sorte que toute la session de développement échouait chaque fois qu'un autre processus possédait déjà3001, même si l'application principale utilisait déjà Portless. - Impact :
yarn startpourrait tuer le processus Web immédiatement après son démarrage, interrompant ainsi le travail local non lié en raison d'une collision entre le port et la documentation. - Atténuation : Conservez le démarrage des documents derrière
yarn start:docs, qui utilise désormais Portless plusscripts/start-docs.mjspour honorer un port libre injecté ou revenir au prochain port disponible lorsqu'il est exécuté directement. - Statut : confirmé
Correction du nom d'hôte sans port de la documentation codé en dur
- Date : 2026-04-03
- Observé par : Codex
- Contexte : Exécution de
yarn startdans une arborescence de travail Web Bitsocial secondaire alors qu'une autre arborescence de travail diffusait déjà des documents via Portless - Ce qui était surprenant :
start:docsenregistrait toujours le nom d'hôte littéraldocs.bitsocial.localhost, doncyarn startpouvait échouer même si l'application à propos savait déjà comment éviter les collisions de routes sans port pour son propre nom d'hôte. - Impact : Les arbres de travail parallèles n'ont pas pu utiliser de manière fiable la commande root dev, car le processus de documentation s'est arrêté en premier et
concurrentlya ensuite interrompu le reste de la session. - Atténuation : Conservez le démarrage des documents derrière
scripts/start-docs.mjs, qui dérive désormais le même nom d'hôte sans port de portée de branche que l'application À propos et injecte cette URL publique partagée dans la cible du proxy de développement/docs. - Statut : confirmé
Les shells Worktree peuvent manquer la version Node épinglée du dépôt
- Date : 2026-04-03
- Observé par : Codex
- Contexte : Exécution de
yarn startdans des arbres de travail Git tels que.claude/worktrees/*ou des extractions d'arbres de travail frères - Ce qui était surprenant : Certains shells d'arbre de travail ont résolu
nodeetyarn nodeen nœud Homebrew25.2.1même si le dépôt épingle22.12.0dans.nvmrc, afin queyarn startpuisse exécuter silencieusement les lanceurs de développement sous le mauvais moteur d'exécution. - Impact : Le comportement du serveur de développement peut dériver entre la caisse principale et les arbres de travail, rendant les bogues difficiles à reproduire et violant la chaîne d'outils Node 22 attendue du dépôt.
- Atténuation : Conservez les lanceurs de développement derrière
scripts/start-dev.mjsetscripts/start-docs.mjs, qui se réexécutent désormais sous le binaire.nvmrcNode lorsque le shell actuel est sur la mauvaise version. La configuration du shell devrait toujours préférernvm use. - Statut : confirmé
Les restes de docs-site/ peuvent masquer la source des documents manquants après le refactor
- Date : 2026-04-01
- Observé par : Codex
- Contexte : Nettoyage du monorepo après la fusion après le déplacement du projet Docusaurus de
docs-site/versdocs/ - Ce qui était surprenant : L'ancien dossier
docs-site/peut rester sur le disque avec des fichiers obsolètes mais importants commei18n/, même après le déplacement du dépôt suivi versdocs/. Cela donne l'impression que le refactor est dupliqué localement et peut masquer le fait que les traductions des documents suivis n'ont pas été réellement déplacées versdocs/. - Impact : Les agents peuvent supprimer l'ancien dossier comme étant « indésirable » et perdre accidentellement la seule copie locale des traductions de documents, ou continuer à modifier des scripts qui pointent toujours vers le chemin
docs-site/mort. - Atténuation : Traitez
docs/comme le seul projet de documentation canonique. Avant de supprimer les restes locaux dedocs-site/, restaurez la source suivie commedocs/i18n/et mettez à jour les scripts et les hooks pour arrêter de référencerdocs-site. - Statut : confirmé
L'aperçu des documents multilocales peut augmenter la RAM lors de la vérification
- Date : 2026-04-01
- Observé par : Codex
- Contexte : Correction des documents i18n, du routage des paramètres régionaux et du comportement de Pagefind avec
yarn start:docsplus Playwright - Ce qui était surprenant : Le mode de prévisualisation des documents par défaut effectue désormais une création de documents multilocale complète ainsi qu'une indexation Pagefind avant de les diffuser, et maintenir ce processus en vie parallèlement à plusieurs sessions Playwright ou Chrome peut consommer beaucoup plus de RAM qu'une boucle de développement Vite normale ou Docusaurus à un seul paramètre régional.
- Impact : La machine peut devenir limitée en mémoire, les sessions de navigateur peuvent planter et les exécutions interrompues peuvent laisser derrière elles des serveurs de documents obsolètes ou des navigateurs sans tête qui continuent de consommer de la mémoire.
- Atténuation : Pour les travaux de documentation qui ne nécessitent pas de vérification de route locale ou de recherche de page, préférez
DOCS_START_MODE=live yarn start:docs. Utilisez uniquement l'aperçu multilocale par défaut lorsque vous devez valider des itinéraires traduits ou Pagefind. Conservez une seule session Playwright, fermez les anciennes sessions de navigateur avant d'en ouvrir de nouvelles et arrêtez le serveur de documents après vérification si vous n'en avez plus besoin. - Statut : confirmé