feat(0121a): wave 2 e2e_checks proposals (8 apps) + README updated
8 fn-recopilador design-e2e paralelos: - services_api (Go service, schema custom operations.db) - registry_mcp (Go stdio MCP, JSON-RPC handshake test) - sqlite_api (Go service read-only HTTP, query_endpoint) - registry_dashboard (C++ ImGui, NO Go+React como yo supuse) - primitives_gallery (C++ build gate de toda API C++ del registry, 44 .cpp) - pipeline_launcher (Go TUI bubbletea) - docker_tui (Go TUI + go-duckdb) - fn_match (subcmd ./fn, hook helper, fuzzy match) 13/26 apps cubiertas. README documenta: - 6 bugs/drift descubiertos lateral (dag_engine x3, deploy_server, pipeline_launcher, docker_tui). - 3 correcciones de mi prompt (yo asumi stacks incorrectos). - Hallazgos arquitectonicos (primitives_gallery = build gate C++). Pendiente wave 3 (13 apps) + 0121b + 0121c. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
# Propuestas e2e_checks — issue 0121a
|
||||
|
||||
Generadas por `fn-recopilador design-e2e` en wave 1, 2026-05-19.
|
||||
Generadas por `fn-recopilador design-e2e` paralelo, 2026-05-19.
|
||||
|
||||
## Estado
|
||||
## Estado (13/26 apps cubiertas)
|
||||
|
||||
### Wave 1 (5 apps)
|
||||
|
||||
| App | YAML | Lang | Stack | Checks | Severidad mix | Estado |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -12,27 +14,64 @@ Generadas por `fn-recopilador design-e2e` en wave 1, 2026-05-19.
|
||||
| auto_metabase | [auto_metabase.yaml](auto_metabase.yaml) | py | httpx + CLI argparse | 4 | critical | propuesta |
|
||||
| dag_engine | [dag_engine.yaml](dag_engine.yaml) | go | net/http + vite/react + CGO+FTS5 | 6 | 5 critical + 1 warning | propuesta |
|
||||
|
||||
## Advertencias detectadas (laterales al objetivo)
|
||||
### Wave 2 (8 apps)
|
||||
|
||||
| App | YAML | Lang | Stack | Checks | Severidad mix | Estado |
|
||||
|---|---|---|---|---|---|---|
|
||||
| services_api | [services_api.yaml](services_api.yaml) | go | net/http + SSH cross-PC + sqlite custom schema | 6 | 3 critical + 3 warning | propuesta |
|
||||
| registry_mcp | [registry_mcp.yaml](registry_mcp.yaml) | go | mcp-go stdio + CGO+FTS5 | 5 | 4 critical + 1 warning | propuesta |
|
||||
| sqlite_api | [sqlite_api.yaml](sqlite_api.yaml) | go | net/http read-only + CGO+FTS5 | 7 | 4 critical + 2 warning + 1 (auth WIP) | propuesta |
|
||||
| registry_dashboard | [registry_dashboard.yaml](registry_dashboard.yaml) | cpp | imgui + cpp-httplib + WS RFC6455 | 7 | 3 critical + 4 warning | propuesta |
|
||||
| primitives_gallery | [primitives_gallery.yaml](primitives_gallery.yaml) | cpp | imgui + 44 .cpp registry (build gate de toda API C++) | 6 | 2 critical + 4 warning | propuesta |
|
||||
| pipeline_launcher | [pipeline_launcher.yaml](pipeline_launcher.yaml) | go | bubbletea TUI + CGO+FTS5 | 5 | 3 critical + 2 warning | propuesta |
|
||||
| docker_tui | [docker_tui.yaml](docker_tui.yaml) | go | bubbletea TUI + go-duckdb + docker CLI | 6 | 3 critical + 3 warning | propuesta |
|
||||
| fn_match | [fn_match.yaml](fn_match.yaml) | go | subcmd de ./fn + FTS5 fuzzy match (hook helper) | 5 | 2 critical + 3 warning | propuesta |
|
||||
|
||||
## Wave 3 (13 apps restantes, pendiente)
|
||||
|
||||
apps/:
|
||||
- altsnap_jitter_test, app_gestion, app_hub_launcher, footprint_geo_stack, metabase_registry, script_navegador, services_monitor, set_exe_icon, tables_qa, text_editor_smoke
|
||||
|
||||
projects/*/apps/:
|
||||
- element_agents/apps/element_matrix_chat, element_agents/apps/agents_and_robots, online_data_recopilation/apps/odr_console
|
||||
|
||||
## Advertencias detectadas (laterales)
|
||||
|
||||
### Bugs/drift descubiertos durante design-e2e
|
||||
|
||||
- **dag_engine** — `apps/dag_engine/registry.db` (262 KB) viola `db_locations.md` (registry.db SOLO en raiz). Reaparicio tras borrado de 2026-05-16. Issue separado pendiente.
|
||||
- **dag_engine** — `pnpm build` roto por Mantine API drift (`StepTimeline.tsx:49` + `main.tsx:1`). Check `build_frontend` queda en `severity: warning` hasta arreglar.
|
||||
- **dag_engine** — falta flag `--migrate-only` en binario. Check `migrations_apply` usa `list` como proxy.
|
||||
- **deploy_server** — flag `--db` no expuesto en `cmdServe`. Check smoke usa BD por defecto del cwd hasta arreglar.
|
||||
- **pipeline_launcher** — migracion `003_logs` falta en `operations.db`. Detectada por recopilador via PRAGMA table_info.
|
||||
- **docker_tui** — `go.work` con path absoluto `/home/lucas/.local_agentes/backend` → build no portable. Check `build` queda en `severity: warning`.
|
||||
|
||||
### Correcciones de stack en mis prompts (telemetria para mi)
|
||||
|
||||
- **sqlite_api**: yo asumi Python, era Go. Recopilador corrigio.
|
||||
- **registry_dashboard**: yo asumi Go+React+Vite, era C++ ImGui puro (cliente HTTP+WS). Recopilador corrigio + adapto checks.
|
||||
- **fn_match**: yo asumi binario propio, es subcomando de `./fn`. Recopilador corrigio.
|
||||
|
||||
## Hallazgos arquitectonicos
|
||||
|
||||
- **primitives_gallery** es build gate de toda la API C++ del registry: 44 .cpp linkados (gfx + viz + core + 3d + sql + ...). Si una funcion C++ rompe su cabecera, falla aqui primero. Considerar moverlo a un job critico de CI.
|
||||
- **services_api** usa schema custom en operations.db (no fn_operations standard: `service_state` + `service_transition`). `ops_audit` debe manejar schemas custom.
|
||||
- **registry_mcp** test `mcp_handshake_stdio` arranca pipes in-process — replica el JSON-RPC que Claude Code usa al arrancar. Es el check de mayor valor por linea del wave 2.
|
||||
|
||||
## Siguiente paso
|
||||
|
||||
Wave 2 (16 apps restantes): app_gestion, app_hub_launcher, altsnap_jitter_test, docker_tui, fn_match, footprint_geo_stack, metabase_registry, pipeline_launcher, primitives_gallery, registry_mcp, script_navegador, services_api, services_monitor, set_exe_icon, tables_qa, text_editor_smoke + 5 en projects/*/apps (element_matrix_chat, agents_and_robots, sqlite_api, registry_dashboard, odr_console).
|
||||
Wave 3 (13 apps restantes) → completar coverage propuestas.
|
||||
|
||||
Tras todas las propuestas → ejecutar 0121c: `/autonomous-task` por app aplicando el bloque al `app.md` correspondiente del sub-repo.
|
||||
Despues:
|
||||
- 0121b (`fn doctor e2e-coverage` via /autonomous-task tipo feature_app_simple) — apto para `/autopilot`.
|
||||
- 0121c (aplicar propuestas: N /autonomous-task add_e2e_check) — paraleliza sub-repos.
|
||||
|
||||
## Como aplicar manualmente (sin orquestador)
|
||||
|
||||
```bash
|
||||
# Editar el app.md del target
|
||||
cd apps/<app>
|
||||
# Pegar el bloque e2e_checks: del yaml al frontmatter
|
||||
# Pegar el bloque e2e_checks: del yaml al frontmatter de app.md
|
||||
$EDITOR app.md
|
||||
# Commit en sub-repo
|
||||
git add app.md && git commit -m "feat: add e2e_checks (issue 0121)"
|
||||
git push
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user