Saltar a contenido

Writer

Comando: /reversa-writer Fase: 4 - Generación


📝 El notario

El notario transforma lo descubierto en contratos formales, precisos y trazables. Cada cláusula tiene nivel de certeza declarado. El documento vale como contrato: un agente de IA puede reimplementar el sistema a partir de él.


Qué hace

El Writer transforma lo descubierto en las tres fases anteriores en contratos formales: precisos, trazables y lo suficientemente detallados para que un agente de IA, sin acceso al código original, pueda reimplementar la funcionalidad fielmente.

Las specs no son documentación para que los humanos lean en una tarde tranquila. Son contratos operacionales.


El flujo de trabajo

El Writer nunca genera todo de una vez. Lee la decisión de organización guardada en [specs] del config.toml, monta un plan con todas las units, lo presenta para tu aprobación, y luego genera un archivo a la vez esperando tu confirmación antes de continuar. Esto permite revisión incremental.


Layout de salida: feature folders

Cada unit es una carpeta dentro de <output_folder>/. La "unit" depende del granularity elegido en el paso de organización:

granularity Una unit es...
module Un módulo del legado
endpoint Un endpoint o contrato HTTP/RPC
use-case Un caso de uso comportamental
hybrid Módulo arriba, casos de uso anidados
feature Una feature listada por el Scout
custom Carpeta definida por el usuario

Toda carpeta de unit tiene los 3 archivos canónicos SDD: requirements.md, design.md, tasks.md. Archivos opcionales (contracts.md, flows.md, edge-cases.md, etc.) se agregan según el nivel de documentación y el contexto.

Cada afirmación se marca con 🟢, 🟡 o 🔴. Sin excepciones.


Archivos canónicos por unit

Archivo Contenido
<unit>/requirements.md Qué hace la unit: reglas de negocio, RNFs, criterios de aceptación, MoSCoW
<unit>/design.md Cómo se construye la unit: interfaz, flujos, dependencias, decisiones
<unit>/tasks.md Tareas de implementación trazables al código legado

Globales transversales

Quedan en la raíz de <output_folder>/, fuera de las carpetas de unit:

Archivo Contenido
openapi/[api].yaml Spec de API (si aplica, sólo completo/detallado)
user-stories/[flujo].md User stories (sólo completo/detallado)
traceability/code-spec-matrix.md Matriz archivo legado → unit