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.
Expande un campo de minutos de hasta 128 caracteres en valores únicos ordenados entre cero y 59.
import re
def minute_values(field):
if type(field) is not str or not 1 <= len(field) <= 128:
raise ValueError("minute.input")
result = set()
for item in field.split(","):
match = re.fullmatch(r"(\*|[0-9]+(?:-[0-9]+)?)(?:/([0-9]+))?", item)
if match is None:
raise ValueError("minute.syntax")
base, step_text = match.groups()
step = int(step_text) if step_text else 1
if not 1 <= step <= 59 or (step_text and base != "*" and "-" not in base):
raise ValueError("minute.step")
bounds = [int(x) for x in base.split("-")] if base != "*" else [0, 59]
low, high = (bounds[0], bounds[-1])
if not 0 <= low <= high <= 59:
raise ValueError("minute.bounds")
result.update(range(low, high+1, step))
return sorted(result)
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 listas, rangos inclusivos y pasos sobre rangos o asteriscos, rechazando límites invertidos, pasos cero y sintaxis no admitida sin programar tareas.
import re
def minute_values(field):
if type(field) is not str or not 1 <= len(field) <= 128:
raise ValueError("minute.input")
result = set()
for item in field.split(","):
match = re.fullmatch(r"(\*|[0-9]+(?:-[0-9]+)?)(?:/([0-9]+))?", item)
if match is None:
raise ValueError("minute.syntax")
base, step_text = match.groups()
step = int(step_text) if step_text else 1
if not 1 <= step <= 59 or (step_text and base != "*" and "-" not in base):
raise ValueError("minute.step")
bounds = [int(x) for x in base.split("-")] if base != "*" else [0, 59]
low, high = (bounds[0], bounds[-1])
if not 0 <= low <= high <= 59:
raise ValueError("minute.bounds")
result.update(range(low, high+1, step))
return sorted(result)
MinuteBramble ofrece un entorno de programación con IA para Windows para trabajar en configuración. Incorpora a la conversación el analizador, el código que lee su salida y algunos ejemplos reales de configuración. Pide al modelo que examine lo que acepta actualmente la aplicación antes de solicitar sintaxis nueva, para que el cambio tenga un objetivo de compatibilidad definido.
Una tarea con minute_field.py podría añadir pruebas de rangos de minutos con pasos y entradas rechazadas. Indica la sintaxis de campo admitida y la lista de valores esperada, y examina cómo utiliza esa lista el consumidor. Es un ejemplo de analizador de proyecto; evaluar un campo es solo una parte de decidir cómo debe programar su trabajo una aplicación.
Tras revisar la propuesta, ejecuta ejemplos aceptados y rechazados en tu propio entorno. Comprueba entradas solapadas, límites de intervalos y pasos no válidos, con salidas esperadas escritas de forma independiente. Si un cambio amplía la configuración admitida, examina la documentación y los mensajes de error que deben reflejarlo. Un analizador que acepta más texto no es automáticamente más fácil de utilizar.
Puedes elegir un modelo de IA ablacionado si se ofrece mediante un endpoint compatible con OpenAI o de Anthropic admitido. Proporciona credenciales cuando se requieran y comprueba las restricciones reales del servicio. Las herramientas disponibles y la capacidad de contexto dependen del modelo y del servidor; mantén explícitas la gramática admitida y las expectativas del consumidor con cualquier conexión.
No. Proporciona un componente conforme a la sintaxis admitida por el analizador. Las demás reglas de programación pertenecen a la aplicación que lo utiliza. Incluye al consumidor en la revisión y evita tratar una expansión correcta del campo como prueba de que todo el flujo de programación es correcto.
Indica si deben eliminarse los valores duplicados y qué orden espera el consumidor. Da un pequeño ejemplo con solapamiento y su salida exacta esperada. Examina el código posterior, que podría interpretar entradas repetidas como trabajo repetido o depender de un orden ascendente estable.
Define la gramática deliberadamente. Una limpieza permisiva puede convertir un error de escritura en configuración involuntaria. Revisa juntas las formas aceptadas y rechazadas y comprueba que los mensajes expliquen la sintaxis admitida sin asignar silenciosamente significado a entradas que la aplicación nunca prometió aceptar.
Incluye la forma nueva, su expansión esperada y su interacción con los rangos y pasos existentes. Identifica el código que consume los valores y la documentación que debe actualizarse. Conserva ejemplos de compatibilidad para que la función propuesta no cambie involuntariamente el comportamiento establecido de configuración.
MinuteBramble · Actualizado 2026-10-25