- 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
2.8 KiB
HOWTO — usar Orquestra
1) Requisitos
command -v pi
command -v python3
Si pi no existe, no instales Orquestra todavía.
2) Instalar en un proyecto
Desde el repo fuente de Orquestra:
./scripts/install.sh /path/to/project-repo
Para actualizar, ejecutá el mismo comando otra vez sobre el repo destino.
La instalación es safe-update:
- crear archivos faltantes
- conservar o mergear archivos existentes
- crear
project/si falta y no pisar su contenido - no pisar progreso en
project/,work/,backlog/,spec/niwork/artifacts/
3) Verificar
./scripts/verify.sh
Debe comprobar:
- estructura mínima
project/existente- ausencia de archivos de producto/código en la raíz (
*.py,*.js,*.ts,*.go,*.rs,*.java,*.php,*.rb); usáproject/ - Pi instalado
- extensión project-local permitida
- sin
.pi/subagents/ni.pi/subagents.json - extensiones Orquestra requeridas
- backlog válido
- runtime status válido
4) Ejecutar desde Pi
cd <repo-instalado>
./scripts/pi_orquestra.sh
Ese launcher usa pi --no-extensions y carga solo orquestra-status + orquestra-web-fetch, así Pi arranca limpio con las extensiones del proyecto.
Después de abrir o recargar Pi:
/orquestra-status
5) Flujo secuencial
leaderselecciona una feature pending.architectdiseña si hace falta.implementerimplementa y escribeimplementer.md.reviewerescribereviewer.json.securityescribesecurity.json.qaescribeqa.json.documenterescribedocumenter.mdsolo si cambiaron docs/API/contratos/comportamiento user-facing.leadercierra conleader-close.jsonywork/history.md.
Un stage empieza solo cuando el anterior terminó con artefacto en disco; document es opcional/condicional y no bloquea el cierre por defecto.
6) Dónde va el código de producto
El código del producto vive en project/. No escribas archivos de producto/código en la raíz del repo.
En Pi, las herramientas write y edit solo pueden modificar project/ o tests/ cuando work/runtime-status.json tiene una feature activa con stage=build, agent=implementer y state=running. Prepará el stage con:
python3 scripts/agent_status.py set --feature-id F-001 --stage build --agent implementer --state running --action "Implementing"
7) Estado visible
python3 scripts/agent_status.py show
python3 scripts/agent_status.py set --feature-id F-001 --stage build --agent implementer --state running --action "Implementing"
python3 scripts/agent_status.py reset
Regla corta
Pi instalado → Orquestra instalado sin pisar progreso → producto dentro de project/ → verify.sh verde → ./scripts/pi_orquestra.sh desde raíz → stages secuenciales con evidencia en disco.