docs(0120): hallazgos piloto + regla sub-repos/Gitea API en autonomous_loop
Piloto 0120 convergio en 2 iter (2m28s). PR creado en dataforge/chart_demo/pulls/1 (no en dataforge/fn_registry — sub-repo). Anadido a autonomous_loop.md: - Seccion "Sub-repos vs worktree padre": orquestador opera en sub-repo cuando issue toca apps/, projects/*/apps/, cpp/apps/ o analysis/. - Seccion "Gitea API vs gh": gh auth es smoke, real es curl + pass token. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,4 +77,33 @@ User-facing surface:
|
||||
|
||||
## Hallazgos
|
||||
|
||||
(Rellenar tras ejecucion)
|
||||
Ejecucion: 2026-05-18, `task_b3069559f34415c3`.
|
||||
|
||||
### Resultado
|
||||
|
||||
- status: **converged**
|
||||
- iteraciones: 2/5 (CONSTRUIR + ANALIZAR, sin necesidad de MEJORAR)
|
||||
- duracion: 2m 28s / 30min
|
||||
- branch: `auto/0120-chart-demo-e2e` (en sub-repo `dataforge/chart_demo`, NO en `fn_registry`)
|
||||
- PR draft: https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/dataforge/chart_demo/pulls/1
|
||||
- e2e_run: `e2e_61557e2ba1cc67ac` checks_pass=2 checks_total=2 (build 6742ms + binary_exists 1ms)
|
||||
- sanity check regla 11: baseline `git status --short` identico a post-run (sin contaminacion del main repo)
|
||||
|
||||
### Hallazgos
|
||||
|
||||
1. **Arquitectura sub-repo**: para issues `add_e2e_check` que editan `app.md`, el orquestador opera DIRECTAMENTE en el sub-repo Gitea de la app target (`dataforge/chart_demo`), NO en el worktree del repo padre. Razon: `apps/*/` esta gitignored en `fn_registry` (regla `apps_subrepo`). El worktree padre se crea por protocolo pero queda sin uso. Implicacion: PR draft sale al sub-repo, no al repo padre — humano revisa+mergea en el sub-repo.
|
||||
|
||||
2. **R3 (Gitea API) confirmado**: orquestador usa `curl + pass gitea/dataforge-git-token` para crear PR. NO usa `gh pr create`. Documentar en `autonomous_loop.md` que la pre-condicion `gh auth status` es smoke check; mecanismo real es Gitea API.
|
||||
|
||||
3. **R4 (schema task_runs) confirmado**: campos reales `id, task_id, started_at, finished_at, status, iterations, last_phase, last_run_id, branch, worktree_path, pr_url, progress_json`. Status `converged` (no `done` como dice la spec antigua de `autonomous_loop.md`). Acceptance del issue debe usar `task_id LIKE '0120%'` y `status='converged'`.
|
||||
|
||||
4. **Convergencia rapida**: 2 iter sin MEJORAR. Check `binary_exists` paso porque `chart_demo.exe` ya existia en `cpp/build/windows/` (build incremental cmake reutiliza objetos). Para apps sin binario previo, se esperaria 1 iter extra de build real.
|
||||
|
||||
5. **Paths protegidos respetados**: ni `.claude/`, ni `dev/issues/`, ni `.env*` tocados durante la run. Regla 8 verde.
|
||||
|
||||
### Siguientes pasos
|
||||
|
||||
- [ ] Revisar PR `dataforge/chart_demo/pulls/1` (humano).
|
||||
- [ ] Mergear PR a `master` del sub-repo cuando aprobado.
|
||||
- [ ] Cerrar este issue: `mv dev/issues/0120-orquestador-piloto-verde.md dev/issues/completed/`.
|
||||
- [ ] Lanzar `/autonomous-task 0121` (desbloqueado).
|
||||
|
||||
Reference in New Issue
Block a user