Back to flin
flin

Bugs d'ordonnancement des entités et de format de temps

Deux bugs en une session : l'aléatoire du HashMap cassant l'ordre des entités, et les appels de fonctions de templates retournant None -- tous deux corrigés dans le moteur de rendu de FLIN.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 2 min flin
EN/ FR/ ES
flinbugorderingtime-formatentitysorting

La Session 206 était une session à double bug. Deux problèmes non liés conspiraient pour faire paraître l'application todo cassée : les entités apparaissaient dans un ordre aléatoire après rafraîchissement, et les fonctions de formatage de temps ne retournaient rien dans les templates.

Bug un : le mélange du HashMap. Les entités stockées dans un HashMap apparaissaient dans un ordre différent à chaque rafraîchissement de page. La correction a ajouté un tri par (created_at, id) dans la méthode all().

Bug deux : les appels de fonctions de templates retournent None. La fonction eval_expr_with_scope() du moteur de rendu ne gérait pas Expr::Call -- les appels de fonctions tombaient dans la branche catch-all et retournaient None. La correction a ajouté l'évaluation d'appels de fonctions pour les fonctions intégrées (time_format, time_year, uppercase, len, etc.) et a exposé les champs internes des entités (id, version, created_at, updated_at, etc.) dans le moteur de rendu.

Les deux bugs avaient des symptômes indépendants mais ensemble ils donnaient l'impression que le système de persistance dysfonctionnait. En réalité, la persistance était parfaite -- les bugs étaient dans la présentation (ordonnancement) et le rendu (appels de fonctions).


Ceci est la partie 167 de la série « Comment nous avons construit FLIN », documentant comment un CEO à Abidjan et un CTO IA ont conçu et construit un langage de programmation à partir de zéro.

Navigation de la série : - [166] Le bug de la méthode Entity .get() - [167] Bugs d'ordonnancement des entités et de format de temps (vous êtes ici) - [168] Valeurs par défaut des entités et correction du toggle

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

Le jour où Déblo a refusé une bonne réponse — deux fois

Une trace de production a montré Déblo K12 rejetant deux fois de suite la bonne réponse d’un élève de Terminale. Huit heures d’analyse, quatre commits, une rotation A/B de modèles et un benchmark sur 6 modèles plus tard, le tuteur de maths était corrigé. Ce qui a cassé, ce que nous avons changé, et ce que l’échec surprenant de GPT-5.4-mini au test socratique nous a appris sur le choix des modèles pour l’IA éducative.

32 min May 3, 2026
debloclaude-opus-4.7claude-codemethodology +14
Thales & Claude deblo

Web Claude a trouvé le bug. Puis il a failli l’aggraver.

Comment un prompt vocal de 270 lignes pour le tuteur Ultravox de Deblo produisait la même phrase d’accueil scriptu00e9e à chaque appel. Web Claude a diagnostiqué le problème parfaitement, puis a prescrit une correction qui aurait doublé la taille du prompt avec des hooks backend inexistants. Le filtre qui a gardé le diagnostic et rejeté la prescription.

17 min Apr 28, 2026
debloclaude-opus-4.7methodologyprompt-engineering +7
Thales & Claude deblo

Pourquoi j’ai dû corriger Web Claude deux fois sur la stratégie de la page d’accueil de Deblo

Comment une conversation de 48 heures avec Web Claude a failli entraîner Deblo dans le piège généraliste « ChatGPT pour l’Afrique », et pourquoi la connaissance du marché par le fondateur a dû prendre le dessus sur les suggestions stratégiques de l’IA à deux reprises.

26 min Apr 26, 2026
debloclaude-opus-4.7methodologystrategy +6