Plages caret de versions stables
Applique des plages caret aux versions stables à trois entiers positifs ou nuls.
def caret_admits(base, candidate):
for version in (base, candidate):
if type(version) not in (list, tuple) or len(version) != 3 or any(type(x) is not int or x < 0 for x in version):
raise ValueError("version.triplet")
major, minor, patch = base
upper = (major+1, 0, 0) if major else ((0, minor+1, 0) if minor else (0, 0, patch+1))
return tuple(base) <= tuple(candidate) < upperProjet
Teste la prochaine majeure et les deux cas de majeure nulle, refuse booléens et fractions sans promettre de compatibilité.
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.
Modèles
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.
def caret_admits(base, candidate):
for version in (base, candidate):
if type(version) not in (list, tuple) or len(version) != 3 or any(type(x) is not int or x < 0 for x in version):
raise ValueError("version.triplet")
major, minor, patch = base
upper = (major+1, 0, 0) if major else ((0, minor+1, 0) if minor else (0, 0, patch+1))
return tuple(base) <= tuple(candidate) < upperIntégrez les hypothèses de version à la demande de modification
CaretBasin est un logiciel de programmation avec IA sous Windows pour examiner les changements liés aux règles de version et aux hypothèses de dépendances. Sélectionnez le dossier du dépôt et expliquez le comportement de compatibilité nécessaire. Demandez au modèle connecté d’examiner le code et la configuration pertinents avant de proposer des modifications, afin de distinguer la logique de version propre à l’application des outils de paquets qu’elle utilise.
L’exemple caret_range.py suggère une tâche d’acceptation d’une version candidate dans une plage bornée. Apportez des cas de version majeure stable et de version majeure zéro, avec les décisions d’acceptation attendues. Demandez si l’appelant dépend de ces distinctions. L’exemple devient ainsi une tâche logicielle vérifiable sans prétendre que l’espace gère les mises à niveau ou implémente toutes les syntaxes de plage des gestionnaires de paquets.
Pour choisir un modèle d’IA sans restrictions, configurez un modèle disponible via un point de terminaison compatible OpenAI ou Anthropic pris en charge. Les identifiants requis, les outils et les limites de contexte dépendent du service. Examinez le correctif et vérifiez des cas juste sous chaque limite et à la limite. Si des modifications de configuration accompagnent le code, exécutez aussi le processus habituel de dépendances et de tests du projet. Le résultat utile est une décision de compatibilité explicable, plutôt qu’une mise à niveau acceptée simplement parce que l’assistant l’a suggérée.
Examiner le comportement des plages de versions
L’exemple comprend-il toute la syntaxe des versions de paquets ?
Il porte sur des triplets numériques de version. Ne supposez pas qu’il traite les préversions, métadonnées de construction ou toutes les expressions de plage. Précisez la syntaxe réellement acceptée et examinez la frontière d’analyse séparément de la logique de comparaison.
Pourquoi inclure des versions majeures zéro dans la demande ?
Leur limite de compatibilité voulue peut différer de celle des versions majeures stables. Fournissez des versions candidates explicites et les résultats attendus pour que le modèle ne généralise pas à partir d’un seul exemple stable. Examinez ces décisions au regard des règles choisies par l’application.
Une correction de plage doit-elle aussi mettre à jour les dépendances ?
Gardez ces décisions séparées sauf si la tâche exige les deux. Un défaut de comparaison peut être corrigé sans changer les paquets installés. Si une mise à niveau est nécessaire, examinez les changements de dépendances et exécutez les contrôles existants avant d’accepter le correctif combiné.
Comment tester une borne supérieure exclusive ?
Incluez un dernier cas représentatif accepté et une version exactement à la limite supérieure. Vérifiez aussi la borne inférieure et une version inférieure rejetée. Définissez les résultats attendus indépendamment pour qu’une comparaison erronée ne puisse définir ses propres tests réussis.
CaretBasin · Mis à jour 2026-10-25