Files
arnes/spec/sdd/decisions/001-stack-tecnologico.md
rikrdo 3ff9b70e4c 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.
2026-05-17 23:25:35 +02:00

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

  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