Files
ki-fwi/package.json
T
OKIandClaude Opus 5 bd29770bd2 feat(sessions-5-6): candidats vérifiés et audit de livraison
Session 5 — bloquée sur ce qu'aucun agent ne peut produire : les noms
kréyòl. Le nom kréyòl est le nom principal de chaque entrée (ADR 0005) ;
inventer seize noms aurait été exactement ce que le projet s'interdit.

Livré à la place : verify:candidats vérifie 16 espèces candidates contre
Wikidata et GBIF et produit un tableau complet — nom accepté, famille,
Q-id, clé GBIF, français — avec une colonne vide. Il ne manque que ce
qu'une machine ne peut pas produire.

15 candidats sur 16 sans écart. Le seizième a attrapé mon erreur :
j'avais proposé Citrus sinensis pour l'orange, GBIF le renvoie en
SYNONYM. C'est le rôle du contrôle.

Session 6 — npm run audit vérifie la DoD sur le build réel, pas sur les
intentions. Sortie non nulle = livraison refusée. 14 points au vert :
zéro chargement tiers, zéro emoji, zéro lien interne mort sur 74 pages,
shell JS à 86 Ko gzip, aucun chunk lourd sur le chemin critique, SEO
complet, fichiers de service présents, polices self-hébergées.

Restent ouverts et annoncés comme tels : Lighthouse, 30 fps sur Mali-G52,
hors ligne en mode avion, prefers-reduced-motion à la main, et le test en
classe. Ce sont des mesures qu'un agent ne peut pas prendre ; les
annoncer comme faites aurait été le seul vrai échec.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 12:10:16 -04:00

46 lines
1.6 KiB
JSON

{
"name": "ki-fwi",
"version": "0.0.0",
"private": true,
"description": "KI FWI SA YÉ ? — jeu éducatif libre : reconnaître les fruits, les arbres et les plantes des Antilles.",
"license": "AGPL-3.0-or-later",
"type": "module",
"engines": {
"node": ">=22"
},
"scripts": {
"verify:taxa": "node tools/data/verify-taxa.mjs",
"ingest:commons": "node tools/data/ingest-commons.mjs",
"build:dataset": "node tools/data/build-dataset.mjs",
"check:audio": "node tools/data/check-audio.mjs",
"validate:data": "node tools/data/validate.mjs",
"build:credits": "node tools/data/build-credits.mjs",
"test:porte": "node tools/data/test-porte.mjs",
"rapport:manques": "node tools/data/rapport-manques.mjs",
"dev": "vite dev",
"build": "vite build && node tools/build/sitemap.mjs",
"preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:i18n": "node tools/data/check-i18n.mjs",
"fetch:medias": "node tools/data/fetch-medias.mjs",
"verify:seeds": "python3 tools/assets/comfyui_client.py --verifier",
"verify:candidats": "node tools/data/verify-candidats.mjs",
"audit": "node tools/build/audit.mjs"
},
"devDependencies": {
"@fontsource/archivo": "^5.3.0",
"@fontsource/inter": "^5.3.0",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.70.1",
"@sveltejs/vite-plugin-svelte": "^7.2.0",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"phaser": "^4.2.1",
"svelte": "^5.56.8",
"svelte-check": "^4.7.4",
"typescript": "^5.9.3",
"vite": "^8.1.5",
"vite-plugin-pwa": "^1.3.0"
}
}