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:
107
spec/bdd/README.md
Normal file
107
spec/bdd/README.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# BDD — Behavior Driven Development
|
||||
|
||||
## Índice
|
||||
|
||||
- [Overview](#overview)
|
||||
- [Features](#features)
|
||||
- [Step Definitions](#step-definitions)
|
||||
|
||||
---
|
||||
|
||||
## 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)
|
||||
|
||||
```python
|
||||
"""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)
|
||||
```bash
|
||||
behave features/
|
||||
behave features/ --tags @smoke
|
||||
behave features/ --tags ~@slow # exclude
|
||||
```
|
||||
|
||||
### Node.js (Cucumber)
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user