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 thales

Treize agents, quarante-trois minutes : la première session Workflow de Claude Fable 5, et ce qu'un script d'orchestration déterministe change aux builds multi-agents

Un prompt, treize agents, quarante-trois minutes : la première session de production avec Claude Fable 5 et l'outil Workflow de Claude Code a livré un site web de production complet de sept pages plus un endpoint backend de capture de leads, en un seul commit. Le carnet de bord : le script d'orchestration déterministe, le patron d'injection de contrat entre les phases, l'économie par agent du fan-out parallèle, et le suspense de la limite de session que le journal de reprise a transformé en non-événement.

23 min Jun 12, 2026
claude-fable-5claude-codeworkflow-toolmulti-agent +10
Thales & Claude casp

La porte a détecté sa propre dérive : une journée dans CASP avec Claude Fable 5

Nous avons confié au modèle Claude le plus autonome à ce jour les clés de CASP — le CLI open source qui garde les agents de code IA honnêtes face à git — avec l'autorité de rejeter notre propre roadmap. Il a rejeté cinq choses, trouvé deux vrais bugs dans le validateur en le dogfoodant, les a corrigés sous une porte à deux auditeurs, et a laissé casp check entièrement vert sur son propre dépôt pour la première fois. CASP 0.3.0 en est le résultat.

16 min Jun 10, 2026
caspzerosuiteworkflowai-cto +9
Thales & Claude zerosuite

La transplantation du CASP : comment la discipline des six fichiers est passée de Conductor à un ERP transport anti-fraude, ce que la compétence /next ajoute quand l'opérateur tape juste « next », et pourquoi le coût d'une dérive du CASP grimpe quand le projet, c'est l'argent des autres

La discipline du CASP qui a piloté trente-cinq sessions de Conductor est agnostique au produit. Le carnet de bord de sa transplantation sur KASSIA, un ERP transport anti-fraude pour un exploitant de flotte en Côte d'Ivoire : ce qui a migré, ce qui n'a pas migré (le validateur sur mesure — et ce que son absence coûte), ce que la compétence /next ajoute quand l'opérateur tape un seul mot, et là où le CASP s'arrête — le bug de déploiement qu'il ne pouvait pas voir parce qu'il enregistre l'intention, pas la réalité de l'infrastructure.

23 min Jun 8, 2026
kassiaerp-kassia-transport-logistiquezerosuiteCASP +15