feat(dev): issues 0100-0104 — dev_console binary + work_tab + DoD user-facing + frontmatter migration de 146 issues + taxonomia canonica

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-17 02:44:04 +02:00
parent 6ad82167bb
commit fad4006f60
164 changed files with 3934 additions and 323 deletions
+96
View File
@@ -0,0 +1,96 @@
# Taxonomia canonica — dev/issues + dev/flows
Fuente de verdad para los campos del frontmatter YAML de issues y flows. Cualquier valor fuera de las allowlists hace fallar `fn doctor issues` y el filtrado de `dev_console`.
## Dominios (allowlist)
| Tag | Que entra |
|---|---|
| `meta` | telemetria, hooks, bucle reactivo, MCP, loops autonomos, taxonomia, dev_console |
| `cpp-stack` | apps C++/ImGui + primitivos GFX, GL, ImPlot, tablas, paneles, app shell |
| `kanban` | app `kanban` (features, stickers, columnas, reports, daily summary) |
| `trading` | roadmap trading (market data, broker, portfolio, backtester, journal, ...) |
| `gamedev` | roadmap gamedev (SDL3, sokol, runtime, asset pipeline, build targets) |
| `osint` | ODR + OSINT + graph_explorer |
| `data-ingest` | extractores, navegator, data_factory, dag_engine, recipes |
| `registry-quality` | auditorias, drift, registry-first refactors, uses_functions, migrations |
| `notify` | Matrix, Telegram, email, slack |
| `imagegen` | stable-diffusion, imagegen_studio, sd-cpp |
| `apps-infra` | launcher, datahub, app shell shared infra, app locations |
| `dev-ux` | fricion del agente (output mudo, paths rotos, gradle_run, slash commands) |
| `deploy` | deploy_server, systemd, VPS, rsync, webhooks |
| `frontend` | React + Vite + Mantine + hooks + visualizaciones web |
| `mcp` | MCP server, tools del registry, integracion Claude Code |
| `browser` | Chrome, CDP, navegator helpers |
| `telemetry` | call_monitor, function_stats, observability |
| `docs` | reglas, plantillas, ADRs, capability pages |
## Tipos
| Tag | Que es |
|---|---|
| `app` | crear app entera (apps/ o cpp/apps/) |
| `feature` | accion concreta, una rama corta |
| `bugfix` | corregir defecto |
| `refactor` | reescribir sin cambiar comportamiento |
| `chore` | auditoria, indexado, limpieza, migracion |
| `docs` | solo documentacion |
| `spike` | exploracion timeboxed |
| `epic` | roadmap con sub-issues hijo (NNNN + NNNNa, NNNNb, ...) |
| `infra` | sub-piezas de un epic |
| `planning` | issue de planificacion (no entrega codigo) |
## Estados
| Tag | Que significa |
|---|---|
| `pendiente` | no arrancado |
| `in-progress` | rama abierta + commits |
| `bloqueado` | espera dep no resuelta |
| `completado` | merge a master + DoD verde + archivado |
| `deferred` | fuera de scope actual, conservado |
## Scopes
| Tag | Que toca |
|---|---|
| `registry-only` | solo `functions/`, `types/`, `python/functions/`, etc. |
| `app-scoped` | una app concreta |
| `multi-app` | atraviesa >=2 apps |
| `cross-stack` | toca C++ + Go + Py + Frontend o equivalente |
## Prioridades
| Tag | Que significa |
|---|---|
| `alta` | bloquea otros items, alto impacto |
| `media` | importante pero no critico |
| `baja` | nice-to-have |
## Flow patterns (solo dev/flows)
| Pattern | Que es |
|---|---|
| `smoke-cron` | pipeline programado de prueba (HN, AEMET) |
| `prod-data` | caso real con datos personales/sensibles |
| `event-driven` | webhook -> fanout/notify |
| `manual-deep` | humano dispara, multi-paso interactivo |
| `gitops` | estado de servicio -> codigo versionado |
| `realtime-loop` | bucle continuo sin trigger discreto |
## Convenciones de uso
- `domain` es lista (multi-tag permitido). `scope`, `type`, `priority`, `status` son escalares.
- Issue sin `type` o `priority` -> warning en `fn doctor issues` + bloquea `done`.
- Issue con dominio fuera de la lista -> error en validador.
- Roadmaps usan `type: epic` con sub-issues `NNNNa`, `NNNNb`, ... que son `type: infra` o `feature`.
- Issue cerrado vive en `dev/issues/completed/` con `status: completado`.
## Como evolucionar la taxonomia
Anadir dominio nuevo requiere:
1. PR a este archivo + a `python/functions/pipelines/migrate_issues_frontmatter.py` (heuristica).
2. Justificacion: >=3 issues actuales o previstos que encajen.
3. Frontera neta con dominios vecinos.
NO crear dominios para 1 issue suelto -> usa `tags:` libre.
@@ -1,3 +1,19 @@
---
id: "0027"
title: "C++ gl_compute_shader + gl_pingpong_fbo + DAG node Compute"
status: pendiente
type: feature
domain:
- cpp-stack
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0027 — C++ gl_compute_shader + gl_pingpong_fbo + DAG node Compute
## APP Metadata
+17
View File
@@ -1,3 +1,20 @@
---
id: "0030"
title: "C++ audio reactivo (capture + FFT + uniform feed + viz)"
status: pendiente
type: feature
domain:
- cpp-stack
- frontend
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0030 — C++ audio reactivo (capture + FFT + uniform feed + viz)
## APP Metadata
+16
View File
@@ -1,3 +1,19 @@
---
id: "0033"
title: "C++ http_inspector + websocket_client"
status: pendiente
type: feature
domain:
- cpp-stack
scope: multi-app
priority: baja
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0033 — C++ http_inspector + websocket_client
## APP Metadata
+16
View File
@@ -1,3 +1,19 @@
---
id: "0035"
title: "C++ map_tiles (slippy map OSM)"
status: pendiente
type: feature
domain:
- cpp-stack
scope: multi-app
priority: baja
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0035 — C++ map_tiles (slippy map OSM)
## APP Metadata
@@ -1,3 +1,19 @@
---
id: "0036"
title: "C++ image_canvas + webcam_texture"
status: pendiente
type: feature
domain:
- cpp-stack
scope: multi-app
priority: baja
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0036 — C++ image_canvas + webcam_texture
## APP Metadata
@@ -1,3 +1,18 @@
---
id: "0051"
title: "Funciones pendientes del pipeline de extraccion (NER+RE+OpenIE)"
status: pendiente
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0051 — Funciones pendientes del pipeline de extraccion (NER+RE+OpenIE)
## APP Metadata
@@ -1,3 +1,20 @@
---
id: "0054"
title: "deploy_server: refactor registry-first (SSH/systemd/rsync/health/docker-compose)"
status: pendiente
type: refactor
domain:
- registry-quality
- deploy
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0054 — deploy_server: refactor registry-first (SSH/systemd/rsync/health/docker-compose)
## APP Metadata
@@ -1,3 +1,19 @@
---
id: "0055"
title: "docker_tui: refactor para usar funciones docker_* del registry"
status: pendiente
type: refactor
domain:
- registry-quality
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0055 — docker_tui: refactor para usar funciones docker_* del registry
## APP Metadata
@@ -1,3 +1,19 @@
---
id: "0056"
title: "audit_uses_functions: detectar imports Python anidados (`from pkg.subpkg import X`)"
status: pendiente
type: chore
domain:
- registry-quality
scope: registry-only
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0056 — audit_uses_functions: detectar imports Python anidados (`from pkg.subpkg import X`)
## APP Metadata
+16
View File
@@ -1,3 +1,19 @@
---
id: "0057"
title: "audit_uses_functions: mejorar deteccion de simbolos Go con abreviaturas"
status: pendiente
type: chore
domain:
- registry-quality
scope: registry-only
priority: baja
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0057 — audit_uses_functions: mejorar deteccion de simbolos Go con abreviaturas
## APP Metadata
@@ -1,3 +1,20 @@
---
id: "0058"
title: "kanban: sync uses_functions cuando termine WIP en curso"
status: pendiente
type: docs
domain:
- kanban
- registry-quality
scope: multi-app
priority: baja
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0058 — kanban: sync uses_functions cuando termine WIP en curso
## APP Metadata
+16
View File
@@ -1,3 +1,19 @@
---
id: "0059"
title: "Resolver doble tracking de `apps/*/app.md` (fn_registry + sub-repo)"
status: pendiente
type: infra
domain:
- registry-quality
scope: app-scoped
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0059 — Resolver doble tracking de `apps/*/app.md` (fn_registry + sub-repo)
## APP Metadata
@@ -1,3 +1,18 @@
---
id: "0060"
title: "`fn doctor secrets`: scan de secrets en TODOS los repos"
status: pendiente
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0060 — `fn doctor secrets`: scan de secrets en TODOS los repos
## APP Metadata
@@ -1,3 +1,19 @@
---
id: "0061"
title: "Integrar `notify_telegram` en deploy_server + bucle reactivo"
status: pendiente
type: feature
domain:
- notify
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0061 — Integrar `notify_telegram` en deploy_server + bucle reactivo
## APP Metadata
+16
View File
@@ -1,3 +1,19 @@
---
id: "0063"
title: "kanban: sistema de stickers (emojis) sobre cards"
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0063 — kanban: sistema de stickers (emojis) sobre cards
## APP Metadata
@@ -1,11 +1,22 @@
---
id: 0065
title: Extraer jobs system de graph_explorer al registry (jobs_pool + cache + subprocess worker)
status: pending
priority: high
id: "53"
title: "Extraer jobs system de graph_explorer al registry (jobs_pool + cache + subprocess worker)"
status: pendiente
type: feature
domain:
- registry-quality
scope: registry-only
priority: alta
depends: []
blocks:
- "54"
related:
- "22"
- "23"
- "0028"
created: 2026-05-09
blocks: [0066]
related: [0026, 0027, 0028]
updated: 2026-05-17
tags: []
---
## Contexto
@@ -1,10 +1,17 @@
---
id: 0066
title: online_data_recopilation — odr_console MVP (lanzador GUI + 5-pasos + 1 collector)
status: pending
priority: high
id: "54"
title: "online_data_recopilation — odr_console MVP (lanzador GUI + 5-pasos + 1 collector)"
status: pendiente
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-09
blocked_by: [0065]
updated: 2026-05-17
tags: []
---
## Objetivo
+15 -21
View File
@@ -1,26 +1,20 @@
---
id: 0067
title: Roadmap de prereqs — issues de osint_graph que odr_console necesita antes/durante MVP
status: pending
priority: high
id: "55"
title: "Roadmap de prereqs — issues de osint_graph que odr_console necesita antes/durante MVP"
status: pendiente
type: epic
domain:
- osint
scope: cross-stack
priority: alta
depends: []
blocks: []
related:
- "53"
- "54"
created: 2026-05-09
related: [0065, 0066]
references: [
"projects/osint_graph/apps/graph_explorer/issues/0033-multilang-dispatcher-embedded-python.md",
"projects/osint_graph/apps/graph_explorer/issues/0033c-fn-check-vendored.md",
"projects/osint_graph/apps/graph_explorer/issues/0033d-indexer-python-runtime-fields.md",
"projects/osint_graph/apps/graph_explorer/issues/0033e-compile-skill-orchestration.md",
"projects/osint_graph/apps/graph_explorer/issues/0038-browser-launch-cdp-control.md",
"projects/osint_graph/apps/graph_explorer/issues/0039-cookie-session-manager.md",
"projects/osint_graph/apps/graph_explorer/issues/0040-multi-profile-management.md",
"projects/osint_graph/apps/graph_explorer/issues/0029-enrichers-cdp.md",
"projects/osint_graph/apps/graph_explorer/issues/0030-deep-enrich-macro.md",
"projects/osint_graph/apps/graph_explorer/issues/0021-command-palette.md",
"projects/osint_graph/apps/graph_explorer/issues/0034-port-system-enrichers-to-go.md",
"projects/osint_graph/apps/graph_explorer/issues/0014-browser-extension.md",
"projects/osint_graph/apps/graph_explorer/issues/0012-http-ingest-endpoint.md",
"projects/osint_graph/apps/graph_explorer/issues/0017-gx-cli.md"
]
updated: 2026-05-17
tags: []
---
## Objetivo
+16 -6
View File
@@ -1,11 +1,21 @@
---
id: 0068
title: Cerrar bucle reactivo — fn-analizador (fase 4) y fn-mejorador (fase 5) con contrato e2e_checks
status: done
closed: 2026-05-14
priority: high
id: "0068"
title: "Cerrar bucle reactivo — fn-analizador (fase 4) y fn-mejorador (fase 5) con contrato e2e_checks"
status: completado
type: feature
domain:
- meta
scope: multi-app
priority: alta
depends: []
blocks: []
related:
- "22"
- "23"
- "0028"
created: 2026-05-09
related: [0026, 0027, 0028]
updated: 2026-05-17
tags: []
---
## Cierre 2026-05-14
@@ -1,12 +1,23 @@
---
id: 0069
title: Bucle autonomo de subagentes — completar y mejorar tareas sin intervencion humana
status: done
closed: 2026-05-15
priority: medium
id: "0069"
title: "Bucle autonomo de subagentes — completar y mejorar tareas sin intervencion humana"
status: completado
type: feature
domain:
- meta
scope: multi-app
priority: media
depends:
- "0068"
blocks: []
related:
- "22"
- "23"
- "0028"
- "0085"
created: 2026-05-09
depends_on: [0068]
related: [0026, 0027, 0028, 0085]
updated: 2026-05-17
tags: []
---
## Cierre 2026-05-15
@@ -1,11 +1,18 @@
---
id: 0070
title: Funciones globales del registry para control de navegador (find by text, click by text, scroll, HAR, jsonld, opengraph, ...)
status: pending
priority: medium
id: "56"
title: "Funciones globales del registry para control de navegador (find by text, click by text, scroll, HAR, jsonld, opengraph, ...)"
status: pendiente
type: epic
domain:
- browser
scope: cross-stack
priority: media
depends: []
blocks: []
related: []
created: 2026-05-09
related_apps: [navegator_dashboard, graph_explorer]
related_issues_app: [navegator/0001, graph_explorer/0038]
updated: 2026-05-17
tags: []
---
## Contexto
@@ -1,11 +1,19 @@
---
id: 0071
title: Extraer paneles ImGui reutilizables de las apps C++ a cpp/functions/ — roadmap
status: pending
priority: medium
id: "57"
title: "Extraer paneles ImGui reutilizables de las apps C++ a cpp/functions/ — roadmap"
status: pendiente
type: epic
domain:
- cpp-stack
- registry-quality
scope: cross-stack
priority: media
depends: []
blocks: []
related: []
created: 2026-05-09
related_apps: [graph_explorer, registry_dashboard, odr_console, navegator_dashboard]
related_issues_app: [navegator/0001]
updated: 2026-05-17
tags: []
---
## Contexto
+13 -6
View File
@@ -1,12 +1,19 @@
---
id: 0071a
title: Extraer `claude_chat_panel` a cpp/functions/core/ (sub-issue de 0071)
status: pending
id: "0071a"
title: "Extraer `claude_chat_panel` a cpp/functions/core/ (sub-issue de 0071)"
status: pendiente
type: feature
domain:
- registry-quality
scope: registry-only
priority: alta
depends:
- "0071f"
blocks: []
related: []
created: 2026-05-10
parent: 0071
related_apps: [graph_explorer, navegator_dashboard]
depends_on: [0071f]
updated: 2026-05-17
tags: []
---
## Contexto
+13 -7
View File
@@ -1,13 +1,19 @@
---
id: 0071b
title: Extraer `jobs_queue_panel` a cpp/functions/core/ (sub-issue de 0071)
status: pending
id: "0071b"
title: "Extraer `jobs_queue_panel` a cpp/functions/core/ (sub-issue de 0071)"
status: pendiente
type: feature
domain:
- registry-quality
scope: registry-only
priority: media
depends:
- "0071f"
blocks: []
related: []
created: 2026-05-10
parent: 0071
related_apps: [graph_explorer, odr_console, navegator_dashboard]
related_issues: [0065]
depends_on: [0071f]
updated: 2026-05-17
tags: []
---
## Contexto
@@ -1,11 +1,18 @@
---
id: 0071f
title: Extraer `subprocess_streamer` a cpp/functions/core/ (sub-issue de 0071)
status: pending
id: "0071f"
title: "Extraer `subprocess_streamer` a cpp/functions/core/ (sub-issue de 0071)"
status: pendiente
type: feature
domain:
- registry-quality
scope: registry-only
priority: media
depends: []
blocks: []
related: []
created: 2026-05-10
parent: 0071
related_apps: [graph_explorer]
updated: 2026-05-17
tags: []
---
## Contexto
+12 -5
View File
@@ -1,11 +1,18 @@
---
id: 0071g
title: Extraer `app_db_init` a cpp/functions/core/ (sub-issue de 0071, Tier 4)
status: pending
id: "0071g"
title: "Extraer `app_db_init` a cpp/functions/core/ (sub-issue de 0071, Tier 4)"
status: pendiente
type: feature
domain:
- registry-quality
scope: registry-only
priority: media
depends: []
blocks: []
related: []
created: 2026-05-10
parent: 0071
related_apps: [graph_explorer, navegator_dashboard, kanban, deploy_server, registry_dashboard]
updated: 2026-05-17
tags: []
---
## Contexto
+15 -6
View File
@@ -1,11 +1,20 @@
---
id: 0072
title: Stack gamedev ligero multi-plataforma + crypto (roadmap)
status: pending
priority: medium
id: "58"
title: "Stack gamedev ligero multi-plataforma + crypto (roadmap)"
status: pendiente
type: epic
domain:
- gamedev
scope: cross-stack
priority: media
depends: []
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, roadmap]
related_issues: [0072a, 0072b, 0072c, 0072d, 0072e, 0072f, 0072g, 0072h, 0072i, 0072j, 0072k, 0072l]
updated: 2026-05-17
tags:
- gamedev
- roadmap
---
## Contexto
@@ -1,12 +1,22 @@
---
id: 0072a
title: gamedev — smoke SDL3 + sokol_gfx + ImGui (PC + WASM)
status: pending
priority: high
id: "0072a"
title: "gamedev — smoke SDL3 + sokol_gfx + ImGui (PC + WASM)"
status: pendiente
type: feature
domain:
- cpp-stack
- gamedev
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, cpp, wasm]
parent_issue: 0072
related_apps: [engine_smoke]
updated: 2026-05-17
tags:
- gamedev
- cpp
- wasm
---
## Objetivo
+16 -7
View File
@@ -1,12 +1,21 @@
---
id: 0072b
title: gamedev — runtime nucleo (sprite batcher, audio, input, game loop)
status: pending
priority: high
id: "0072b"
title: "gamedev — runtime nucleo (sprite batcher, audio, input, game loop)"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: alta
depends:
- "0072a"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, cpp]
parent_issue: 0072
depends_on: [0072a]
updated: 2026-05-17
tags:
- gamedev
- cpp
---
## Objetivo
+17 -7
View File
@@ -1,12 +1,22 @@
---
id: 0072c
title: gamedev — asset pipeline (atlas packer, MSDF fonts, tilemap, shader translate)
status: pending
priority: high
id: "0072c"
title: "gamedev — asset pipeline (atlas packer, MSDF fonts, tilemap, shader translate)"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: alta
depends:
- "0072b"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, cpp, assets]
parent_issue: 0072
depends_on: [0072b]
updated: 2026-05-17
tags:
- gamedev
- cpp
- assets
---
## Objetivo
@@ -1,12 +1,23 @@
---
id: 0072d
title: gamedev — WASM build pipeline + size budget
status: pending
priority: high
id: "0072d"
title: "gamedev — WASM build pipeline + size budget"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: alta
depends:
- "0072a"
- "0072b"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, wasm, infra]
parent_issue: 0072
depends_on: [0072a, 0072b]
updated: 2026-05-17
tags:
- gamedev
- wasm
- infra
---
## Objetivo
+19 -7
View File
@@ -1,12 +1,24 @@
---
id: 0072e
title: gamedev — bridge crypto Web3 (wallets, sign tx) via JS interop en WASM
status: pending
priority: high
id: "0072e"
title: "gamedev — bridge crypto Web3 (wallets, sign tx) via JS interop en WASM"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: alta
depends:
- "0072a"
- "0072d"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, wasm, crypto, web3]
parent_issue: 0072
depends_on: [0072a, 0072d]
updated: 2026-05-17
tags:
- gamedev
- wasm
- crypto
- web3
---
## Objetivo
@@ -1,12 +1,23 @@
---
id: 0072f
title: gamedev — crypto on-chain (NFT assets, payments, leaderboards firmadas)
status: pending
priority: medium
id: "0072f"
title: "gamedev — crypto on-chain (NFT assets, payments, leaderboards firmadas)"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: media
depends:
- "0072e"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, crypto, web3, nft]
parent_issue: 0072
depends_on: [0072e]
updated: 2026-05-17
tags:
- gamedev
- crypto
- web3
- nft
---
## Objetivo
+18 -7
View File
@@ -1,12 +1,23 @@
---
id: 0072g
title: gamedev — Android build (NDK + touch input + virtual gamepad + WalletConnect)
status: pending
priority: medium
id: "0072g"
title: "gamedev — Android build (NDK + touch input + virtual gamepad + WalletConnect)"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: media
depends:
- "0072b"
- "0072c"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, android, mobile]
parent_issue: 0072
depends_on: [0072b, 0072c]
updated: 2026-05-17
tags:
- gamedev
- android
- mobile
---
## Objetivo
+18 -7
View File
@@ -1,12 +1,23 @@
---
id: 0072h
title: gamedev — iOS build (Xcode + Metal via sokol + safe area + WalletConnect)
status: pending
priority: medium
id: "0072h"
title: "gamedev — iOS build (Xcode + Metal via sokol + safe area + WalletConnect)"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: media
depends:
- "0072b"
- "0072c"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, ios, mobile]
parent_issue: 0072
depends_on: [0072b, 0072c]
updated: 2026-05-17
tags:
- gamedev
- ios
- mobile
---
## Objetivo
+19 -7
View File
@@ -1,12 +1,24 @@
---
id: 0072i
title: gamedev — editor visual `game_editor` (scene tree, asset browser, inspector)
status: pending
priority: medium
id: "0072i"
title: "gamedev — editor visual `game_editor` (scene tree, asset browser, inspector)"
status: pendiente
type: feature
domain:
- gamedev
scope: app-scoped
priority: media
depends:
- "0072b"
- "0072c"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, cpp, editor, tooling]
parent_issue: 0072
depends_on: [0072b, 0072c]
updated: 2026-05-17
tags:
- gamedev
- cpp
- editor
- tooling
---
## Objetivo
+17 -7
View File
@@ -1,12 +1,22 @@
---
id: 0072j
title: gamedev — physics 2D (Box2D integration + funciones registry)
status: pending
priority: medium
id: "0072j"
title: "gamedev — physics 2D (Box2D integration + funciones registry)"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: media
depends:
- "0072b"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, cpp, physics]
parent_issue: 0072
depends_on: [0072b]
updated: 2026-05-17
tags:
- gamedev
- cpp
- physics
---
## Objetivo
+20 -8
View File
@@ -1,13 +1,25 @@
---
id: 0072k
title: gamedev — demo plataformero `engine_demo` (referencia stack completo)
status: pending
priority: high
id: "0072k"
title: "gamedev — demo plataformero `engine_demo` (referencia stack completo)"
status: pendiente
type: feature
domain:
- gamedev
scope: multi-app
priority: alta
depends:
- "0072b"
- "0072c"
- "0072d"
- "0072j"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, cpp, demo]
parent_issue: 0072
depends_on: [0072b, 0072c, 0072d, 0072j]
related_issues: [0072e, 0072f, 0072g, 0072h]
updated: 2026-05-17
tags:
- gamedev
- cpp
- demo
---
## Objetivo
+16 -6
View File
@@ -1,12 +1,22 @@
---
id: 0072l
title: gamedev — scripting opcional (wren / lua / hot reload C++ dylib)
id: "0072l"
title: "gamedev — scripting opcional (wren / lua / hot reload C++ dylib)"
status: deferred
priority: low
type: feature
domain:
- gamedev
scope: multi-app
priority: baja
depends:
- "0072k"
blocks: []
related: []
created: 2026-05-10
tags: [gamedev, cpp, scripting]
parent_issue: 0072
depends_on: [0072k]
updated: 2026-05-17
tags:
- gamedev
- cpp
- scripting
---
## Objetivo
@@ -1,10 +1,18 @@
---
id: 0076
title: gradle_run no detecta SDK en $HOME/android-sdk (donde lo deja install_android_sdk)
status: pending
priority: medium
id: "62"
title: "gradle_run no detecta SDK en $HOME/android-sdk (donde lo deja install_android_sdk)"
status: pendiente
type: feature
domain:
- dev-ux
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-10
related_functions: [gradle_run_bash_infra, install_android_sdk_bash_infra]
updated: 2026-05-17
tags: []
---
## Sintoma
+13 -5
View File
@@ -1,10 +1,18 @@
---
id: 0077
title: fn run <bash_function> no propaga stdout/stderr al usuario
status: pending
priority: medium
id: "63"
title: "fn run <bash_function> no propaga stdout/stderr al usuario"
status: pendiente
type: feature
domain:
- dev-ux
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-10
related_components: [cmd/fn, fn run dispatcher]
updated: 2026-05-17
tags: []
---
## Sintoma
+13 -5
View File
@@ -1,11 +1,19 @@
---
id: 0082
title: Compilar binario `sd` (stable-diffusion.cpp) para sdcli_generate_go_ml
id: "0082"
title: "Compilar binario `sd` (stable-diffusion.cpp) para sdcli_generate_go_ml"
status: pendiente
priority: media
created: 2026-05-13
type: feature
related_components: [functions/ml/sdcli_generate.go, functions/ml/sdcli_resolve_binary.go, projects/imagegen]
domain:
- cpp-stack
- imagegen
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-13
updated: 2026-05-17
tags: []
---
## Objetivo
@@ -1,11 +1,18 @@
---
id: 0083
title: imagegen — notebook 02 validacion cruzada diffusers vs sdcpp_python
id: "0083"
title: "imagegen — notebook 02 validacion cruzada diffusers vs sdcpp_python"
status: pendiente
priority: alta
created: 2026-05-13
type: feature
related_components: [projects/imagegen/analysis/spike_diffusers_vs_sdcpp]
domain:
- imagegen
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-13
updated: 2026-05-17
tags: []
---
## Objetivo
+12 -5
View File
@@ -1,11 +1,18 @@
---
id: 0084
title: imagegen_studio — app Go binario producto (Fase 3 plan stack)
id: "0084"
title: "imagegen_studio — app Go binario producto (Fase 3 plan stack)"
status: pendiente
priority: media
created: 2026-05-13
type: feature
related_components: [functions/ml/sdcli_*.go, functions/ml/generation_config_go_ml, projects/imagegen]
domain:
- imagegen
scope: app-scoped
priority: media
depends: []
blocks: []
related: []
created: 2026-05-13
updated: 2026-05-17
tags: []
---
## Objetivo
@@ -1,11 +1,20 @@
---
id: 0085
title: Estandarizar llamadas a funciones del registry desde Claude + app de monitorizacion de uso
status: done
closed: 2026-05-15
priority: high
id: "0085"
title: "Estandarizar llamadas a funciones del registry desde Claude + app de monitorizacion de uso"
status: completado
type: feature
domain:
- meta
scope: multi-app
priority: alta
depends: []
blocks: []
related:
- "0068"
- "0069"
created: 2026-05-13
related: [0068, 0069]
updated: 2026-05-17
tags: []
---
## Cierre 2026-05-15
@@ -1,11 +1,20 @@
---
id: 0086
title: Refactor incremental de CLAUDE.md — delegacion agresiva a fn-constructor + capability groups por tags
status: done
closed: 2026-05-14
priority: high
id: "0086"
title: "Refactor incremental de CLAUDE.md — delegacion agresiva a fn-constructor + capability groups por tags"
status: completado
type: feature
domain:
- meta
scope: multi-app
priority: alta
depends: []
blocks: []
related:
- "0069"
- "0085"
created: 2026-05-13
related: [0069, 0085]
updated: 2026-05-17
tags: []
---
## Cierre 2026-05-14
@@ -1,3 +1,19 @@
---
id: "0087"
title: "Capability Discovery Acceleration"
status: pendiente
type: feature
domain:
- meta
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0087 — Capability Discovery Acceleration
**Status:** done
+12 -4
View File
@@ -1,10 +1,18 @@
---
id: "0088"
title: "kanban: requester input vacío + navegación con teclado"
status: open
created_at: 2026-05-14
priority: medium
app: kanban
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
## Problema
@@ -1,3 +1,19 @@
---
id: "0088"
title: "Trading & Skill Management Roadmap"
status: pendiente
type: epic
domain:
- trading
scope: cross-stack
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088 — Trading & Skill Management Roadmap
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0088a"
title: "Trading: project scaffolding"
status: pendiente
type: feature
domain:
- trading
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088a — Trading: project scaffolding
**Status:** pendiente
@@ -1,3 +1,20 @@
---
id: "0088b"
title: "Trading: capability group `market_data`"
status: pendiente
type: feature
domain:
- trading
- meta
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088b — Trading: capability group `market_data`
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0088c"
title: "Trading: broker interface + adapter paper"
status: pendiente
type: feature
domain:
- trading
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088c — Trading: broker interface + adapter paper
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0088d"
title: "Trading: app `portfolio_tracker` (ledger INSERT-only)"
status: pendiente
type: feature
domain:
- trading
scope: app-scoped
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088d — Trading: app `portfolio_tracker` (ledger INSERT-only)
**Status:** pendiente
@@ -1,3 +1,20 @@
---
id: "0088e"
title: "Trading: capability group `strategy` + Strategy contract"
status: pendiente
type: feature
domain:
- trading
- meta
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088e — Trading: capability group `strategy` + Strategy contract
**Status:** pendiente
@@ -1,3 +1,20 @@
---
id: "0088f"
title: "Trading: capability group `risk` + kill_switch"
status: pendiente
type: feature
domain:
- trading
- meta
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088f — Trading: capability group `risk` + kill_switch
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0088g"
title: "Trading: app `backtester`"
status: pendiente
type: feature
domain:
- trading
scope: app-scoped
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088g — Trading: app `backtester`
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0088h"
title: "Trading: app `live_runner` (service, paper-first, broker real behind flag)"
status: pendiente
type: feature
domain:
- trading
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088h — Trading: app `live_runner` (service, paper-first, broker real behind flag)
**Status:** pendiente
+16
View File
@@ -1,3 +1,19 @@
---
id: "0088i"
title: "Trading: app `trading_journal` (reflection log)"
status: pendiente
type: feature
domain:
- trading
scope: app-scoped
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088i — Trading: app `trading_journal` (reflection log)
**Status:** pendiente
@@ -1,3 +1,20 @@
---
id: "0088j"
title: "Trading: wiring del bucle reactivo (assertions + proposals)"
status: pendiente
type: feature
domain:
- trading
- frontend
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0088j — Trading: wiring del bucle reactivo (assertions + proposals)
**Status:** pendiente
+12 -4
View File
@@ -1,10 +1,18 @@
---
id: "0089"
title: "kanban: tiempo maximo por columna con borde rojo"
status: open
created_at: 2026-05-14
priority: medium
app: kanban
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
## Problema
+12 -4
View File
@@ -1,10 +1,18 @@
---
id: "0090"
title: "kanban: Seleccionar Aleatorio en columna con animacion de ruleta"
status: open
created_at: 2026-05-14
priority: medium
app: kanban
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
## Problema
+12 -4
View File
@@ -1,10 +1,18 @@
---
id: "0091"
title: "kanban: drag-aware dropzones para abrir/cerrar sidebar"
status: open
created_at: 2026-05-14
priority: medium
app: kanban
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
## Problema
+12 -4
View File
@@ -1,10 +1,18 @@
---
id: "0092"
title: "kanban: archivo automatico para cards en columnas Done con +30 dias"
status: open
created_at: 2026-05-14
priority: medium
app: kanban
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
## Problema
+12 -4
View File
@@ -1,10 +1,18 @@
---
id: "0093"
title: "kanban: reporte diario al pulsar numero del dia en el calendario"
status: open
created_at: 2026-05-14
priority: medium
app: kanban
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
## Problema
+12 -4
View File
@@ -1,10 +1,18 @@
---
id: "0094"
title: "kanban: bocadillo del agente + PDF descargable en reporte diario"
status: open
created_at: 2026-05-14
priority: medium
app: kanban
status: pendiente
type: feature
domain:
- kanban
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
## Problema
@@ -1,3 +1,20 @@
---
id: "0095"
title: "Frontend C++ ImGui para `dag_engine`"
status: pendiente
type: feature
domain:
- cpp-stack
- frontend
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0095 — Frontend C++ ImGui para `dag_engine`
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0096"
title: "Estandarizar ubicacion de apps: fuera de carpetas por lenguaje"
status: pendiente
type: feature
domain:
- apps-infra
scope: app-scoped
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0096 — Estandarizar ubicacion de apps: fuera de carpetas por lenguaje
**Status:** pendiente
+16
View File
@@ -1,3 +1,19 @@
---
id: "0097"
title: "data_factory app (Factorio-style data pipeline)"
status: pendiente
type: feature
domain:
- data-ingest
scope: app-scoped
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0097 — data_factory app (Factorio-style data pipeline)
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0098"
title: "Navegator extractions enhancement (Pick + Network rows + AutoExtract + data_factory bridge)"
status: pendiente
type: feature
domain:
- data-ingest
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0098 — Navegator extractions enhancement (Pick + Network rows + AutoExtract + data_factory bridge)
**Status:** pendiente
+16
View File
@@ -1,3 +1,19 @@
---
id: "0099"
title: "datahub app (launcher central para todas las apps)"
status: pendiente
type: feature
domain:
- apps-infra
scope: app-scoped
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0099 — datahub app (launcher central para todas las apps)
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0100"
title: "Migrar frontmatter inline a YAML canonico en dev/issues/"
status: pendiente
type: chore
domain:
- registry-quality
scope: registry-only
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0100 — Migrar frontmatter inline a YAML canonico en dev/issues/
**Status:** pendiente
+16
View File
@@ -1,3 +1,19 @@
---
id: "0101"
title: "dev_console Go binario: /issue /flow /work unificados"
status: pendiente
type: app
domain:
- meta
scope: registry-only
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0101 — dev_console Go binario: /issue /flow /work unificados
**Status:** pendiente
+16
View File
@@ -1,3 +1,19 @@
---
id: "0102"
title: "Tab Work en registry_dashboard (issues + flows + telemetria)"
status: pendiente
type: feature
domain:
- meta
scope: app-scoped
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0102 — Tab Work en registry_dashboard (issues + flows + telemetria)
**Status:** pendiente
@@ -1,3 +1,19 @@
---
id: "0103"
title: "Taxonomia + slash commands /issue /flow /work"
status: pendiente
type: feature
domain:
- meta
scope: registry-only
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0103 — Taxonomia + slash commands /issue /flow /work
**Status:** pendiente
@@ -0,0 +1,168 @@
---
id: "0104"
title: "/fix-issue type-aware dispatch (chore vs feature vs bugfix vs epic)"
status: pendiente
type: feature
domain:
- meta
- dev-ux
scope: registry-only
priority: alta
depends:
- "0100"
blocks: []
related:
- "0101"
- "0103"
created: 2026-05-17
updated: 2026-05-17
tags: [slash-command, dispatch, type-aware]
---
# 0104 — `/fix-issue` type-aware dispatch
## Problema
Hoy `/fix-issue NNNN` arranca con el mismo flujo para CUALQUIER tipo de issue. Pero un `chore` (limpieza, migracion idempotente) no requiere el mismo ceremonial que un `feature` (TBD rama + acceptance + DoD), ni que un `bugfix` (reproduce + test que falla + fix + test verde), ni que un `epic` (planificacion de sub-issues, no codigo directo).
Resultado:
- `chore` se ejecuta con TBD branch innecesaria, ralentiza.
- `bugfix` se cierra sin test de regresion porque el flujo no lo exige.
- `epic` arranca con `/git-branch` aunque no toca codigo aun (deberia abrir sub-issues primero).
- `spike` se trata como feature, sin timebox.
- `docs` requiere ramas TBD que sobran (push directo a master segun apps_tbd.md para registry).
## Objetivo
`/fix-issue NNNN` lee el `type:` del frontmatter (issue 0100) y aplica el playbook correspondiente. Sin type valido -> error "type missing, run `/issue tag NNNN +type:<X>` first".
## Dispatch por type
### `bugfix`
1. `/git-branch issue/NNNN-<slug>`.
2. **Reproducir el bug**: pedir al usuario pasos exactos + snippet. Si no se reproduce -> abort.
3. **Escribir test que falla** ANTES del fix. Commit `test: reproduce <bug>`.
4. Implementar fix.
5. Test verde + run suite completa de la app afectada.
6. Commit `fix: <descripcion>`.
7. `/git-push` (merge --no-ff master).
8. Move a `completed/`.
### `feature`
1. `/git-branch issue/NNNN-<slug>`.
2. **Plan corto** (2-3 frases) sobre approach + DoD a marcar.
3. Implementar bloque por bloque, commits atomicos.
4. Acceptance checkboxes verdes via tests + manual user-test.
5. Si DoD pide `User-facing`: el flow asociado debe abrir la superficie usuario.
6. `/git-push`.
7. Move a `completed/`.
### `chore`
1. **NO TBD branch** (push directo a master). Si toca app -> usar TBD.
2. Si es pipeline idempotente: run `--dry-run` primero, mostrar diff, run real.
3. Backup antes de toda escritura masiva (ver 0100).
4. Commit `chore: <descripcion>`.
5. `/full-git-push`.
6. Move a `completed/`.
### `refactor`
1. `/git-branch issue/NNNN-<slug>`.
2. **Sin tests verdes pre-existentes -> abort**. Refactor sin red de seguridad es feature, no refactor.
3. Aplicar **Branch by Abstraction** (ver feature_flags.md) si cambio grande.
4. Tests siguen verdes en cada commit.
5. `/git-push`.
### `chore` + `audit`
1. Read-only fase exploratoria.
2. Output reporte (no escribir).
3. Si el reporte requiere fix -> abrir nuevo issue `bugfix` o `chore` por hallazgo.
4. Close audit issue con reporte adjunto en `## Notas`.
### `epic`
1. **NO codigo directo**. Epic es planning.
2. Listar sub-issues hijo (`NNNNa`, `NNNNb`, ...) — crearlos si no existen via `/issue create`.
3. Decidir orden de ejecucion (dependencias).
4. Status del epic = `bloqueado` mientras haya hijos abiertos.
5. Cerrar solo cuando todos los hijos esten `completado`.
### `spike`
1. `/git-branch spike/NNNN-<slug>` (no `issue/`).
2. **Timebox declarado** en frontmatter (`tags: [timebox-2h]`).
3. Output: aprendizaje en `## Notas` + nuevo issue concreto (feature/refactor) si vale la pena seguir.
4. NO commit a master. Si el spike falla -> branch deletada, issue `deferred`.
### `docs`
1. NO TBD (push directo).
2. Editar `.md` o `docs/` o reglas.
3. Si toca `.claude/rules/INDEX.md` -> verificar referencias rotas.
4. Commit `docs: <descripcion>`.
### `infra`
1. Sub-issue de un epic. `/fix-issue` redirige a guidance del epic padre.
2. Aplicar dispatch del type del padre (feature/refactor habitualmente).
### `planning`
1. NO codigo. Similar a `epic` pero scope mas pequeño (ej. propuesta de taxonomia, ADR).
2. Output: `.md` con conclusiones.
## Implementacion
Slash command `.claude/commands/fix-issue.md` actualizado:
```yaml
---
description: "Fix issue con dispatch por type (bugfix/feature/chore/refactor/epic/spike/docs/infra/planning)"
allowed-tools: [Bash, Read, Edit, Write, Glob, Grep, Agent]
---
# /fix-issue NNNN
1. Lee `dev/issues/NNNN-*.md` (parsea frontmatter YAML).
2. Lee `type:` del frontmatter.
3. Despacha al playbook correspondiente (ver dev/issues/0104-*.md).
4. Si type missing/invalido -> error con sugerencia.
```
Playbooks se materializan como sub-archivos en `dev/playbooks/<type>.md` (lectura on-demand). Cada uno con steps numerados + checklist DoD.
## Acceptance
- [ ] `.claude/commands/fix-issue.md` lee `type:` y dispacha.
- [ ] `dev/playbooks/{bugfix,feature,chore,refactor,epic,spike,docs,infra,planning}.md` existen.
- [ ] `/fix-issue NNNN` sin `type:` valido -> error claro + sugerencia.
- [ ] Documentacion en `.claude/rules/` referencia los playbooks.
- [ ] Smoke test: `/fix-issue 0099` (type=app) elige el playbook adecuado (mapea app -> feature playbook por defecto).
## Definition of Done
### Generico
- [ ] **Repetibilidad**: misma issue type produce mismo playbook 100x.
- [ ] **Observabilidad**: log "dispatch: type=feature" antes de arrancar.
- [ ] **Error-path**: type invalido -> error con sugerencia "did you mean ...?".
- [ ] **Idempotencia**: si la rama ya existe, reanudar (no abortar).
- [ ] **Secrets**: N/A.
- [ ] **Docs**: cada playbook tiene ejemplo + gotchas.
- [ ] **Registry-first**: playbooks reusan funciones del registry (git_branch, run_tests, etc.).
- [ ] **INDEX + status**: issue cerrado.
### User-facing
- [ ] **User-facing**: usuario teclea `/fix-issue 0099` y ve el playbook elegido como primera linea: `[dispatch] type=app -> playbook=feature (TBD branch + acceptance + DoD)`.
- [ ] **User-facing repeat**: cada issue futuro entra al playbook correcto automatico, sin que el usuario tenga que pensar.
- [ ] **User-facing onboarding**: parrafo en `dev/playbooks/README.md` explica que es cada playbook.
- [ ] **User-facing latencia**: dispatch decision <100ms.
## Notas
(rellenas tras correr)
+7
View File
@@ -1,5 +1,12 @@
# Issues
> **Frontmatter YAML** es la fuente de verdad desde 2026-05-17 (issue 0100).
> Cada `.md` empieza con bloque `---` con `id`, `title`, `status`, `type`, `domain`, `scope`, `priority`, `depends`, `blocks`, `related`, `created`, `updated`, `tags`.
> Para listar/filtrar: `/issue list --domain trading --status pendiente` (cuando `dev_console` exista — issue 0101).
>
> Dominios canonicos: `meta cpp-stack kanban trading gamedev osint data-ingest registry-quality notify imagegen apps-infra dev-ux deploy frontend mcp browser telemetry docs`.
> La tabla debajo es vista historica (legacy) y NO se actualiza; sera sustituida por output auto-generado en issue 0102.
| ID | Título | Estado | Prioridad | Tipo | Bloquea |
|----|--------|--------|-----------|------|---------|
| 0001 | Jupyter create notebook | completado | — | feature | — |
+15
View File
@@ -1,3 +1,18 @@
---
id: "0007a"
title: "Funciones core del DAG engine"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0007a — Funciones core del DAG engine
## Metadata
@@ -1,3 +1,18 @@
---
id: "0007b"
title: "Process manager: spawn, wait, kill, status"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0007b — Process manager: spawn, wait, kill, status
## Metadata
@@ -1,3 +1,18 @@
---
id: "0007c"
title: "Execution store: persistencia de estado"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0007c — Execution store: persistencia de estado
## Metadata
+15
View File
@@ -1,3 +1,18 @@
---
id: "0007d"
title: "Scheduler: cron parser y ticker"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0007d — Scheduler: cron parser y ticker
## Metadata
@@ -1,3 +1,18 @@
---
id: "0007e"
title: "DAG executor app: CLI/TUI que reemplaza Dagu"
status: completado
type: feature
domain: []
scope: app-scoped
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0007e — DAG executor app: CLI/TUI que reemplaza Dagu
## Metadata
@@ -1,3 +1,18 @@
---
id: "0008"
title: "SQLite API Web"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0008 — SQLite API Web
## Metadata
+15
View File
@@ -1,3 +1,18 @@
---
id: "0009"
title: "HTTP Server Foundation"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0009 — HTTP Server Foundation
## Metadata
+15
View File
@@ -1,3 +1,18 @@
---
id: "0010"
title: "Auth System"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0010 — Auth System
## Metadata
@@ -1,3 +1,18 @@
---
id: "0011"
title: "WebSocket & SSE Server"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0011 — WebSocket & SSE Server
## Metadata
+15
View File
@@ -1,3 +1,18 @@
---
id: "0012"
title: "Email & SMTP"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0012 — Email & SMTP
## Metadata
@@ -1,3 +1,18 @@
---
id: "0013"
title: "Background Job Queue"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0013 — Background Job Queue
## Metadata
+15
View File
@@ -1,3 +1,18 @@
---
id: "0014"
title: "File Upload & Storage"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0014 — File Upload & Storage
## Metadata
@@ -1,3 +1,18 @@
---
id: "0015"
title: "Database Migrations"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0015 — Database Migrations
## Metadata
@@ -1,3 +1,18 @@
---
id: "0016"
title: "Rate Limiting"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0016 — Rate Limiting
## Metadata
@@ -1,3 +1,19 @@
---
id: "0017"
title: "Frontend Data Hooks"
status: completado
type: feature
domain:
- frontend
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0017 — Frontend Data Hooks
## Metadata
+15
View File
@@ -1,3 +1,18 @@
---
id: "0018"
title: "Config & Env Management"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0018 — Config & Env Management
## Metadata
@@ -1,3 +1,18 @@
---
id: "0019"
title: "Structured Logging Go"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0019 — Structured Logging Go
## Metadata
@@ -1,3 +1,18 @@
---
id: "001_jupyter_create_notebook"
title: "jupyter_write: crear notebooks nuevos"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# jupyter_write: crear notebooks nuevos
**Componente:** `python/functions/notebook/jupyter_write.py`
@@ -1,3 +1,18 @@
---
id: "0020"
title: "PDF Generation"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0020 — PDF Generation
## Metadata
@@ -1,3 +1,18 @@
---
id: "0021"
title: "CRUD Generator"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0021 — CRUD Generator
## Metadata
@@ -1,3 +1,18 @@
---
id: "0022"
title: "Init Pipelines"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0022 — Init Pipelines
## Metadata
@@ -1,3 +1,18 @@
---
id: "0023"
title: "Testing Utilities"
status: completado
type: feature
domain: []
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0023 — Testing Utilities
## Metadata
@@ -1,3 +1,18 @@
---
id: "0024"
title: "Split dashboard YAMLs por tab"
status: completado
type: feature
domain: []
scope: multi-app
priority: alta
depends: []
blocks: []
related: []
created: 2026-05-17
updated: 2026-05-17
tags: []
---
# 0024 — Split dashboard YAMLs por tab
## APP Metadata

Some files were not shown because too many files have changed in this diff Show More