fix(0120): R1+R4 del dry-run — check binary_exists + DB path correcto

R1: fn::run_app no parsea argv. Cambio self_test (--self-test inexistente)
por check estructural test -f binary. Detectado por fn-orquestador dry-run.

R4: schema real de task_runs usa task_id (no issue_id) y DB vive en
apps/deploy_server/operations.db (no agent_runner_api).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-18 22:00:11 +02:00
parent 93520c4319
commit bac5ad2b45
+7 -5
View File
@@ -42,11 +42,13 @@ e2e_checks:
- id: build
cmd: "cmake --build cpp/build/windows --target chart_demo -j"
timeout_s: 300
- id: self_test
cmd: "./cpp/build/windows/apps/chart_demo/chart_demo --self-test"
timeout_s: 30
- id: binary_exists
cmd: "test -f cpp/build/windows/apps/chart_demo/chart_demo.exe"
timeout_s: 5
```
(Inicialmente se planteo `--self-test` pero `fn::run_app` no parsea argv; el dry-run del orquestador 2026-05-18 lo detecto como R1 bloqueador. Sustituido por check estructural de binario construido. Implementar `--self-test` real es scope futuro fuera del piloto.)
## Tareas
1. Confirmar pre-condiciones del orquestador (migration 006, autonomous_protected_paths.json, gh auth, master limpio).
@@ -58,8 +60,8 @@ e2e_checks:
## Acceptance
- [ ] `sqlite3 apps/agent_runner_api/operations.db "SELECT id, status FROM task_runs WHERE issue_id='0120'"` devuelve >=1 fila con `status=done`.
- [ ] `apps/chart_demo/app.md` contiene bloque `e2e_checks:` con al menos `build` + `self_test`.
- [ ] `sqlite3 apps/deploy_server/operations.db "SELECT id, task_id, status FROM task_runs WHERE task_id LIKE '0120%'"` devuelve >=1 fila con `status=converged` (schema real: `task_id`, no `issue_id`).
- [ ] `apps/chart_demo/app.md` contiene bloque `e2e_checks:` con al menos `build` + `binary_exists`.
- [ ] `fn-analizador` corrida sobre `chart_demo` reporta `checks_pass=checks_total` (todo verde).
- [ ] PR draft existe en Gitea con branch `auto/0120-*` apuntando a `master`.
- [ ] `git -C /home/lucas/fn_registry status --short` antes/despues del piloto identico (excluyendo solo este `.md` cerrado).