Revisa antes de aplicar
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Recorre hasta 128 bloques de una secuencia RIFF WAVE de 12–1048576 bytes con tamaño declarado exacto.
def riff_chunks(wire):
if type(wire) is not bytes or not 12 <= len(wire) <= 1048576:
raise ValueError("riff.input")
if wire[:4] != b"RIFF" or wire[8:12] != b"WAVE" or int.from_bytes(wire[4:8], "little")+8 != len(wire):
raise ValueError("riff.header")
chunks, pos = [], 12
while pos < len(wire):
if len(chunks) == 128 or pos+8 > len(wire):
raise ValueError("riff.chunk")
tag = wire[pos:pos+4]
size = int.from_bytes(wire[pos+4:pos+8], "little")
start, stop = pos+8, pos+8+size
next_pos = stop+(size & 1)
if next_pos > len(wire):
raise ValueError("riff.truncated")
chunks.append((tag, wire[start:stop]))
pos = next_pos
return chunks
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Prueba bloques desconocidos y relleno impar, rechazando cabeceras o datos truncados sin decodificar audio.
def riff_chunks(wire):
if type(wire) is not bytes or not 12 <= len(wire) <= 1048576:
raise ValueError("riff.input")
if wire[:4] != b"RIFF" or wire[8:12] != b"WAVE" or int.from_bytes(wire[4:8], "little")+8 != len(wire):
raise ValueError("riff.header")
chunks, pos = [], 12
while pos < len(wire):
if len(chunks) == 128 or pos+8 > len(wire):
raise ValueError("riff.chunk")
tag = wire[pos:pos+4]
size = int.from_bytes(wire[pos+4:pos+8], "little")
start, stop = pos+8, pos+8+size
next_pos = stop+(size & 1)
if next_pos > len(wire):
raise ValueError("riff.truncated")
chunks.append((tag, wire[start:stop]))
pos = next_pos
return chunks
RiffMeadow lleva el mantenimiento de formatos de archivo a un espacio de programación para Windows con el código fuente de tu proyecto y una conversación con un modelo conectado. Empieza por el comportamiento de importación que necesitas cambiar e identifica qué hace la aplicación con los bloques analizados. Pide al modelo que examine ese recorrido antes de sugerir cambios en un cálculo de longitud individual.
Una tarea con riff_chunks.py podría investigar un archivo RIFF cuyo bloque de tamaño impar necesita un byte de relleno antes de la siguiente cabecera. Proporciona un caso pequeño de bytes y los límites de bloque esperados. Revisa conjuntamente la longitud declarada del contenedor y el comportamiento ante truncamientos para que la propuesta explique por qué la siguiente lectura empieza donde lo hace.
Tras examinar el cambio, ejecuta casos válidos y truncados en tu propio entorno de desarrollo y comprueba el resultado de importación a través de su consumidor. Incluye una etiqueta de bloque desconocida si la aplicación debe conservarla u omitirla. Mantén separados el recorrido del formato y la interpretación de la aplicación: localizar los bytes de los bloques no acredita que su contenido sea adecuado para todas las operaciones posteriores.
Para recibir ayuda del modelo, configura un endpoint compatible con OpenAI o de Anthropic admitido y credenciales cuando sean necesarias. Se puede seleccionar un modelo de IA ablacionado donde esté disponible, con restricciones determinadas por su proveedor. Las herramientas y la capacidad de contexto dependen del modelo y del servidor; el caso de prueba y el comportamiento de importación esperado proporcionan la base concreta para aceptar el código.
El relleno afecta a dónde empieza la siguiente cabecera, por lo que un ejemplo de longitud par puede no detectar un defecto de desplazamiento. Proporciona un archivo con otro bloque después del que tiene relleno. Comprueba los límites devueltos y la posición final, no solo que se encuentre el primer bloque.
Decídelo según el subconjunto del formato y el comportamiento de la aplicación que quieras admitir. El recorrido y la interpretación pueden usar políticas diferentes. Pide al modelo que examine el consumidor antes de cambiar el tratamiento de etiquetas e incluye una etiqueta desconocida en los casos si se acepta.
Identifica qué límite declarado supera los bytes proporcionados y el comportamiento de rechazo que espera el consumidor. Incluye una cabecera o un contenido acortado, según corresponda. Revisa la ruta de importación para que la interfaz no confunda un análisis parcial con un archivo cargado correctamente.
No. Solo acredita las comprobaciones de límites cubiertas por ese código y sus pruebas. Interpretar metadatos de audio o datos de muestras corresponde a lógica adicional. Centra la revisión en el cambio de analizador solicitado y verifica las etapas posteriores cuando la aplicación dependa de ellas.
RiffMeadow · Actualizado 2026-10-25