Décompression bornée par répétitions
Développez les répétitions d’octets seulement après vérification de la taille totale.
def expand_runs(runs, limit):
if type(limit) is not int or limit < 0:
raise ValueError("limit.invalid")
total = 0
for value, count in runs:
if type(value) is not int or not 0 <= value <= 255:
raise ValueError("byte.invalid")
if type(count) is not int or count <= 0:
raise ValueError("count.invalid")
total += count
if total > limit:
raise ValueError("output.limit")
return bytes(value for value, count in runs for _ in range(count))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.
Projet
Refusez les comptes nuls ou négatifs, les valeurs hors plage et les totaux excessifs sans modifier la liste initiale.
def expand_runs(runs, limit):
if type(limit) is not int or limit < 0:
raise ValueError("limit.invalid")
total = 0
for value, count in runs:
if type(value) is not int or not 0 <= value <= 255:
raise ValueError("byte.invalid")
if type(count) is not int or count <= 0:
raise ValueError("count.invalid")
total += count
if total > limit:
raise ValueError("output.limit")
return bytes(value for value, count in runs for _ in range(count))Rendre visibles les limites d’expansion des données lors de la revue de code
OctetWeave est un logiciel de programmation IA pour travailler sur des changements d’analyseurs et de transformations de données dans un projet existant. L’espace Windows rapproche le dossier du projet et la conversation avec le modèle du code à inspecter. Commencez par décrire les entrées acceptées, la sortie attendue et le stade où les données trop volumineuses doivent être rejetées. Ces détails aident un correctif proposé à répondre à une exigence réelle de l’application.
L’expansion bornée de séquences répétées dans runs.py en fournit un exemple. Vous pouvez demander à l’assistant de vérifier si la longueur après expansion est contrôlée avant de produire la sortie, puis examiner comment un nombre de répétitions invalide est signalé au code appelant. Il s’agit d’une tâche de programmation illustrative, pas d’une fonction de décompression incluse dans OctetWeave. Le résultat utile est un changement dont vous pouvez examiner la validation et les allocations avec le reste de l’analyseur.
Après la revue, exécutez les tests du projet pour des séquences ordinaires, des nombres de répétitions mal formés et des données à la limite convenue. Vérifiez comment le consommateur gère le rejet, car une nouvelle règle de validation peut modifier plus que la transformation elle-même. Connectez un modèle sans filtre uniquement lorsqu’un point de terminaison pris en charge, compatible OpenAI ou Anthropic, en propose un, avec les identifiants nécessaires. Les politiques du modèle, les outils du serveur et la capacité de contexte régissent toujours cette connexion ; la choisir n’établit aucune garantie de ressources pour le code proposé.
Préparer un changement borné d’analyseur
- D’où doit venir une limite de sortie ?
Définissez-la à partir des exigences et contraintes d’exploitation de votre application plutôt que d’accepter une suggestion arbitraire du modèle. Identifiez qui fournit la limite et comment le rejet est signalé, puis examinez cette décision dans l’analyseur et son code appelant.
- Que doivent inclure les tests aux limites ?
Utilisez une entrée ordinaire, une entrée exactement à la limite acceptée et une qui la dépasse. Ajoutez des valeurs mal formées pertinentes pour le format. Vérifiez le comportement d’échec attendu autant que la sortie réussie.
- OctetWeave peut-il certifier un analyseur contre l’épuisement des ressources ?
Aucune certification de ce type n’est revendiquée. Vous pouvez inspecter le code proposé et discuter des tests dans l’espace de travail, mais évaluer la consommation de ressources exige de vérifier l’implémentation et l’environnement d’exécution réels dans les conditions pertinentes pour votre application.
- Pourquoi inspecter le code appelant après l’ajout d’une validation ?
Il peut s’attendre à ce que toute entrée renvoie des données et mal gérer un nouveau rejet. Examinez la propagation des erreurs et le comportement visible par l’utilisateur pour que la limite améliore le contrat de l’application sans transformer une entrée invalide en échec inexpliqué.
OctetWeave · Mis à jour 2026-10-25