Especificación padre: #30
Ticket del desglose Project Brain Lite 0.3.1: 02/20.
Entrega
Fallar de forma cerrada cuando CONTEXT.md no pueda interpretarse como UTF-8 válido.
Bloqueado por
Acceptance criteria
sync falla sin normalizar, reparar ni sustituir el contenido.
- El buffer original y los demás artefactos canónicos permanecen intactos.
- No quedan archivos temporales.
doctor informa un error crítico y permanece read-only.
- La CLI retorna un estado no exitoso donde corresponda.
Tests requeridos
- Secuencias inválidas antes, dentro y después del bloque generado.
- Cobertura de API pública y CLI.
- Comparación byte por byte antes y después.
- Verificación de que no aparecen temporales ni cambios en otros artefactos.
Non-goal
no introducir nuevos archivos canónicos, comandos, dependencias,
servicios ni capacidades fuera del alcance 0.3.1.
Regression-first
el fallo debe estar cubierto por una prueba que falle antes
del cambio de producción.
Guardas de compatibilidad
- Node.js 20+ y cero dependencias npm.
- Comportamiento determinista, file-first y local-first.
- API pública, rutas, tres comandos y cinco archivos canónicos preservados.
doctor permanece read-only e init permanece no destructivo.
- No se ejecutan comandos detectados ni se utiliza la red.
Especificación padre: #30
Ticket del desglose Project Brain Lite 0.3.1: 02/20.
Entrega
Fallar de forma cerrada cuando
CONTEXT.mdno pueda interpretarse como UTF-8 válido.Bloqueado por
Acceptance criteria
syncfalla sin normalizar, reparar ni sustituir el contenido.doctorinforma un error crítico y permanece read-only.Tests requeridos
Non-goal
no introducir nuevos archivos canónicos, comandos, dependencias,
servicios ni capacidades fuera del alcance 0.3.1.
Regression-first
el fallo debe estar cubierto por una prueba que falle antes
del cambio de producción.
Guardas de compatibilidad
doctorpermanece read-only einitpermanece no destructivo.