Files
fn_registry/dev/issues/0126-pipeline-launcher-migration-003.md
T
egutierrez 980f8807a9 docs(issues): 4 issues de deuda detectada lateral en 0121a
Origen: fn-recopilador design-e2e descubrio 6 bugs durante el design
de propuestas e2e_checks. Agrupados en 4 issues:

- 0124 EPIC dag_engine cleanup (registry.db huerfana + Mantine drift
       + --migrate-only flag — 3 sub-tareas)
- 0125 deploy_server: anadir --db a cmdServe
- 0126 pipeline_launcher: aplicar migracion 003_logs
- 0127 docker_tui: go.work path absoluto rompe portabilidad

Todos relacionados con 0121a. Pueden ser candidatos a /autonomous-task
o /autopilot dependiendo del scope.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 01:36:53 +02:00

54 lines
2.1 KiB
Markdown

---
id: "0126"
title: "pipeline_launcher: aplicar migracion 003_logs a operations.db"
status: pendiente
type: bugfix
domain:
- apps-infra
scope: app
priority: baja
depends: []
blocks: []
related:
- "0121a"
created: 2026-05-19
updated: 2026-05-19
tags: [pipeline_launcher, migrations, db]
---
# 0126 — pipeline_launcher migracion 003_logs
Origen: detectado lateral por `fn-recopilador design-e2e apps/pipeline_launcher` en 0121a.
## Problema
`apps/pipeline_launcher/operations.db` tiene migraciones 001+002 aplicadas pero falta 003_logs (definida en `fn_operations/migrations/003_logs.sql`). La tabla `logs` no existe → cualquier feature futuro de logging in-app falla silencioso.
Investigacion necesaria: por que no aplico? Probable que pipeline_launcher use version vieja del codigo `fn_operations` o tenga su propio applier que no lee la migracion 003.
## Decision
1. Diagnosticar por que 003 no aplico (busca `applyMigrations` en codigo de pipeline_launcher o si usa la libreria `fn_operations`).
2. Aplicar 003 a la BD existente preservando datos.
3. Si pipeline_launcher tiene applier custom, hacerlo consumir las migraciones del registry padre via `embed.FS`.
## Tareas
1. Inspeccionar `apps/pipeline_launcher/{main.go, db.go, store.go}` para localizar applier.
2. Aplicar `003_logs.sql` manualmente: `sqlite3 apps/pipeline_launcher/operations.db < fn_operations/migrations/003_logs.sql`.
3. Si custom applier: refactor para consumir migraciones del padre.
4. Verificar con `PRAGMA table_info(logs);` que la tabla existe.
5. Actualizar propuesta 0121a `pipeline_launcher.yaml` removiendo check `ops_schema_complete` (ya no aplica).
## Acceptance
- [ ] `sqlite3 apps/pipeline_launcher/operations.db "PRAGMA table_info(logs);"` devuelve columnas esperadas.
- [ ] Reaplicar 003 sobre BD ya migrada NO falla (idempotente — `CREATE TABLE IF NOT EXISTS`).
- [ ] Tests de pipeline_launcher pasan (si existen).
## DoD
- **Donde**: sqlite3 introspeccion + log de la app si tiene.
- **Latencia**: invisible al usuario.
- **Onboarding**: "Si una app tiene operations.db, las migraciones del registry padre se aplican al arrancar — verificar con `PRAGMA table_info`."