- 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.
1.9 KiB
1.9 KiB
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
- Behave tiene sintaxis Gherkin nativa y integración simple con Python
- FastAPI ofrece validación automática con Pydantic y tests con pytest
- Ambos tienen ecosistema maduro y documentación extensa
- 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