a3f75d61ec
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).
3.7 KiB
3.7 KiB
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 |
|
multi-app | alta |
|
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 (L–J 10–14 / 15–19, V 10–16) y la noche (01–09), 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
/ausenteestá 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-readycuyasdependsestén todas encompleted/, re-cruzando deps en cada ciclo (un issue se libera cuando su dep se cierra).- Lanzamiento headless desde dag_engine.
dag_engineejecuta steps (command/script/function), no abre una sesión Claude interactiva. Hay que resolver cómo un step arranca una sesiónrole=orchestratoren modo/ausente(candidatos:launch_claude_agent_kitty_bash_infracon DISPLAY, ospawn_fleet_agent_bash_infrasi hay sesión tmux fleet) con el prompt autónomo + presupuesto. - Presupuesto conservador aplicado. Tope: 1–2 ejecutores concurrentes, solo issues S/M, ~1M tokens por franja, parada al llegar. Materializar el tope de tokens (hoy
orchestration.mdsolo fija fan-out=6).
Schedule objetivo (cuando se active)
- Inicio de franjas de oficina:
0 10 * * 1-5(10:00 L–V) y0 15 * * 1-4(15:00 L–J, tras comida). - Nocturno:
0 1 * * *(01:00 diario). - El modo, una vez lanzado, itera con
ScheduleWakeuphasta 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
- Cerrar
0179(dev_console recursivo) — dependencia. - Parametrizar
/ausente(fuente de backlog = issues ausente-ready | roadmap; pasar la fuente al invocar). - Resolver el step de lanzamiento headless + presupuesto de tokens.
- Validación manual (golden + edges) antes de activar el cron.
- Activar schedule en el DAG +
systemctl --user restart dag_engine.servicecon--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.