Files
arnes/spec/bdd
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
..

BDD — Behavior Driven Development

Índice


Overview

Este directorio contiene especificaciones BDD en formato Gherkin. Los archivos .feature sirven como especificación ejecutable.

naming conventions

features/
├── <domain>/
│   ├── <feature-name>.feature
│   └── <feature-name>.feature
└── common/
    └── <common-feature>.feature

tags permitidos

Tag Uso
@F-XXX Link a feature del backlog
@smoke Tests críticos (siempre ejecutar)
@regression Tests de regresión
@integration Tests de integración
@e2e End-to-end tests
@unit Tests unitarios
@api Tests de API
@ui Tests de interfaz

Features

Ver spec/bdd/features/ para los archivos .feature.


Step Definitions

Los step definitions deben estar en:

  • Python: features/steps/*.py
  • JS/TS: features/step_definitions/*.ts
  • Go: features/steps/*.go

Template (Python/Behave)

"""Steps para login feature."""
from behave import given, when, then

@given('un usuario registrado con email "{email}" y password "{password}"')
def step_registered_user(context, email, password):
    """Crea usuario de prueba."""
    pass

@when('el usuario ingresa su email "{email}"')
def step_enter_email(context, email):
    """Ingresa email en el formulario."""
    pass

@when('ingresa password "{password}"')
def step_enter_password(context, password):
    """Ingresa password."""
    pass

@then('el sistema muestra mensaje de error "{message}"')
def step_show_error(context, message):
    """Verifica mensaje de error."""
    pass

Ejecutar Tests

Python (Behave)

behave features/
behave features/ --tags @smoke
behave features/ --tags ~@slow  # exclude

Node.js (Cucumber)

npx cucumber-js features/
npx cucumber-js features/ --tags "@smoke and @F-001"

Checklist de Feature

  • Feature documentado en Gherkin
  • Todos los scenarios tienen Given/When/Then
  • Tags @F-XXX presentes
  • Step definitions implementados
  • Tests ejecutables