feat: Orquestra - sequential orchestration runtime

- Context isolation: fresh Pi process per stage (run_stage.py)
- Gate enforcement: blocks close without approved gates
- Auto commit/push on feature close (close_feature.py)
- Write restrictions: only allowed directories (ALLOWED_WRITE_DIRS)
- Pi extension: orquestra-status with /orquestra-stage command
- Documentation: context-handoff.md, updated README
- Scripts: agent_status.py, verify.sh, install.sh updated
This commit is contained in:
rikrdo
2026-08-17 07:39:03 +02:00
parent 622e5df382
commit 634525fa21
28 changed files with 2296 additions and 284 deletions

View File

@@ -5,11 +5,20 @@ Los agentes **no** devuelven código en chat. Deben escribir a disco y responder
- `done -> <ruta>`
- `blocked -> <ruta>`
## Contexto mínimo por stage
Cada stage recibe solo:
1. Los archivos listados en `harness/workflow.stages.yml` como `input`.
2. El artefacto del stage anterior cuando el workflow lo declare.
3. La memoria Engram que el leader seleccione explícitamente para ese stage.
No se considera válido pasar todo el chat anterior como contexto operativo. Si un stage necesita más información, debe pedir una ruta o artefacto concreto y bloquear hasta tenerlo.
## Rutas estándar por feature
- `work/artifacts/<feature_id>/implementer.md`
- `work/artifacts/<feature_id>/reviewer.json`
- `work/artifacts/<feature_id>/security.json`
- `work/artifacts/<feature_id>/qa.json`
- `work/artifacts/<feature_id>/documenter.md` (opcional; requerido solo si cambiaron docs/API/contratos/comportamiento user-facing)
- `work/artifacts/<feature_id>/leader-close.json`
## Campos mínimos de artefactos JSON de gate