refactor: reinforce harness to prevent contract violations

- verify.sh: validate prohibited dirs, gate nomenclature, feature schema, runtime consistency
- orquestra-status: block direct writes to backlog/features.json
- install.sh: add build artifacts to .gitignore template
- AGENTS.md: document prohibited dirs, gate nomenclature, feature schema
- Reset runtime-status to idle state
This commit is contained in:
rikrdo
2026-08-17 18:59:39 +02:00
parent 634525fa21
commit 70ff54cfa3
5 changed files with 103 additions and 138 deletions

View File

@@ -17,7 +17,10 @@
- Si `verify.sh` falla, no se cierra la feature.
- **Solo se puede escribir en carpetas permitidas**: `project/`, `tests/`, `work/`, `backlog/`, `spec/`, `harness/`, `scripts/`, `platforms/`, `docs/`. Cualquier otra escritura será bloqueada por la extensión `orquestra-status`.
- **Al cerrar una feature, el leader ejecuta `scripts/close_feature.py <feature_id>`** que valida gates, actualiza el backlog y hace commit/push automáticamente.
- **NUNCA editar `backlog/features.json` directamente**. Usar siempre `scripts/close_feature.py` para cerrar features.
- **NUNCA editar `backlog/features.json` directamente**. Usar siempre `scripts/close_feature.py` para cerrar features. La extensión `orquestra-status` bloquea escrituras directas a este archivo.
- **Directorios prohibidos**: `specs/` (plural), `apps/`, `frontend/`, `src/`, `lib/`. El código del producto va en `project/`.
- **Nomenclatura de gates**: usar `reviewer`, no `review`. El `verify.sh` valida que no se usen nombres deprecated.
- **Schema de features**: todas las features deben tener al menos `id` y `status`. Las gates deben usar nombres válidos: `reviewer`, `security`, `qa`, `close`, `leader`.
## Reentrada
- Releer `work/current.md`, `work/runtime-status.json` y artefactos de la feature activa.