El autor documenta la reescritura de su editor de texto 'focus' en Rust, un proceso que ha evolucionado de un proyecto de aprendizaje a una herramienta de uso activo gracias a la integración de modelos de lenguaje de IA. La arquitectura del proyecto se divide en dos crates: 'focus-core', que contiene la lógica central y el sistema de renderizado, y 'focus', que gestiona la interfaz de línea de comandos y la lógica de demonización. Esta separación permite escribir pruebas de extremo a extremo (e2e) de forma trivial, aunque el autor admite que gran parte de estas pruebas son 'slop' o ineficaces, sirviendo principalmente para detectar regresiones y guiar a los modelos de IA en la corrección de errores.
El uso de modelos como Opus 5 mediante Claude Code ha reducido significativamente la intervención manual, permitiendo generar código funcional tras una verificación básica. Sin embargo, el autor señala que los modelos a menudo siguen instrucciones de forma literal, incluso cuando estas causan problemas lógicos, lo que ha llevado a adoptar un enfoque más colaborativo, como preguntar '¿Tienes alguna pregunta?' en lugar de dar órdenes directas. Además, se emplea un fuzzer que envía miles de pulsaciones de tecla aleatorias para detectar bugs, aunque su cobertura es limitada. Para evitar la degradación del código, se utilizan pruebas de instantáneas de la API pública y una herramienta llamada 'cackle' para detectar llamadas accidentales a funciones de entrada/salida dentro del núcleo del editor. Este enfoque híbrido de pruebas y revisión humana permite mantener un editor estable y funcional, aunque el autor reconoce que la estrategia de pruebas debe adaptarse al riesgo y el impacto del proyecto.
