OpenSpec: convertir una petición de código en documentos revisables
Arquitectura de OpenSpec: dependencias que determinan el siguiente documento
Sigue el esquema, el grafo, el estado de archivos y la política de próxima acción.
Qué aprenderás
- Leer las dependencias reales
- Separar grafo y detección de archivos
- Seguir la política de próxima acción
Antes de empezar
- Conocimientos básicos de Git y Node
- Repositorio de ejemplo desechable
Explica dependencias y evidencia pendiente sin ejecutar automáticamente el comando recomendado.
Conclusiones clave
- specs y design dependen de proposal.
- Preferencia y dependencia son distintas.
- Los metadatos no aíslan el sistema.
Leer las dependencias reales
En el esquema predeterminado, proposal no tiene requisitos previos. specs y design dependen de proposal; tasks depende de ambos. Aunque la secuencia mostrada parece lineal, el grafo contiene una bifurcación y una unión.
El orden de declaración puede recomendar specs antes de design sin convertir specs en su dependencia. Al analizar un flujo personalizado, distingue una preferencia de presentación de un requisito obligatorio.
Separar grafo y detección de archivos
ArtifactGraph conserva identificadores, dependencias y posiciones de declaración. Calcula orden, elementos disponibles y bloqueos. El módulo de estado consulta el directorio y delega la detección de salidas en artifactOutputExists.
Estas responsabilidades no incluyen juzgar la verdad del documento. Un elemento disponible indica dependencias registradas como completas; no demuestra requisitos correctos, escenarios suficientes o pruebas de aplicación existentes.
Seguir la política de próxima acción
resolveNextStep elige el primer documento disponible y construye su comando de instrucciones. Cuando termina la planificación, construye instrucciones apply para inspeccionar la implementación. También conserva el identificador de store seleccionado.
buildActionContext publica raíces de edición como metadatos del flujo. La función inspeccionada no crea un sandbox del sistema operativo ni impone permisos de archivos, aunque esos datos ayuden a explicar el alcance.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Dibuja la bifurcación y la unión.
- 2
Separa estado y calidad documental.
- 3
Sigue el estado hasta el comando.
Ejemplo para copiar
proposal -> specs -> tasks
proposal -> design -> tasks
estado -> documentos disponibles -> instruccionesPreguntas frecuentes
¿design debe esperar a specs?
Ambos dependen de proposal; tasks espera a ambos. La declaración recomienda specs primero.
¿Disponible significa correcto?
Describe dependencias, no corrección semántica ni pruebas aprobadas.
Fuentes
- OpenSpec / schemas/spec-driven/schema.yamlFuente verificada 2026-09-23
- OpenSpec / src/core/artifact-graph/graph.tsFuente verificada 2026-09-23
- OpenSpec / src/core/artifact-graph/state.tsFuente verificada 2026-09-23
- OpenSpec / src/core/change-status-policy.tsFuente verificada 2026-09-23