35ace544d9
Anade siete issues que definen el camino para hacer graph_explorer distribuible como binario Windows autocontenido (sin WSL): - 0032 — browser_session enrichers via Playwright (login interactivo, cookies persistentes, fetch_webpage_browser, web_search_browser). - 0033 — dispatcher multi-lenguaje (lang: go|python|bash en manifest) + runtime Python embebido en <app>/runtime/. 3 fases (A=dispatcher, B=runtime, C=UI badges). - 0033b — vendoring de funciones Python por enricher (_vendored/ + .vendor.lock) para que los enrichers no dependan de registry_root en runtime. - 0033c — fn check vendored: drift detection con --fix. - 0033d — fn index lee python_runtime / python_runtime_deps de app.md. - 0033e — /compile orquesta freeze + vendor + go builds. - 0034 — port de los 5 enrichers de sistema a Go. Reusa funciones Go del registry directamente (no copias). Tests pytest existentes pasan sin cambios. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
---
|
|
id: 0033e
|
|
title: Skill `/compile` orquesta freeze + vendor + go builds
|
|
status: pending
|
|
priority: medium
|
|
created: 2026-05-02
|
|
depends_on: [0033, 0033b, 0033d]
|
|
---
|
|
|
|
## Objetivo
|
|
|
|
Tras compilar el `.exe` Windows de un app, el skill `/compile` debe
|
|
preparar todo lo necesario para que el zip distribuible sea
|
|
self-contained.
|
|
|
|
## Pasos del skill (post-build)
|
|
|
|
```
|
|
1. Compilar .exe Windows (ya lo hace).
|
|
2. Si app.python_runtime == 1:
|
|
a. tools/freeze_python_runtime.sh <app_dir> windows
|
|
b. para cada enricher con lang: python:
|
|
tools/vendor_enricher_python.sh <enricher_dir> $(pwd)
|
|
3. Para cada enricher con lang: go:
|
|
bash <enricher_dir>/build.sh (cross-compile linux+windows)
|
|
4. Copiar arbol final a /mnt/c/Users/lucas/Desktop/apps/<app>/
|
|
incluyendo: <app>.exe, runtime/, enrichers/ con run.exe + _vendored/.
|
|
5. Verificar layout: smoke check que <app>.exe + runtime/python/python.exe
|
|
+ enrichers/*/run.exe existen.
|
|
```
|
|
|
|
## Cambios
|
|
|
|
Editar el skill `~/.claude/plugins/<plugin>/compile/skill.md` (o
|
|
donde viva el `/compile`) para anadir los pasos 2-5. Si el skill ya
|
|
copia archivos, extender la lista; si no, anadir el bloque entero.
|
|
|
|
## Test manual
|
|
|
|
Tras un `/compile` limpio:
|
|
|
|
```bash
|
|
ls /mnt/c/Users/lucas/Desktop/apps/graph_explorer/
|
|
# Esperado:
|
|
# graph_explorer.exe
|
|
# runtime/python/python.exe
|
|
# enrichers/extract_domain/run.exe (Go)
|
|
# enrichers/web_search/run.py + _vendored/ (Python custom, ej.)
|
|
# ...
|
|
```
|
|
|
|
Y desde Windows (no WSL): doble click en `graph_explorer.exe`,
|
|
arrancar Echo, ejecutar `web_search` sobre un nodo text. Debe
|
|
funcionar sin que WSL este corriendo.
|
|
|
|
## Definicion de hecho
|
|
|
|
- `/compile` (o equivalente) ejecuta los 5 pasos sin intervencion
|
|
manual.
|
|
- Un PC Windows limpio (sin WSL) corre la app desde el zip
|
|
copiado a Desktop.
|