Correction d'une preuve qui n'en était pas une. Ma vérification lançait le même plan deux fois et comparait les empreintes. Le porteur ayant indiqué où ComfyUI écrit ses images, le dossier a pu être inspecté : UN SEUL fichier y figurait alors que deux exécutions avaient été lancées. ComfyUI met en cache le résultat d'un graphe identique. La « deuxième exécution » n'avait rien recalculé — elle avait relu la première. Comparer deux empreintes dans ces conditions ne mesure que le cache. Après POST /free, une exécution authentique produit decor_00002_.png, bit-identique au premier. La conclusion était juste, la méthode ne l'était pas. Le test devient un mode de l'outil plutôt qu'une manipulation : --reproductibilite génère, vide le cache, régénère et compare. Un test de reproductibilité qui ne vide pas le cache se ment à lui-même. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
KI FWI SA YÉ ?
Jeu éducatif libre qui apprend aux enfants des Antilles à reconnaître les fruits, les arbres et les plantes de leurs îles. Le kréyòl est la langue principale ; le français en est la traduction.
Porté par ORGANISATION KA INTERNATIONALE — o-k-i.net.
État : session 0 terminée. Cadre juridique, outillage de données et dataset vérifié. Aucun code applicatif n'est encore écrit. Voir
docs/plan.md.
Le principe
Le jeu enseigne la reconnaissance du réel. Deux filières d'assets, jamais mélangées :
- Filière A — vérité. Photographies réelles. Seule filière autorisée pour tout ce qui sert à identifier : épreuves, indices, fiches.
- Filière B — décor. Images générées. Fonds, sprites, badges. Jamais une épreuve.
Les modèles de diffusion connaissent mal le corossol, à peine la quenette, presque pas le zikak. Ils produisent des fruits plausibles et faux. Un jeu d'identification bâti sur des assets générés apprend l'erreur.
Cette règle n'est pas une consigne : c'est un script. npm run validate:data fait échouer
le build si une épreuve s'appuie sur un média non validé, et npm run test:porte prouve que
ce refus se produit.
Un projet participatif — le manque est publié, pas masqué
Les fonds libres documentent mal la flore antillaise, et le kréyòl en est presque absent : Wikidata enregistre 124 noms vernaculaires pour les 13 espèces du projet — en chinois, en anglais, en portugais, en slovène — et aucun en kréyòl.
Plutôt que de contourner ces trous, le projet les mesure et les publie. Une fiche sans photo
d'écorce le dit et explique comment le combler. npm run rapport:manques régénère
l'inventaire ; docs/contribuer.md explique les six gestes possibles,
de l'ajout d'un nom sur Wikidata — cinq minutes, aucun matériel — jusqu'à l'enregistrement
d'une voix kréyòl.
Contribuer se fait sur Wikimedia Commons, Wikidata, iNaturalist, Pl@ntNet ou Lingua Libre, jamais dans le jeu : les contributions doivent servir à tout le monde, pas seulement à ce projet. Le jeu se contente de liens ordinaires — il ne contacte aucun service pendant qu'on y joue.
La langue aussi se demande. Le projet écrit des noms en kréyòl sans avoir autorité pour
le faire. Quatre questions sont donc posées publiquement dans les fiches — aki ou ake ?
qu'appelez-vous pòm-dlo ? — et le validateur refuse qu'une entrée soit publiée sans qu'un
locuteur nommé ait tranché. Les variantes proposées sont conservées avec leur source : une
variante est un usage, pas une erreur. Voir
docs/kreyol-participatif.md.
Commandes
npm install
npm run verify:taxa # vérifie la taxonomie contre Wikidata et GBIF
npm run ingest:commons # remonte les photos candidates sous licence libre
npm run build:dataset # compose les entrées (--force pour écraser)
npm run validate:data # la porte : schéma + règles métier
npm run test:porte # prouve que la porte refuse ce qu'elle doit refuser
npm run build:credits # régénère CREDITS.md depuis les données
npm run check:audio # liste les enregistrements kréyòl manquants
npm run rapport:manques # mesure ce qui manque, dans le projet et dans les fonds publics
Ces scripts vivent dans tools/data/, hors du bundle. Aucun appel réseau ne subsistera au
runtime du jeu : tout est cuit au build.
Où regarder
| Fichier | Contenu |
|---|---|
docs/contribuer.md |
comment enrichir la connaissance — six gestes, du plus rapide au plus engageant |
docs/kreyol-participatif.md |
corriger notre kréyòl — les questions ouvertes, et comment y répondre |
docs/manques.md |
ce qui manque, mesuré et daté — régénéré par script |
docs/plan.md |
les 7 sessions et leurs portes de sortie mesurables |
docs/adr/ |
les six décisions d'architecture et leurs motifs |
docs/audit-sources.md |
ce qu'on prend à chaque source, sous quelle licence |
docs/a-arbitrer.md |
ce qu'un humain doit trancher avant publication |
docs/kreyol-a-relire.md |
les incertitudes orthographiques, signalées non corrigées |
docs/planche-relecture-medias.md |
les 130 photos candidates à valider |
fruits.schema.json |
le contrat des données |
CREDITS.md |
attributions, généré — ne pas éditer |
Licences
- Code : AGPL-3.0-or-later
- Contenu OKI : CC BY-SA 4.0
- Médias tiers : licence d'origine conservée, listée média par média dans
CREDITS.md. Le jeu est une œuvre collective, pas dérivée — d'où l'interdiction absolue de compositing, vérifiée par script.
Rien n'est « libre de droit ». Voir SOURCES.md et
docs/adr/0001-licences.md.
Ce que le code ne fera jamais
Aucun compte, aucune publicité, aucun traceur, aucune requête vers un domaine tiers au runtime, aucune collecte de données sur les enfants. Le jeu est entièrement jouable hors ligne après une première visite.