- Add complete agent harness structure with 8 roles (leader, triager, architect, implementer, reviewer, security, qa, documenter) - Implement strict workflow with 9 stages and mandatory gates - Add comprehensive verification script and runtime status tracking - Create artifact-based evidence system with contracts and schemas - Add agent policy matrix with permissions and anti-cheat rules - Include test suite (44 tests passing) and CI-ready structure - Add documentation: README, HOWTO, CHECKPOINTS, templates - Configure model routing policies and token-aware task assignment - Add BDD/SDD specification guides and feature templates - Include starter pack for quick project onboarding All verification checks pass. Framework ready for production use.
63 lines
1.9 KiB
Markdown
63 lines
1.9 KiB
Markdown
# ADR-001: Selección de Stack Técnico
|
|
|
|
## Estado
|
|
Aceptado
|
|
|
|
## Fecha
|
|
2026-05-06
|
|
|
|
## Contexto
|
|
Necesitamos seleccionar el stack tecnológico inicial para el proyecto. El equipo tiene experiencia en Python y JavaScript/TypeScript, y requiere:
|
|
- Rápido bootstrap
|
|
- Testing BDD nativo
|
|
- Compatibilidad con el framework ARNES
|
|
|
|
## Decisión
|
|
Usar **Python + Behave** para BDD y **FastAPI** para el backend.
|
|
|
|
## Justificación
|
|
1. **Behave** tiene sintaxis Gherkin nativa y integración simple con Python
|
|
2. **FastAPI** ofrece validación automática con Pydantic y tests con pytest
|
|
3. Ambos tienen ecosistema maduro y documentación extensa
|
|
4. Comunidad activa y soporte a largo plazo
|
|
|
|
## Consecuencias
|
|
|
|
### ✅ Positivas
|
|
- Curva de aprendizaje baja (Python)
|
|
- BDD nativo con Behave (Gherkin)
|
|
- Type hints en todo el stack
|
|
- FastAPI: auto-generated docs (Swagger/ReDoc)
|
|
- Testing integrado con pytest
|
|
|
|
### ❌ Negativas
|
|
- GIL限制了多线程性能 (puede mitigated with async)
|
|
- Menos opciones de hosting que Node.js
|
|
|
|
### 🔄 Neutrales
|
|
- Requiere Python 3.10+ mínimo
|
|
|
|
## Alternativas Consideradas
|
|
|
|
### Opción A: Node.js + Cucumber
|
|
- **Pros**: Más opciones de hosting, JSON nativo, ecosistema npm enorme
|
|
- **Contras**: TypeScript requiere más setup, testing E2E más complejo
|
|
- **Razón de descarte**: Mayor complejidad inicial, menor familiaridad del equipo con TS
|
|
|
|
### Opción B: Java + Cucumber-JVM
|
|
- **Pros**: Tipo estático, robusto, enterprise-grade
|
|
- **Contras**: Verbose, setup pesado, curva de aprendizaje alta
|
|
- **Razón de descarte**: Over-engineering para MVP
|
|
|
|
### Opción C: Go + Godog
|
|
- **Pros**: Binarios estáticos, excelente performance
|
|
- **Contras**: BDD tooling inmaduro, less ecosystem para testing
|
|
- **Razón de descarte**: BDD ecosystem no maduro
|
|
|
|
## Notas
|
|
- Re-evaluar si el proyecto escala a más de 50 servicios
|
|
- Considerar microservices framework si es necesario
|
|
|
|
## Relacionado con
|
|
- Feature F-001
|
|
- Stack: Python 3.11+, FastAPI, Behave, PostgreSQL |