chore: auto-commit (129 archivos)

- .claude/agents/fn-analizador/SKILL.md
- .claude/agents/fn-constructor/SKILL.md
- .claude/agents/fn-executor/SKILL.md
- .claude/agents/fn-mejorador/SKILL.md
- .claude/agents/fn-orquestador/SKILL.md
- .claude/agents/fn-recopilador/SKILL.md
- .claude/commands/app.md
- .claude/commands/compile.md
- .claude/commands/cpp-app.md
- .claude/commands/create_functions.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-01 22:23:12 +02:00
parent dbf5b45acd
commit 7913116a8e
129 changed files with 427 additions and 422 deletions
@@ -239,7 +239,7 @@ def extract_triples_spacy_es_v2(text: str, nlp: Any, resolve_pronouns: bool = Tr
`.ipython/profile_default/startup/00_fn_registry.py` añade cada subdir de `python/functions/` al sys.path top-level. Como hay un `bigquery/datasets.py` en el registry, **shadows** el paquete `datasets` de HuggingFace que `transformers` necesita. Resultado: en cada notebook hay que aplicar un workaround:
```python
_pf = '/home/lucas/fn_registry/python/functions'
_pf = '$HOME/fn_registry/python/functions'
sys.path = [p for p in sys.path if not p.startswith(_pf + '/')]
if _pf not in sys.path: sys.path.insert(0, _pf)
```
+2 -2
View File
@@ -693,7 +693,7 @@ Eres `agent-home-wsl`, un agente operativo conectado al PC `home-wsl` del operad
por que. El operador vera la respuesta en `#home-wsl` cuando el sudo agent termine.
4. **Proyectos**: para crear un proyecto nuevo, prefiere `project.create` antes que componer
`exec mkdir + fs.write + ...`. Es mas rapido y deja entrada en `memory.projects`.
5. **Registry**: el operador mantiene un registry de funciones en /home/lucas/fn_registry. Si la tarea
5. **Registry**: el operador mantiene un registry de funciones en $HOME/fn_registry. Si la tarea
parece composicion de funciones (ETL, scraping, parsing), pregunta al operador si ya hay algo en el
registry antes de codear desde cero. (No tienes herramienta para consultar el registry directamente;
pidele al operador que ejecute `mcp__registry__fn_search` por ti).
@@ -818,7 +818,7 @@ Flujo:
3. Si operador → "delega":
- `delegate_sudo task="registrar /home/lucas/projects/scraper-precios como app en fn_registry"`.
4. sudo agent ejecuta:
- `cd /home/lucas/fn_registry && ./fn run init_some_pipeline scraper-precios ...` (o similar — depende del scaffolder).
- `cd $HOME/fn_registry && ./fn run init_some_pipeline scraper-precios ...` (o similar — depende del scaffolder).
- Cada paso = approval individual o pre-approved si operator activo `!preapprove fn-* 10m`.
Esto evita que el user agent toque `fn_registry` directamente — el registry es del operador, no del agent. El agent solo orquesta cuando le piden.
@@ -21,7 +21,7 @@ tags: []
`jupyter_discover.py` reporta el campo `analysis` incorrecto. Con Jupyter corriendo desde `analysis/estudio_mercados/`, el discover devolvió `"analysis": "estudio_embeddings"`.
El proceso real tenía `--ServerApp.root_dir=/home/lucas/fn_registry/analysis/estudio_mercados` en su cmdline, pero el discover no lo parsea.
El proceso real tenía `--ServerApp.root_dir=$HOME/fn_registry/analysis/estudio_mercados` en su cmdline, pero el discover no lo parsea.
## Solución propuesta
@@ -89,7 +89,7 @@ deferred -> Deferred
- Frontmatter mal formado (yaml invalid): card aparece con badge `parse-error` + tooltip detalle. NO crashea backend.
- Cambios concurrentes: humano edita `.md` con vim mientras agente lo PATCHea via API. Usar lock file `.md.lock` corto + retry.
- `fsnotify` no funciona bien en WSL para `/mnt/c/` paths. Backend corre en WSL, lee paths nativos (`/home/lucas/fn_registry/dev/...`). Verificar.
- `fsnotify` no funciona bien en WSL para `/mnt/c/` paths. Backend corre en WSL, lee paths nativos (`$HOME/fn_registry/dev/...`). Verificar.
- Issue / flow grandes (>500 lineas body): NO mandar full body en `/cards` (lento). Devolver solo frontmatter + primeras 5 lineas. Body completo via `/cards/<id>` on demand.
- Cards sin `status` (frontmatter incompleto): default `pendiente`.
- Reordenamiento manual: drag-and-drop en UI cambia status (cruzar columna) PERO no orden vertical persistente — no hay campo `order` en frontmatter. Decision: orden por `updated` desc dentro de cada columna.
@@ -55,7 +55,7 @@ e2e_checks:
2. Lanzar `/autonomous-task 0120 --dry-run` para audit.
3. Lanzar `/autonomous-task 0120 --max-iterations 5 --max-minutes 30`.
4. Recoger output: `task_run_id`, branch `auto/0120-*`, log de iteraciones, proposals aplicadas/skipped, URL del PR draft.
5. Verificar `git -C /home/lucas/fn_registry status --short` igual a baseline (regla 11 sandbox breach).
5. Verificar `git -C $HOME/fn_registry status --short` igual a baseline (regla 11 sandbox breach).
6. Post-mortem: si fallo en alguna iteracion, anotar en seccion `## Hallazgos` y refinar `fn-orquestador/SKILL.md` o `autonomous_loop.md` si corresponde.
## Acceptance
@@ -64,7 +64,7 @@ e2e_checks:
- [ ] `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).
- [ ] `git -C $HOME/fn_registry status --short` antes/despues del piloto identico (excluyendo solo este `.md` cerrado).
- [ ] Documento de post-mortem en `## Hallazgos` con: iteraciones totales, tiempo total, proposals creadas, decisiones del orquestador.
## DoD
@@ -69,7 +69,7 @@ Acciones tomadas:
- Clonado `apps/pipeline_launcher` desde Gitea en aurgi-pc para la investigacion; `pc_locations` pasa de `missing` a `active` tras `fn sync` futuro.
Pendiente fuera de scope:
- `apps/pipeline_launcher/go.mod` tiene `replace fn-registry => /home/lucas/fn_registry` hardcoded — el build solo funciona en home-wsl. Issue aparte si se quiere cross-PC build.
- `apps/pipeline_launcher/go.mod` tiene `replace fn-registry => $HOME/fn_registry` hardcoded — el build solo funciona en home-wsl. Issue aparte si se quiere cross-PC build.
- `fn_operations/project_template/operations.db` tiene migraciones aplicadas hasta v5, falta v6. Stale template — issue aparte.
Acceptance: