2Fase 2 · SDD Lifecycle
Definición de la especificación
Primera capa formal del ciclo · De la intención a la spec verificable
4/14
Crear la propuesta con OpenSpec
# Nombre corto de cambio
/opsx:propose add-transaction-filtering
# Con descripción natural
/opsx:propose "Añadir filtrado de movimientos por fecha, importe y categoría"
Artefactos generados
openspec/
changes/
add-transaction-filtering/
proposal.md # Qué y por qué (negocio)
design.md # Cómo (técnico)
tasks.md # Trabajo dividido
specs/
transactions/
spec.md # Comportamiento verificable
Contenido de proposal.md
## Problem
Los usuarios no pueden localizar movimientos concretos fácilmente.
## Goal
Filtrado por fecha, importe y categoría con paginación.
## In Scope
- Filtro por fecha inicio / fecha fin
- Filtro por importe mínimo / máximo
- Filtro por categoría · Paginación
## Out of Scope
- Exportación a Excel · Búsqueda semántica
- Categorización automática · Consulta multiusuario
## Risks
- Rendimiento en tablas grandes
- Posible fuga de datos entre usuarios
Escenarios verificables en spec.md
### Scenario: Valid date range
- GIVEN an authenticated user
- AND the user has transactions in January
- WHEN the user searches with startDate and endDate
- THEN the system SHALL return only transactions within that range
### Scenario: No matching transactions
- GIVEN an authenticated user
- WHEN the filters return no results
- THEN the system SHALL return an empty list
- AND the UI SHALL show a friendly empty state message
Validación antes de avanzar
openspec validate
openspec validate --strict
✓ Gate 2 — Spec Ready
✓
Historia vinculada✓
Criterios de aceptación completos✓
Alcance definido✓
Fuera de alcance definido✓
Riesgos documentados✓
Spec validada (openspec validate)✓
Tareas atómicas creadas✓
API impact identificado✓
QA involucrado desde el inicio