refactor: complete bootstrap of ARNES agent harness framework
- 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.
This commit is contained in:
63
spec/sdd/decisions/001-stack-tecnologico.md
Normal file
63
spec/sdd/decisions/001-stack-tecnologico.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user