Verificacion y Archivo
Verificacion y Archivo
El cierre del ciclo
Con todas las tareas completadas, el cambio setup-data-model esta implementado. Ahora toca cerrar el ciclo: archivar el cambio para que las delta specs se fusionen con los specs principales.
Validacion antes de archivar
Con perfil Core
En el perfil Core, /opsx:archive incluye validaciones internas:
- Verifica completitud de artefactos (
openspec status) - Verifica que las tareas estan completas
- Evalua delta specs y ofrece sincronizarlas
- Muestra warnings si algo esta incompleto
Con perfil Expanded
El perfil Expanded ofrece /opsx:verify para validacion formal antes de archivar:
/opsx:verify setup-data-model
Evalua tres dimensiones:
- Completitud: Todas las tareas de
tasks.mdmarcadas[x] - Correctitud: Cada requisito (REQ-XXX) y sus escenarios GIVEN/WHEN/THEN verificados contra el codigo
- Coherencia: Las decisiones del design reflejadas en la implementacion
Validacion por CLI
Tambien puedes validar desde la terminal en cualquier momento:
openspec validate setup-data-model
Referencia: openspec validate [nombre]
| Opcion | Descripcion |
|---|---|
--all | Validar todos los cambios y specs |
--changes | Validar solo cambios |
--specs | Validar solo specs |
--type <change|spec> | Tipo de item cuando el nombre es ambiguo |
--strict | Modo de validacion estricta |
--json | Salida en JSON |
--concurrency <n> | Validaciones paralelas (default: 6) |
openspec validate # Interactivo
openspec validate setup-data-model # Cambio especifico
openspec validate --all --strict --json # Todo, estricto, para CI
/opsx:archive - Cerrando el ciclo
Referencia: /opsx:archive
Sintaxis: /opsx:archive [nombre-cambio]
| Argumento | Requerido | Descripcion |
|---|---|---|
nombre-cambio | No | Cambio a archivar (se pregunta si se omite) |
/opsx:archive # Pregunta cual archivar
/opsx:archive setup-data-model # Cambio especifico
Tambien disponible como comando CLI:
Referencia: openspec archive [nombre]
| Opcion | Descripcion |
|---|---|
--yes / -y | Saltar confirmaciones (util para CI/scripts) |
--skip-specs | No fusionar specs (para cambios de infra/tooling/docs) |
--no-validate | Saltar validacion (requiere confirmacion) |
openspec archive setup-data-model # Interactivo
openspec archive setup-data-model --yes # Sin confirmaciones
openspec archive update-ci --skip-specs # Sin fusion de specs
Que hace archive internamente
- Verifica artefactos con
openspec status - Verifica tareas pendientes en tasks.md
- Evalua delta specs comparando con specs principales
- Ofrece sincronizar (fusionar delta specs en specs principales)
- Mueve la carpeta al archivo con timestamp
Sincronizacion de specs
Si el cambio tiene delta specs, archive analiza que cambios se aplicarian:
- Requisitos ADDED se agregan a los specs principales
- Requisitos MODIFIED reemplazan la version anterior
- Requisitos REMOVED se eliminan
La IA muestra un resumen y pregunta:
Delta specs detectadas. Cambios a aplicar:
- 7 requisitos nuevos (ADDED)
Opciones:
1. Sync now (recommended)
2. Archive without syncing
Resultado del archivo
La carpeta del cambio se mueve a:
openspec/changes/archive/
2024-12-17-setup-data-model/
.openspec.yaml
proposal.md
design.md
tasks.md
specs/
Salida tipica:
## Archive Complete
Change: setup-data-model
Schema: spec-driven
Archived to: openspec/changes/archive/2024-12-17-setup-data-model/
Specs: ✓ Synced to main specs
Los specs tras archivar
Antes del cambio
openspec/specs/
(vacio)
Despues de archivar
openspec/specs/
data-model/
spec.md # REQ-001 a REQ-007, sin marcadores ADDED
Los requisitos ahora son parte de la linea base. Cuando el siguiente cambio modifique el modelo de datos, sus delta specs mostraran:
### REQ-006: Card fields [MODIFIED]
Card contains: id, title, description, priority, position,
column_id, assignee_id (UUID, FK, optional),
created_at, updated_at.
El ciclo completo
/opsx:propose (o /opsx:new + /opsx:ff)
|
v
Artefactos generados
(proposal, specs, design, tasks)
|
/opsx:apply
|
v
Implementacion
(tarea por tarea)
|
/opsx:archive
|
v
Specs actualizados
Cambio archivado
Como los specs evolucionan
Los specs son un documento vivo. Con cada cambio archivado:
- Nuevos requisitos se agregan (ADDED)
- Requisitos existentes se actualizan (MODIFIED)
- Requisitos obsoletos se eliminan (REMOVED)
Despues de 5 cambios archivados, los specs reflejan el estado actual completo del proyecto. Son la fuente de verdad que la IA consulta para cada nuevo cambio.
Esta evolucion incremental es lo que hace a OpenSpec especialmente poderoso en proyectos brownfield.
Resumen
/opsx:archivevalida, sincroniza specs y archiva el cambio- En perfil Expanded,
/opsx:verifyofrece validacion formal previa openspec validateverifica formato desde la terminal- Archive fusiona delta specs en specs principales automaticamente
- Los marcadores ADDED/MODIFIED/REMOVED se resuelven al archivar
- Cada cambio archivado enriquece la fuente de verdad del proyecto
← Capitulo 6: Implementando con Apply | Capitulo 8: Iteracion Drag and Drop →