Files
fn_registry/dev/issues/0180-ausente-issues-queue-dag.md
T
egutierrez a3f75d61ec chore: avance acumulado de sesiones previas (reorg dev/issues + ajustes)
Reorganizacion de dev/issues en subcarpetas (completed/, cpp/, gamedev/,
kanban/, trading/, imagegen/, matrix/) y cambios acumulados en cmd/fn/pyrunner,
.claude/commands y settings. Trabajo de otro LLM/sesion, commiteado a peticion
del usuario para desbloquear el working tree. Excluido logs/ardour_mcp_server.log (ruido).
2026-06-30 14:43:51 +02:00

3.7 KiB
Raw Blame History

id, title, status, type, domain, scope, priority, depends, blocks, related, created, updated, tags
id title status type domain scope priority depends blocks related created updated tags
0180 Modo ausente sobre la cola de issues: parametrizar /ausente + DAG dag_engine + validación pendiente infra
meta
multi-app alta
0179
2026-06-30 2026-06-30

0180 — Modo ausente sobre la cola de issues (parametrizar /ausente + DAG + validación)

Contexto

Modelo de colaboración acordado (ver memoria modelo-colaboracion-ausente): durante la jornada de oficina (LJ 1014 / 1519, V 1016) y la noche (0109), Claude trabaja en /ausente la cola de issues ausente-ready (39 issues hoy), sin supervisión. La curación del backlog ya está hecha (triage, taxonomía, deps de series formalizadas, tag ausente-ready).

Faltan 3 piezas para automatizarlo de forma segura.

Problemas a resolver

  1. /ausente está acoplado al roadmap ComfyUI. El skill (.claude/commands/ausente.md) hardcodea su backlog a funciones ComfyUI (secciones "Configuración" y "Backlog del roadmap ComfyUI"). Hay que parametrizar la fuente de tareas para que pueda tomar la cola de issues: la siguiente tarea = primer issue de /issue list -t ausente-ready cuyas depends estén todas en completed/, re-cruzando deps en cada ciclo (un issue se libera cuando su dep se cierra).
  2. Lanzamiento headless desde dag_engine. dag_engine ejecuta steps (command/script/function), no abre una sesión Claude interactiva. Hay que resolver cómo un step arranca una sesión role=orchestrator en modo /ausente (candidatos: launch_claude_agent_kitty_bash_infra con DISPLAY, o spawn_fleet_agent_bash_infra si hay sesión tmux fleet) con el prompt autónomo + presupuesto.
  3. Presupuesto conservador aplicado. Tope: 12 ejecutores concurrentes, solo issues S/M, ~1M tokens por franja, parada al llegar. Materializar el tope de tokens (hoy orchestration.md solo fija fan-out=6).

Schedule objetivo (cuando se active)

  • Inicio de franjas de oficina: 0 10 * * 1-5 (10:00 LV) y 0 15 * * 1-4 (15:00 LJ, tras comida).
  • Nocturno: 0 1 * * * (01:00 diario).
  • El modo, una vez lanzado, itera con ScheduleWakeup hasta que el humano vuelve (para al recibir prompt humano).

Borrador del DAG: apps/dag_engine/dags/ausente-issues-queue.yaml (creado como DRAFT sin schedule activo).

Definition of Done

Escenario Tipo Comando / evidencia Resultado esperado
Golden: corrida manual e2e lanzar /ausente con backlog=issues sobre 1 issue S de la cola Coge el issue, lo implementa en worktree/sub-repo aislado, cierra DoD verde (golden+edge+error), push, bitácora actualizada
Edge: dep no satisfecha e2e cola con un issue cuya depends sigue activa NO lo coge; pasa al siguiente arrancable
Edge: flota llena e2e 2 ejecutores activos (tope conservador) Encola el resto, no lanza el 3.º
Error: presupuesto agotado e2e tope de tokens alcanzado Para limpio, deja bitácora con lo pendiente, no deja agentes huérfanos
Vida útil observabilidad tras activar cron, 1 semana Issues cerrados/semana > 0, 0 merges rotos a master, bitácora legible

Plan

  1. Cerrar 0179 (dev_console recursivo) — dependencia.
  2. Parametrizar /ausente (fuente de backlog = issues ausente-ready | roadmap; pasar la fuente al invocar).
  3. Resolver el step de lanzamiento headless + presupuesto de tokens.
  4. Validación manual (golden + edges) antes de activar el cron.
  5. Activar schedule en el DAG + systemctl --user restart dag_engine.service con --scheduler.

Notas

Este issue NO es ausente-ready a propósito: requiere decisiones de diseño humanas (mecanismo de lanzamiento, forma del presupuesto) y toca el propio sistema que orquesta el modo ausente. Se hace JUNTOS, no desatendido.