- TypeScript + Fastify skeleton under project/ (src/modules, shared, infrastructure, app) - scripts/check-module-boundaries.mjs enforcing module public-API rules (tested with fixtures) - GET /health endpoint, error envelope without stack leakage - specs/F-001-scaffold (SPEC/DESIGN/TASKS/TESTS), spec/tech.md dependency justification - 30-ticket MercadoDeVida roadmap in backlog/features.json, spec/roadmap.md - All gates approved: reviewer, security, qa; verify.sh green
43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
# Orquestra Status Extension
|
|
|
|
Pi extension project-local que renderiza `work/runtime-status.json` y aplica el guard mínimo de escritura Orquestra.
|
|
|
|
## Muestra
|
|
- feature activa
|
|
- stage actual
|
|
- rol actual
|
|
- acción/estado
|
|
- siguiente rol
|
|
- checklist de artefactos por rol
|
|
- estado de gates
|
|
- último evento de timeline
|
|
|
|
## Ruta instalada
|
|
- `.pi/extensions/orquestra-status/index.ts`
|
|
|
|
Se lanza junto con `.pi/extensions/orquestra-web-fetch.ts` desde `scripts/pi_orquestra.sh`.
|
|
|
|
## Uso
|
|
1. Abrí `pi` en la raíz del proyecto instalado.
|
|
2. Si Pi ya estaba abierto, ejecutá `/reload`.
|
|
3. El widget aparece arriba del editor y el footer muestra estado compacto.
|
|
4. El widget refresca cada segundo.
|
|
5. Refresco manual: `/orquestra-status`.
|
|
|
|
## Guard de escritura
|
|
|
|
La extensión intercepta herramientas Pi built-in `write` y `edit`:
|
|
- bloquea archivos de producto/código en la raíz (`*.py`, `*.js`, `*.ts`, `*.go`, `*.rs`, `*.java`, `*.php`, `*.rb`); usá `project/`.
|
|
- bloquea escrituras en `project/` o `tests/` salvo que `work/runtime-status.json` tenga `feature_id`, `stage=build`, `agent=implementer` y `state=running`.
|
|
- bloquea paths que escapan la raíz del repo con `..`.
|
|
|
|
## Fuente de verdad
|
|
- `work/runtime-status.json`
|
|
|
|
Actualizar con:
|
|
|
|
```bash
|
|
python3 scripts/agent_status.py set ...
|
|
python3 scripts/agent_status.py reset
|
|
```
|