Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Gardez seulement les dernières entrées d’un itérable dans un tampon circulaire borné et restituez leur ordre chronologique.
from collections import deque
def keep_latest(items, capacity):
if type(capacity) is not int or capacity < 1:
raise ValueError("ring.capacity")
return tuple(deque(items, maxlen=capacity))Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
Testez débordement, doublons et capacité un en rejetant les capacités non positives ou fractionnaires avant lecture.
from collections import deque
def keep_latest(items, capacity):
if type(capacity) is not int or capacity < 1:
raise ValueError("ring.capacity")
return tuple(deque(items, maxlen=capacity))Ringcraft offre un espace de programmation sous Windows pour travailler sur l’historique des applications. Apportez le dossier source et décrivez ce qu’un lecteur doit voir lorsque le nombre d’entrées reçues dépasse celui conservé. Cette exigence permet de discuter ensemble du producteur, de l’étape de rétention et du consommateur, sans supposer qu’une collection de taille limitée suffit à définir le bon comportement.
Une tâche utilisant recent_items.py peut demander au modèle connecté d’examiner quelles entrées survivent à une limite de capacité et dans quel ordre elles sont renvoyées. Incluez une séquence assez longue pour dépasser la limite. Confrontez la modification suggérée au code d’affichage ou d’export qui reçoit le résultat, en vérifiant notamment s’il attend les entrées les plus anciennes ou les plus récentes en premier.
Effectuez ensuite une vérification ciblée dans votre projet. Testez une entrée vide, une séquence atteignant exactement la capacité et un dépassement, puis examinez le traitement d’une capacité invalide à la frontière d’appel. Gardez la modification liée au sens de la rétention : changer l’implémentation du stockage ne détermine pas à lui seul ce que l’application doit conserver.
Ringcraft accepte des connexions à des modèles compatibles OpenAI ou Anthropic pris en charge, avec des identifiants lorsque nécessaire. Vous pouvez choisir un modèle d’IA sans censure proposé par ce point de terminaison. Les restrictions du fournisseur restent applicables ; le modèle et le serveur déterminent les outils et le contexte disponibles. Rendez l’historique attendu explicite dans la demande pour comparer la sortie du modèle à un résultat concret.
Non. La rétention et l’ordre de présentation sont des exigences distinctes. Fournissez la séquence exacte attendue après dépassement, puis vérifiez si le consommateur l’inverse ou la réordonne. Tester uniquement les entrées restantes peut laisser passer une régression visible de leur ordre.
Explicitez cette règle. L’exemple exige une capacité positive ; accepter zéro modifierait donc le contrat. Examinez la frontière de configuration et le message d’erreur avant de modifier la fonction uniquement pour satisfaire l’hypothèse d’un appelant sur une sortie vide.
Décrivez comment le projet fournit les entrées et si elles ne peuvent être consommées qu’une seule fois. Demandez au modèle d’examiner l’itération et les attentes des appelants. Un test utilisant seulement une liste peut ne pas révéler la consommation répétée accidentelle d’une source à parcours unique.
Conservez des jeux de test portant sur les mêmes ordres d’entrée et capacités avant de comparer les implémentations. Examinez les résultats observables et les entrées rejetées, puis exécutez les vérifications pertinentes du projet. Demandez de justifier tout changement de type de retour : les appelants peuvent dépendre d’autre chose que des valeurs conservées.
Ringcraft · Mis à jour 2026-10-25