Controlla prima di applicare
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Riduci da uno a 16 campi Content-Length di massimo 128 caratteri a un valore comune da zero a 2147483647.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
Prova liste con virgole, zeri iniziali, spazi e tabulazioni, rifiutando elementi vuoti, segni, a capo e disaccordi senza promettere validazione HTTP completa.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Leniora è un ambiente di programmazione con IA per Windows per mantenere il codice tra i campi di protocollo in ingresso e le decisioni dell'applicazione. Apri la cartella sorgente pertinente e indica la regola di accettazione che il progetto intende applicare. Chiedi al modello collegato di esaminare insieme il parser dei campi e il suo chiamante prima di proporre un allentamento o una pulizia del codice.
Un compito di esempio riguarda content_length.py e valori Content-Length ripetuti. Porta nella conversazione un insieme di valori decimali concordi e uno di valori discordanti, con la risposta attesa per ciascuno. Esamina nella modifica proposta i cambiamenti a spazi bianchi, sintassi numerica e limiti, perché modifiche di parsing apparentemente minori possono ampliare il contratto degli input accettati.
Prosegui la revisione nel codice che usa il risultato analizzato. Esegui i casi di prova del progetto ed esamina come viene gestito il rifiuto prima che continui l'elaborazione del corpo. Mantieni questa politica circoscritta separata dalle affermazioni su un'implementazione HTTP completa: il risultato utile è una modifica valutabile rispetto al comportamento di cui l'applicazione ha effettivamente bisogno.
Scegli un endpoint supportato compatibile con OpenAI o Anthropic per l'assistenza del modello, con credenziali se richieste. Potrebbe essere selezionabile un modello IA senza censura, ma il fornitore ne determina le restrizioni effettive. Gli strumenti disponibili e la capacità di contesto dipendono da modello e server; casi di prova precisi aiutano a mantenere concreta la discussione sul codice entro quei limiti.
Dipende dalla politica di accettazione implementata dal progetto. L'esempio richiede concordanza fra i valori decimali forniti. Esamina la gestione del protocollo circostante prima di cambiare quella regola e scrivi per la sessione di programmazione casi di prova sia concordi sia discordanti, con i risultati attesi.
Esamina prima quali forme aggiuntive accetterebbe, inclusi segni o altre notazioni numeriche. Una funzione di conversione comoda può ampliare la grammatica. Chiedi al modello di confrontare esplicitamente il comportamento di accettazione anziché considerare meno righe di parsing una prova di semantica equivalente.
Segui il risultato del parser nel chiamante e indica la risposta d'errore richiesta. Verifica che l'elaborazione del corpo non possa proseguire usando arbitrariamente uno dei valori discordanti. Esegui quel percorso nel progetto; un'eccezione mostrata isolatamente non dimostra il flusso di controllo circostante.
Fornisci stringhe esatte dei campi con descrizioni di spazi e tabulazioni, oltre al risultato di accettazione atteso. Evita esempi che nascondano i caratteri discussi. Confronta questi casi di prova con la regola dichiarata di rimozione degli spazi prima di adottare una normalizzazione più permissiva.
Leniora · Aggiornato 2026-10-25