Files
fn_registry/dev/issues/0123-flow-runner-meta-paralelo.md
T
egutierrez b31ea70771 docs(plan): issues 0120-0123 — mejora workflow subagentes
Plan en 4 olas para cerrar gaps detectados en revision critica:
- 0120 piloto fn-orquestador (chart_demo e2e_checks)
- 0121 cobertura e2e_checks masiva (fn-recopilador batch)
- 0122 fn-revisor + auto-apply ampliado (desbloquea fase 5)
- 0123 /flow run + fn-meta-orquestador + fn-priorizador

Dep-chain: 0120 -> 0121 -> 0122 -> 0123. Cada uno con
Acceptance verificable programaticamente para que /autonomous-task
pueda converger.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 21:41:02 +02:00

66 lines
3.2 KiB
Markdown

---
id: "0123"
title: "/flow run + fn-meta-orquestador: ejecutar flows + paralelo issues autonomos"
status: pendiente
type: feature
domain:
- meta
- dev-ux
scope: agent
priority: media
depends:
- "0122"
blocks: []
related:
- "0069"
- "0102"
created: 2026-05-18
updated: 2026-05-18
tags: [flows, runner, meta-orquestador, paralelo, priorizador]
---
# 0123 — Flows ejecutables + meta-orquestador paralelo
## Problema
1. 12 flows declarados en `dev/flows/`, 0 cerrados. Fase 2 (`/flow run`) NUNCA implementada. Flows son docs estaticos sin musculo ejecutivo. Ningun subagente los consume.
2. `parallel-fix-issues` lanza N agentes Claude vanilla en worktrees. `fn-orquestador` lanza 1 issue autonomo en worktree. NO existe combinacion: N issues autonomos coordinados respetando dep-graph.
3. `/work today` prioriza con regla fija (prio+deps+DoD%). NO usa errores e2e, blast radius ni huerfanas para reordenar.
## Decision
Tres piezas:
1. **`/flow run <NNNN>`**: ejecuta Acceptance checkboxes como steps. Cada step = `./fn run <id>` o subagent call. Logea en `data_factory.runs` + `e2e_runs`.
2. **`/fix-flow <NNNN>`**: simetrico a `/fix-issue`. Cierra DoD del flow ejecutando Acceptance + abriendo issues si falla algun step.
3. **`fn-meta-orquestador`** (subagente nuevo): lee `dev/issues/` con `status=pendiente` + dep-graph + telemetria. Spawn N `fn-orquestador` en worktrees paralelos respetando deps. Reusa `parallel-fix-issues/scripts/setup-worktrees.sh`.
4. **`fn-priorizador`** (subagente nuevo): lee issues + telemetria call_monitor (error_rate, blast radius, huerfanas, violations). Output: top-N reordenado para `/work today`.
5. **`fn doctor issues` + `fn doctor flows`**: valida TAXONOMY allowlist + DoD presente + user-facing surface declarada.
## Tareas
1. Implementar `/flow run` en `.claude/commands/flow.md` + parser de Acceptance + dispatcher de steps.
2. Implementar `/fix-flow` espejando `/fix-issue` adaptado al frontmatter de flows.
3. Escribir `.claude/agents/fn-meta-orquestador/SKILL.md` con dep-graph resolver + spawner paralelo.
4. Escribir `.claude/agents/fn-priorizador/SKILL.md` que consulta `call_monitor.operations.db` + `task_runs`.
5. Anadir subcomandos `fn doctor issues` + `fn doctor flows` con funciones auxiliares via `fn-constructor`.
6. Test: lanzar `/fix-flow 0001` (hn-top-stories) end-to-end + verificar acceptance.
## Acceptance
- [ ] `/flow run 0001` ejecuta cada step y reporta pass/fail por step.
- [ ] `/fix-flow 0001` cierra DoD verde y mueve a `dev/flows/completed/`.
- [ ] `fn-meta-orquestador` lanza N orquestadores paralelos sobre issues sin dep entre si.
- [ ] `fn-priorizador` output incluye senal de telemetria (no solo prio+deps).
- [ ] `fn doctor issues --json` detecta drift TAXONOMY.
- [ ] `fn doctor flows --json` detecta flows sin DoD ni user-facing surface.
- [ ] 1 flow real cerrado (`status=done` + en `completed/`).
## DoD
User-facing surface:
- **Donde**: `/flow run` + `/work today` en terminal + tab Work del dashboard.
- **Latencia**: `/flow run` reporta progreso live por step.
- **Como vuelve**: `/work today` cada manana muestra top reordenado.
- **Onboarding**: "Para arrancar el dia, `/work today`. Para cerrar un flow, `/fix-flow <NNNN>`. Para lanzar varios issues a la vez, `fn-meta-orquestador` via skill o spawn manual."