bxc 0.9.6 — audit du module wiki
Un seul commit depuis v0.9.5 : l'audit du module bxc wiki — douze défauts mesurés, une couche de service partagée sans argv ni process.exit, 46 tests.
Les trois défauts les plus coûteux
redirects=1manquait àaction=parse. Une page atteinte par un alias rendait un moignon de 1 010 o là où la page en fait 519 579 — et ces 1 010 o passaient la garde des 200 caractères, donc étaient servis comme un succès.parserInfoboxbouclait à l'infini sur une infobox non fermée (re.lastIndexreposé sur la position déjà examinée) : une page tronquée figeait la CLI. Non-régression bornée à 500 ms.- Le limiteur de débit ne limitait rien en concurrence : il lisait la date, dormait, puis l'écrivait — N appels simultanés lisaient la même date et repartaient ensemble. Réservation désormais synchrone (0 / 6 000 / 12 000 ms vérifiés).
Les autres : tableaux imbriqués absorbés, <br> collant deux valeurs, decodeURIComponent levant sur un titre à pourcent, préfixes de langue régionaux (pt-br, zh-tw, es-419) partant sur le wiki anglais, ?title= visant /api.php au lieu de /w/api.php, --out polluant la requête de find, Bun.stdout.write non attendu, --proxy et --insecure jetés.
Ajouté
src/crawler/wiki-service.ts— couche de capacités partagée entre la CLI et le serveur MCP.- Vérification des images contre le SHA-1 publié par le wiki : un CDN qui rend 200 avec une page d'erreur produisait un
.pngillisible que rien ne signalait. --compressenzstd: 521 843 o → 51 656 o en 1,5 ms (×10,1 ;gzipfait ×9,6 en 3,4 ms).
Note de publication
npm était resté à 0.9.0 : les versions 0.9.1 à 0.9.5 n'avaient jamais été publiées alors que leurs tags existent. Cette release les livre toutes, avec les 15 sous-paquets @aphrody/* que la racine épingle à la version exacte.
Vérifié avant publication : bun run test = 1 390 pass, 33 skip, 0 fail ; bun run typecheck = 0.
Les artefacts multi-plateformes ne sont pas joints : GitHub Actions est verrouillé pour un problème de facturation sur le compte, les workflows publish et release n'ont pas démarré. La publication npm a donc été faite depuis la machine de développement, par scripts/publish-workspaces.ts — 16 paquets publiés, 0 sauté, 0 en échec.