7eb7b3d0c8
Snapshot de WIP acumulado de sesiones previas antes de merge wave 1 del flow 0008 (kanban_cpp + agent_runner_api + DoD schema). Incluye: - dev/flows/0008-kanban-cpp-and-agent-workflows.md - dev/issues/0112-0119*.md (7 sub-issues) - WIP previo en cmd/fn/doctor.go, registry/*, modules/, cpp/, etc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.5 KiB
3.5 KiB
id, title, status, type, domain, scope, priority, depends, blocks, related, created, updated, tags, flow
| id | title | status | type | domain | scope | priority | depends | blocks | related | created | updated | tags | flow | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0116 | skill_tree v2: reemplazar boton Claude fix por Launch workflow | pendiente | feature |
|
app | alta |
|
|
2026-05-18 | 2026-05-18 |
|
0008 |
0116 — skill_tree v2: Launch workflow
Problema
apps/skill_tree/main.cpp::spawn_claude_terminal abre wt.exe new-tab wsl.exe -- bash -ic "claude --dangerously-skip-permissions". Side effects:
- Terminal externa fuera de la app (mala UX para agentes paralelos).
- Sin trazabilidad (run no persistido).
- Sin DoD ni evidencias.
- Imposible cancelar desde la UI.
Flow 0008 surface 2: usuario clica Launch workflow -> run trackeado en agent_runner_api, NO se abre terminal.
Decision
Modificar apps/skill_tree/main.cpp:
- Eliminar (o esconder detras de feature flag
legacy_claude_fix) el botonTI_TERMINAL_2 " Claude fix". - Anadir boton
TI_PLAY " Launch workflow":- POST
http://localhost:8486/api/runscon{issue_id, mode: "fix-issue"}. - Captura
run_iddel response. - Toast
run_id=...visible 3s. - Refresh panel
Timeline(issue 0118).
- POST
- Pasar al panel
DoD inspector(issue 0117) si el run tienedod_evidence_schemadeclarado.
Feature flag legacy_claude_fix
dev/feature_flags.json:
"legacy_claude_fix": {
"enabled": false,
"issue": "0116",
"description": "Mostrar boton Claude fix viejo (terminal externa). Default OFF tras 0116",
"added": "2026-05-18",
"enabled_at": null
}
Logica: si flag ON, muestra ambos botones (Launch workflow + Claude fix legacy) durante rollback window. Si OFF (default), solo Launch workflow.
Eliminar flag + codigo legacy en issue separado tras 2 semanas estables.
Criterios de aceptacion
apps/skill_tree/main.cppmodificado: botonLaunch workflowoperativo.- POST a
:8486/api/runsusahttp_request_cpp_core(0110) — NO popen inline. - Feature flag
legacy_claude_fixregistrado endev/feature_flags.jsonconenabled: false. - Cuando flag OFF:
Claude fixno se renderiza. - Cuando flag ON: ambos botones aparecen para rollback.
- Toast
run_id=...visible al lanzar. - Si
agent_runner_apino responde (:8486down): toast error + sugerenciasystemctl --user start agent_runner_api. uses_functionsactualizado enapps/skill_tree/app.md: anadirhttp_request_cpp_core.e2e_checksactualizados: smoke launch workflow con backend mock.- Test manual: clic en nodo issue -> ve run en kanban_cpp
panel_agent_runsy en skill_treeTimeline(0118). - Version bump
apps/skill_tree/app.md::versionminor (/version apps/skill_tree minor "...").
Gotchas
spawn_claude_terminalesta en main.cpp inline. NO eliminar la funcion en este issue — solo no llamarla cuando flag OFF. Eliminar en issue separado tras 2 semanas.- HTTP POST sincrono bloquearia frame ImGui. Usar
std::asynco spawn thread + flagpending_launch. Renderizar spinner. - Sin
agent_runner_apicorriendo, el boton es decorativo. Doctor check:fn doctor servicesdebe mostraragent_runner_api active. - Si el issue NO tiene
dod_evidence_schemadeclarado: run igualmente arranca, pero sin items DoD precreados.
Out of scope
- Panel DoD inspector (0117).
- Panel Timeline (0118).
- Tab Calendar/Dashboard de skill_tree (otros sub-issues 0109*).
- Eliminacion definitiva de
spawn_claude_terminal(issue separado tras rollback window).